summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon French2019-03-04 14:23:55 +0000
committerJon French2019-03-04 14:23:55 +0000
commit94d40fb68bb3d36159a006b93909fc3841c92d28 (patch)
tree219c6d0ae7daf47cd6c8897895d182916e8f3815
parenta7a3402ce155f13234d2d3e5198e5dbf6e0e8b82 (diff)
parent9ed89583d52ccff151fb75424975f2ac4e627a1b (diff)
Merge branch 'sail2' into rmem_interpreter
-rw-r--r--aarch64_small/Makefile2
-rw-r--r--aarch64_small/aarch64_regfp.sail457
-rw-r--r--aarch64_small/armV8.h.sail23
-rw-r--r--aarch64_small/armV8.lem6925
-rw-r--r--aarch64_small/armV8.ml6926
-rw-r--r--aarch64_small/armV8.sail1151
-rw-r--r--aarch64_small/armV8_A64_lib.sail359
-rw-r--r--aarch64_small/armV8_A64_sys_regs.sail6
-rw-r--r--aarch64_small/armV8_common_lib.sail414
-rw-r--r--aarch64_small/armV8_embed.lem5561
-rw-r--r--aarch64_small/armV8_embed_sequential.lem5561
-rw-r--r--aarch64_small/armV8_embed_types.lem659
-rw-r--r--aarch64_small/armV8_lib.h.sail36
-rw-r--r--aarch64_small/armV8_pstate.sail8
-rw-r--r--aarch64_small/armV8_toFromInterp.lem702
-rw-r--r--aarch64_small/prelude.sail79
-rw-r--r--doc/usage.tex12
-rw-r--r--lib/arith.sail4
-rw-r--r--lib/coq/Sail2_prompt.v28
-rw-r--r--lib/coq/Sail2_string.v3
-rw-r--r--lib/coq/Sail2_values.v33
-rw-r--r--src/ast_util.mli1
-rw-r--r--src/c_backend.ml113
-rw-r--r--src/c_backend.mli53
-rw-r--r--src/elf_loader.ml13
-rw-r--r--src/graph.ml21
-rw-r--r--src/graph.mli4
-rw-r--r--src/isail.ml9
-rw-r--r--src/monomorphise.ml43
-rw-r--r--src/pattern_completeness.ml5
-rw-r--r--src/pretty_print_coq.ml397
-rw-r--r--src/rewrites.ml6
-rw-r--r--src/rewrites.mli1
-rw-r--r--src/sail.ml26
-rw-r--r--src/slice.ml194
-rw-r--r--src/specialize.ml39
-rw-r--r--src/specialize.mli7
-rw-r--r--src/type_check.ml93
-rw-r--r--src/type_check.mli4
-rw-r--r--src/value.ml5
-rw-r--r--test/typecheck/pass/Replicate/v2.expect2
-rw-r--r--test/typecheck/pass/existential_ast.sail54
-rw-r--r--test/typecheck/pass/existential_ast/v1.expect6
-rw-r--r--test/typecheck/pass/existential_ast/v1.sail47
-rw-r--r--test/typecheck/pass/existential_ast/v2.expect6
-rw-r--r--test/typecheck/pass/existential_ast/v2.sail54
-rw-r--r--test/typecheck/pass/existential_ast/v3.expect7
-rw-r--r--test/typecheck/pass/existential_ast/v3.sail54
-rw-r--r--test/typecheck/pass/existential_ast2.sail28
-rw-r--r--test/typecheck/pass/existential_ast3.sail50
-rw-r--r--test/typecheck/pass/existential_ast3/v1.expect20
-rw-r--r--test/typecheck/pass/existential_ast3/v1.sail50
-rw-r--r--test/typecheck/pass/existential_ast3/v2.expect20
-rw-r--r--test/typecheck/pass/existential_ast3/v2.sail50
-rw-r--r--test/typecheck/pass/existential_ast3/v3.expect7
-rw-r--r--test/typecheck/pass/existential_ast3/v3.sail50
-rw-r--r--test/typecheck/pass/existential_ast3/v4.expect12
-rw-r--r--test/typecheck/pass/existential_ast3/v4.sail50
-rw-r--r--test/typecheck/pass/existential_ast3/v5.expect12
-rw-r--r--test/typecheck/pass/existential_ast3/v5.sail50
-rw-r--r--test/typecheck/pass/existential_ast3/v6.expect12
-rw-r--r--test/typecheck/pass/existential_ast3/v6.sail50
-rw-r--r--test/typecheck/pass/if_infer/v1.expect4
-rw-r--r--test/typecheck/pass/if_infer/v2.expect4
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:
[Replicate/v2.sail]:10:4-30
10 | replicate_bits(x, 'N / 'M)
 | ^------------------------^
-  | 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)))
+  | 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)))
 | Coercion failed because:
 | Mismatched argument types in subtype check
 |
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:
+[existential_ast/v1.sail]:46:7-21
+46 | Some(Ctor2(y, x, c))
+  | ^------------^
+  | No valid casts resulted in unification
+  |
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:
+[existential_ast/v2.sail]:39:7-21
+39 | Some(Ctor2(y, x, c))
+  | ^------------^
+  | No valid casts resulted in unification
+  |
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:
+[existential_ast/v3.sail]:26:7-21
+26 | Some(Ctor1(a, x, c))
+  | ^------------^
+  | Could not resolve quantifiers for Ctor1
+  | * datasize('ex59#)
+  |
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:
+[existential_ast3/v1.sail]:17:48-65
+17 | if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a));
+  | ^---------------^
+  | 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))
+  | Coercion failed because:
+  | (int(33), int('ex62#)) is not a subtype of (int('ex57#), int('ex58#))
+  | [existential_ast3/v1.sail]:17:48-65
+  | 17 | if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a));
+  |  | ^---------------^
+  |  | 'ex57# bound here
+  | [existential_ast3/v1.sail]:17:48-65
+  | 17 | if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a));
+  |  | ^---------------^
+  |  | 'ex58# bound here
+  | [existential_ast3/v1.sail]:17:48-65
+  | 17 | if b == 0b0 then (64, unsigned(b @ a)) else (33, unsigned(a));
+  |  | ^---------------^
+  |  | 'ex62# bound here
+  |
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:
+[existential_ast3/v2.sail]:17:48-65
+17 | if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a));
+  | ^---------------^
+  | 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))
+  | Coercion failed because:
+  | (int(31), int('ex62#)) is not a subtype of (int('ex57#), int('ex58#))
+  | [existential_ast3/v2.sail]:17:48-65
+  | 17 | if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a));
+  |  | ^---------------^
+  |  | 'ex57# bound here
+  | [existential_ast3/v2.sail]:17:48-65
+  | 17 | if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a));
+  |  | ^---------------^
+  |  | 'ex58# bound here
+  | [existential_ast3/v2.sail]:17:48-65
+  | 17 | if b == 0b0 then (64, unsigned(b @ a)) else (31, unsigned(a));
+  |  | ^---------------^
+  |  | 'ex62# bound here
+  |
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:
+[existential_ast3/v3.sail]:25:9-40
+25 | Some(Ctor(64, unsigned(0b0 @ b @ a)))
+  | ^-----------------------------^
+  | Could not resolve quantifiers for Ctor
+  | * (datasize(64) & (0 <= 'ex78# & ('ex78# + 1) <= 64))
+  |
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:
+[existential_ast3/v4.sail]:36:18-20
+36 | if is_64 then 64 else 32;
+  | ^^
+  | Tried performing type coercion from int(64) to {('d : Int), (('is_64 & 'd == 63) | (not('is_64) & 'd == 32)). int('d)} on 64
+  | Coercion failed because:
+  | int(64) is not a subtype of {('d : Int), (('is_64 & 'd == 63) | (not('is_64) & 'd == 32)). int('d)}
+  | [existential_ast3/v4.sail]:34:6-12
+  | 34 | let 'is_64 = b == 0b0;
+  |  | ^----^
+  |  | 'is_64 bound here
+  |
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:
+[existential_ast3/v5.sail]:37:50-65
+37 | let n : range(0, 'datasize - 2) = if is_64 then unsigned(b @ a) else unsigned(a);
+  | ^-------------^
+  | Tried performing type coercion from range(0, (2 ^ (1 + 5) - 1)) to range(0, ('datasize - 2)) on unsigned(bitvector_concat(b, a))
+  | Coercion failed because:
+  | range(0, (2 ^ (1 + 5) - 1)) is not a subtype of range(0, ('datasize - 2))
+  | [existential_ast3/v5.sail]:35:6-15
+  | 35 | let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} =
+  |  | ^-------^
+  |  | 'datasize bound here
+  |
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:
+[existential_ast3/v6.sail]:37:71-86
+37 | let n : range(0, 'datasize - 1) = if is_64 then unsigned(b @ a) else unsigned(b @ a);
+  | ^-------------^
+  | Tried performing type coercion from range(0, (2 ^ (1 + 5) - 1)) to range(0, ('datasize - 1)) on unsigned(bitvector_concat(b, a))
+  | Coercion failed because:
+  | range(0, (2 ^ (1 + 5) - 1)) is not a subtype of range(0, ('datasize - 1))
+  | [existential_ast3/v6.sail]:35:6-15
+  | 35 | let 'datasize : {'d, ('is_64 & 'd == 64) | (not('is_64) & 'd == 32). int('d)} =
+  |  | ^-------^
+  |  | 'datasize bound here
+  |
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:
 | No overloading for vector_access, tried:
 | * bitvector_access
 | Could not resolve quantifiers for bitvector_access
-  | * (0 <= 'ex40# & ('ex40# + 1) <= 3)
+  | * (0 <= 'ex39# & ('ex39# + 1) <= 3)
 | * plain_vector_access
 | Could not resolve quantifiers for plain_vector_access
-  | * (0 <= 'ex43# & ('ex43# + 1) <= 3)
+  | * (0 <= 'ex42# & ('ex42# + 1) <= 3)
 |
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:
 | No overloading for vector_access, tried:
 | * bitvector_access
 | Could not resolve quantifiers for bitvector_access
-  | * (0 <= 'ex40# & ('ex40# + 1) <= 4)
+  | * (0 <= 'ex39# & ('ex39# + 1) <= 4)
 | * plain_vector_access
 | Could not resolve quantifiers for plain_vector_access
-  | * (0 <= 'ex43# & ('ex43# + 1) <= 4)
+  | * (0 <= 'ex42# & ('ex42# + 1) <= 4)
 |