aboutsummaryrefslogtreecommitdiff
path: root/generated_definitions
diff options
context:
space:
mode:
authorpes20 <Peter.Sewell@cl.cam.ac.uk>2020-01-01 12:06:53 +0000
committerpes20 <Peter.Sewell@cl.cam.ac.uk>2020-01-01 12:06:53 +0000
commit0d31660b6a001e2dc5617f1fdcc71ea85bac4ced (patch)
treeac5fc91cc1376d67af93a2cc461feca21532400b /generated_definitions
parent21c306d80bb0a4fe521eff9ee6bfa9300c4187df (diff)
downloadsail-riscv-0d31660b6a001e2dc5617f1fdcc71ea85bac4ced.zip
sail-riscv-0d31660b6a001e2dc5617f1fdcc71ea85bac4ced.tar.gz
sail-riscv-0d31660b6a001e2dc5617f1fdcc71ea85bac4ced.tar.bz2
pp tinkering - update snapshot
Diffstat (limited to 'generated_definitions')
-rw-r--r--generated_definitions/ast/riscv-ast-raw.txt2
1 files changed, 1 insertions, 1 deletions
diff --git a/generated_definitions/ast/riscv-ast-raw.txt b/generated_definitions/ast/riscv-ast-raw.txt
index 3a34ad8..cd646d4 100644
--- a/generated_definitions/ast/riscv-ast-raw.txt
+++ b/generated_definitions/ast/riscv-ast-raw.txt
@@ -1 +1 @@
-Defs([(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_default(DT_aux(DT_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("abs_int"),TODO: pp-raw l),[(Id_aux(Id("abs_int_atom"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_option"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_none"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_some"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("eq_unit"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_int"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_bool"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),TODO: pp-raw l),[(Id_aux(Id("eq_int"),TODO: pp-raw l));(Id_aux(Id("eq_bit"),TODO: pp-raw l));(Id_aux(Id("eq_bool"),TODO: pp-raw l));(Id_aux(Id("eq_unit"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("!="),TODO: pp-raw l),[(Id_aux(Id("neq_int"),TODO: pp-raw l));(Id_aux(Id("neq_bool"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("|"),TODO: pp-raw l),[(Id_aux(Id("or_bool"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("&"),TODO: pp-raw l),[(Id_aux(Id("and_bool"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("<="),TODO: pp-raw l),[(Id_aux(Id("lteq_int"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("<"),TODO: pp-raw l),[(Id_aux(Id("lt_int"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator(">="),TODO: pp-raw l),[(Id_aux(Id("gteq_int"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator(">"),TODO: pp-raw l),[(Id_aux(Id("gt_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("atom"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("__id"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("__size"),TODO: pp-raw l),[(Id_aux(Id("__id"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("+"),TODO: pp-raw l),[(Id_aux(Id("add_atom"),TODO: pp-raw l));(Id_aux(Id("add_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("-"),TODO: pp-raw l),[(Id_aux(Id("sub_atom"),TODO: pp-raw l));(Id_aux(Id("sub_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("negate"),TODO: pp-raw l),[(Id_aux(Id("negate_atom"),TODO: pp-raw l));(Id_aux(Id("negate_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("*"),TODO: pp-raw l),[(Id_aux(Id("mult_atom"),TODO: pp-raw l));(Id_aux(Id("mult_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("shl_int"),TODO: pp-raw l),[(Id_aux(Id("_shl8"),TODO: pp-raw l));(Id_aux(Id("_shl32"),TODO: pp-raw l));(Id_aux(Id("_shl_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("shr_int"),TODO: pp-raw l),[(Id_aux(Id("_shr32"),TODO: pp-raw l));(Id_aux(Id("_shr_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("abs_int"),TODO: pp-raw l),[(Id_aux(Id("abs_int_plain"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),TODO: pp-raw l),[(Id_aux(Id("eq_string"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("concat_str_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("concat_str_dec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),TODO: pp-raw l),[(Id_aux(Id("eq_bit"),TODO: pp-raw l));(Id_aux(Id("eq_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Operator("!="),TODO: pp-raw l),[(Id_aux(Id("neq_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("length"),TODO: pp-raw l),[(Id_aux(Id("bitvector_length"),TODO: pp-raw l));(Id_aux(Id("vector_length"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sail_mask"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Operator("^"),TODO: pp-raw l),[(Id_aux(Id("sail_mask"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("append"),TODO: pp-raw l),[(Id_aux(Id("bitvector_concat"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("vector_access"),TODO: pp-raw l),[(Id_aux(Id("bitvector_access"),TODO: pp-raw l));(Id_aux(Id("plain_vector_access"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("vector_update"),TODO: pp-raw l),[(Id_aux(Id("bitvector_update"),TODO: pp-raw l));(Id_aux(Id("plain_vector_update"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("+"),TODO: pp-raw l),[(Id_aux(Id("add_bits"),TODO: pp-raw l));(Id_aux(Id("add_bits_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("&"),TODO: pp-raw l),[(Id_aux(Id("and_vec"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("|"),TODO: pp-raw l),[(Id_aux(Id("or_vec"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sail_ones"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("slice_mask"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("__size"),TODO: pp-raw l),[(Id_aux(Id("__id"),TODO: pp-raw l));(Id_aux(Id("bitvector_length"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_regfp"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_niafp"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_diafp"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("read_kind_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_read_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_read_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_kind_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_write_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_write_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("a64_barrier_domain_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_a64_barrier_domain"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_a64_barrier_domain"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("a64_barrier_type_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_a64_barrier_type"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_a64_barrier_type"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_barrier_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("trans_kind_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_trans_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_trans_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("cache_op_kind_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_cache_op_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_cache_op_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_instruction_kind"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),TODO: pp-raw l),[(Id_aux(Id("eq_string"),TODO: pp-raw l));(Id_aux(Id("eq_anything"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("vector_update"),TODO: pp-raw l),[(Id_aux(Id("any_vector_update"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("append"),TODO: pp-raw l),[(Id_aux(Id("vector_concat"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("~"),TODO: pp-raw l),[(Id_aux(Id("not_bool"),TODO: pp-raw l));(Id_aux(Id("not_vec"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_vec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_anything"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Operator("!="),TODO: pp-raw l),[(Id_aux(Id("neq_vec"),TODO: pp-raw l));(Id_aux(Id("neq_anything"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("&"),TODO: pp-raw l),[(Id_aux(Id("and_vec"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("|"),TODO: pp-raw l),[(Id_aux(Id("or_vec"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("string_of_bit"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("BitStr"),TODO: pp-raw l),[(Id_aux(Id("string_of_bits"),TODO: pp-raw l));(Id_aux(Id("string_of_bit"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("^"),TODO: pp-raw l),[(Id_aux(Id("xor_vec"),TODO: pp-raw l));(Id_aux(Id("int_power"),TODO: pp-raw l));(Id_aux(Id("concat_str"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("-"),TODO: pp-raw l),[(Id_aux(Id("sub_vec"),TODO: pp-raw l));(Id_aux(Id("sub_vec_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("%"),TODO: pp-raw l),[(Id_aux(Id("emod_int"),TODO: pp-raw l));(Id_aux(Id("mod"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("min"),TODO: pp-raw l),[(Id_aux(Id("min_nat"),TODO: pp-raw l));(Id_aux(Id("min_int"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("max"),TODO: pp-raw l),[(Id_aux(Id("max_nat"),TODO: pp-raw l));(Id_aux(Id("max_int"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_instr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_reg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_mem"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_platform"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("EXTS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("EXTZ"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("zeros_implicit"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("zeros"),TODO: pp-raw l),[(Id_aux(Id("zeros_implicit"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ones"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("bool_to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("bit_to_bool"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fixity(Infix,4,Id_aux(Id("<_s"),TODO: pp-raw l)));(DEF_fixity(Infix,4,Id_aux(Id(">=_s"),TODO: pp-raw l)));(DEF_fixity(Infix,4,Id_aux(Id("<_u"),TODO: pp-raw l)));(DEF_fixity(Infix,4,Id_aux(Id(">=_u"),TODO: pp-raw l)));(DEF_fixity(Infix,4,Id_aux(Id("<=_u"),TODO: pp-raw l)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Operator("<_s"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Operator(">=_s"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Operator("<_u"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Operator(">=_u"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Operator("<=_u"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fixity(Infix,7,Id_aux(Id(">>"),TODO: pp-raw l)));(DEF_fixity(Infix,7,Id_aux(Id("<<"),TODO: pp-raw l)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator(">>"),TODO: pp-raw l),[(Id_aux(Id("shift_bits_right"),TODO: pp-raw l));(Id_aux(Id("shiftr"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Operator("<<"),TODO: pp-raw l),[(Id_aux(Id("shift_bits_left"),TODO: pp-raw l));(Id_aux(Id("shiftl"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("shift_right_arith64"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("shift_right_arith32"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("n_leading_spaces"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("spc_forwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("spc_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("spc_matches_prefix"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("opt_spc_forwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("opt_spc_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("opt_spc_matches_prefix"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("def_spc_forwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("def_spc_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("def_spc_matches_prefix"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_1_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_1_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_1_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_2_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_2_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_2_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_3_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_3_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_3_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_4_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_4_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_4_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_5_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_5_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_5_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_6_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_6_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_6_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_7_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_7_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_7_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_8_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_8_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_8_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_9_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_9_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_9_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_10_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_10_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_10_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_11_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_11_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_11_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_12_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_12_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_12_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_13_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_13_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_13_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_14_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_14_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_14_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_15_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_15_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_15_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_16_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_16_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_16_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_17_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_17_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_17_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_18_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_18_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_18_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_19_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_19_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_19_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_20_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_20_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_20_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_21_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_21_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_21_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_22_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_22_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_22_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_23_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_23_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_23_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_24_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_24_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_24_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_25_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_25_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_25_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_26_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_26_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_26_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_27_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_27_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_27_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_28_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_28_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_28_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_29_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_29_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_29_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_30_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_30_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_30_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_31_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_31_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_31_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_32_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_32_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_32_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_33_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_33_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_33_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_48_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_48_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_48_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_64_forwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_64_backwards_matches"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_64_backwards"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("default_meta"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("__WriteRAM_Meta"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("__ReadRAM_Meta"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_ram"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_ram_ea"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("read_ram"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(TODO:pp-raw type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("ext_ptw"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("init_ext_ptw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("ext_exc_type"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_translate_exception"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_val"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_max_unsigned"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("sub_atom"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("pow2"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(1),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_max_signed"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("sub_atom"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("pow2"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("sub_atom"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(1),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(1),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_min_signed"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("sub_atom"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(0),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("pow2"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("sub_atom"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(1),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("regidx_to_regno"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("creg2reg_idx"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("ra"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_bin("00001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("sp"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_bin("00010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Architecture_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_Architecture"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Architecture"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("Architecture"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("architecture"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("arch_to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Privilege_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_Privilege"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Privilege"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("privLevel_to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("privLevel_of_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("privLevel_to_str"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("to_str"),TODO: pp-raw l),[(Id_aux(Id("privLevel_to_str"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Retired_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_Retired"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Retired"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_AccessType"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("word_width_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_word_width"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_word_width"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("InterruptType_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_InterruptType"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_InterruptType"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("interruptType_to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ExceptionType"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exceptionType_to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_ExceptionType"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exceptionType_to_str"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("to_str"),TODO: pp-raw l),[(Id_aux(Id("exceptionType_to_str"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_exception"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("not_implemented"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("internal_error"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("TrapVectorMode_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_TrapVectorMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_TrapVectorMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("trapVectorMode_of_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ExtStatus_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_ExtStatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ExtStatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("extStatus_to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("extStatus_of_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("SATPMode_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_SATPMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SATPMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("SATPMode"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("satp64Mode_of_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("uop_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_uop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_uop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("bop_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_bop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_bop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("iop_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_iop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_iop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sop_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_sop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_sop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rop_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_rop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_rop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ropw_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_ropw"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ropw"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sopw_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_sopw"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_sopw"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("amoop_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_amoop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_amoop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csrop_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_csrop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_csrop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("sep"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("opt_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string(","),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("def_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bool_bits"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bool_not_bits"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("size_bits"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("word_width"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("BYTE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("HALF"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("WORD"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("DOUBLE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("size_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("word_width"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("BYTE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("b"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("HALF"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("h"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("WORD"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("w"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("DOUBLE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("d"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("ext_access_type"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("Data"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("ext_access_type"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("default_write_acc"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_id(Id_aux(Id("Data"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("accessType_to_str"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("to_str"),TODO: pp-raw l),[(Id_aux(Id("accessType_to_str"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("zero_reg"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("EXTZ"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_hex("0"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("RegStr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("regval_from_reg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("regval_into_reg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("PC"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("nextPC"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("instbits"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("vector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("Xs"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x1"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x2"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x3"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x4"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x5"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x6"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x7"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x8"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x9"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x10"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x11"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x12"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x13"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x14"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x15"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x16"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x17"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x18"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x19"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x20"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x21"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x22"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x23"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x24"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x25"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x26"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x27"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x28"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x29"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x30"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("regtype"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("x31"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rX"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_wX"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("wX"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rX_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("wX_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("X"),TODO: pp-raw l),[(Id_aux(Id("rX_bits"),TODO: pp-raw l));(Id_aux(Id("wX_bits"),TODO: pp-raw l));(Id_aux(Id("rX"),TODO: pp-raw l));(Id_aux(Id("wX"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("reg_name_abi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("to_str"),TODO: pp-raw l),[(Id_aux(Id("reg_name_abi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("reg_name"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("zero"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ra"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sp"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00011"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("gp"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tp"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00110"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fp"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01011"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01110"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a4"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a5"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a6"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a7"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10011"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s4"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s5"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10110"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s6"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s7"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s8"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s9"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s10"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11011"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s11"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t4"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11110"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t5"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t6"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("creg_name"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("110"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a4"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a5"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_base_regs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_arch_pc"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_next_pc"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_next_pc"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tick_pc"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Privilege"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("cur_privilege"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("cur_inst"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Misa"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Misa"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_MXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_MXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_MXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MXL"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_MXL"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MXL"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_MXL"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_MXL"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_Z"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_Z"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_Z"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Z"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_Z"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Z"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_Z"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_Z"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_Y"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_Y"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_Y"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Y"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_Y"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Y"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_Y"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_Y"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_X"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_X"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_X"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_X"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_X"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_W"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_W"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_W"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_W"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_W"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_V"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_V"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_V"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_V"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_V"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_V"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_V"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_V"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_U"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_U"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_U"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_U"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_U"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_U"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_U"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_U"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_T"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_T"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_T"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_T"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_T"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_T"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_T"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_T"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_S"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_S"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_S"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_S"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_S"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_S"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_S"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_S"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_R"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_R"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_R"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_R"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_R"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_Q"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_Q"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_Q"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Q"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_Q"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Q"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_Q"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_Q"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_P"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_P"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_P"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_P"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_P"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_P"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_P"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_P"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_O"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_O"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_O"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_O"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_O"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_O"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_O"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_O"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_N"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_N"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_N"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_N"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_N"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_N"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_N"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_N"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_M"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_M"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_M"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_M"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_M"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_M"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_M"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_M"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_L"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_L"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_L"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_L"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_L"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_L"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_L"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_L"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_K"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_K"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_K"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_K"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_K"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_K"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_K"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_K"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_J"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_J"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_J"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_J"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_J"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_J"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_J"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_J"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_I"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_I"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_I"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_I"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_I"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_I"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_I"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_I"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_H"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_H"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_H"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_H"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_H"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_H"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_H"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_H"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_G"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_G"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_G"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_G"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_G"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_G"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_G"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_G"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_F"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_F"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_F"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_F"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_F"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_F"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_F"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_F"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_E"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_E"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_E"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_E"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_E"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_E"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_E"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_E"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_D"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_D"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_D"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_D"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_D"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_D"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_D"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_D"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_C"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_C"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_C"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_C"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_C"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_C"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_C"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_C"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_B"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_B"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_B"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_B"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_B"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_B"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_B"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_B"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_A"),TODO: pp-raw l),[(Id_aux(Id("_update_Misa_A"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_A"),TODO: pp-raw l),[(Id_aux(Id("_get_Misa_A"),TODO: pp-raw l));(Id_aux(Id("_set_Misa_A"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Misa"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("misa"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Misa"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_misa"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveAtomics"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveRVC"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveMulDiv"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveSupMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveUsrMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveNExt"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Mstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Mstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SD"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SD"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SD"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SD"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_SD"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SD"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_SD"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_SD"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_TSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_TSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_TSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_TSR"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_TSR"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_TSR"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_TSR"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_TSR"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_TW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_TW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_TW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_TW"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_TW"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_TW"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_TW"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_TW"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_TVM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_TVM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_TVM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_TVM"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_TVM"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_TVM"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_TVM"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_TVM"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MXR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MXR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MXR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MXR"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_MXR"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MXR"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_MXR"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_MXR"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SUM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SUM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SUM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SUM"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_SUM"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SUM"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_SUM"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_SUM"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MPRV"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MPRV"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MPRV"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MPRV"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_MPRV"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MPRV"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_MPRV"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_MPRV"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_XS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_XS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_XS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_XS"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_XS"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_XS"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_XS"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_XS"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_FS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_FS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_FS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_FS"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_FS"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_FS"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_FS"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_FS"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MPP"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_MPP"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MPP"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_MPP"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_MPP"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SPP"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_SPP"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SPP"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_SPP"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_SPP"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MPIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_MPIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MPIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_MPIE"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_MPIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SPIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_SPIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SPIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_SPIE"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_SPIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UPIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_UPIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UPIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_UPIE"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_UPIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_MIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_MIE"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_MIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_SIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_SIE"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_SIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Mstatus_UIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Mstatus_UIE"),TODO: pp-raw l));(Id_aux(Id("_set_Mstatus_UIE"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mstatus"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Privilege"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("effectivePrivilege"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_mstatus_SXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_mstatus_SXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_mstatus_UXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_mstatus_UXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Architecture"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("cur_Architecture"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("in32BitMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Minterrupts"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Minterrupts"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_MEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_MEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_MEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MEI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_MEI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MEI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_MEI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_MEI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_SEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_SEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_SEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SEI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_SEI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SEI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_SEI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_SEI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UEI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_UEI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UEI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_UEI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_UEI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_MTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_MTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_MTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MTI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_MTI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MTI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_MTI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_MTI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_STI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_STI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_STI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_STI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_STI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_STI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_STI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_STI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UTI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_UTI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UTI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_UTI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_UTI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_MSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_MSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_MSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MSI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_MSI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MSI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_MSI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_MSI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_SSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_SSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_SSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SSI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_SSI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SSI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_SSI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_SSI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_USI"),TODO: pp-raw l),[(Id_aux(Id("_update_Minterrupts_USI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_USI"),TODO: pp-raw l),[(Id_aux(Id("_get_Minterrupts_USI"),TODO: pp-raw l));(Id_aux(Id("_set_Minterrupts_USI"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mip"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mie"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mideleg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mip"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mie"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mideleg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Medeleg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Medeleg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SAMO_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SAMO_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SAMO_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SAMO_Page_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_SAMO_Page_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Page_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_SAMO_Page_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_SAMO_Page_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Load_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Load_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Load_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Load_Page_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Load_Page_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Load_Page_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Load_Page_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Load_Page_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Fetch_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Fetch_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Fetch_Page_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Fetch_Page_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Fetch_Page_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Page_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Fetch_Page_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Fetch_Page_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_MEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_MEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_MEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_MEnvCall"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_MEnvCall"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_MEnvCall"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_SEnvCall"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_SEnvCall"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_SEnvCall"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_UEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_UEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_UEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_UEnvCall"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_UEnvCall"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_UEnvCall"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SAMO_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SAMO_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SAMO_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SAMO_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_SAMO_Access_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_SAMO_Access_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_SAMO_Access_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SAMO_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SAMO_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SAMO_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SAMO_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_SAMO_Addr_Align"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_SAMO_Addr_Align"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_SAMO_Addr_Align"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Load_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Load_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Load_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Load_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Load_Access_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Load_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Load_Access_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Load_Access_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Load_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Load_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Load_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Load_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Load_Addr_Align"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Load_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Load_Addr_Align"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Load_Addr_Align"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Breakpoint"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Breakpoint"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Breakpoint"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Breakpoint"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Breakpoint"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Breakpoint"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Breakpoint"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Breakpoint"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Illegal_Instr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Illegal_Instr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Illegal_Instr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Illegal_Instr"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Illegal_Instr"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Illegal_Instr"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Illegal_Instr"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Illegal_Instr"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Fetch_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Fetch_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Fetch_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Fetch_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Fetch_Access_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Fetch_Access_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Fetch_Access_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Fetch_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Fetch_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Fetch_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Fetch_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_update_Medeleg_Fetch_Addr_Align"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_get_Medeleg_Fetch_Addr_Align"),TODO: pp-raw l));(Id_aux(Id("_set_Medeleg_Fetch_Addr_Align"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Medeleg"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("medeleg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Medeleg"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_medeleg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Mtvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Mtvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mtvec_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mtvec_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mtvec_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Mtvec_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Mtvec_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Mtvec_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mtvec_Base"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mtvec_Base"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mtvec_Base"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Base"),TODO: pp-raw l),[(Id_aux(Id("_update_Mtvec_Base"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Base"),TODO: pp-raw l),[(Id_aux(Id("_get_Mtvec_Base"),TODO: pp-raw l));(Id_aux(Id("_set_Mtvec_Base"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mtvec_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mtvec_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mtvec_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Mode"),TODO: pp-raw l),[(Id_aux(Id("_update_Mtvec_Mode"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Mode"),TODO: pp-raw l),[(Id_aux(Id("_get_Mtvec_Mode"),TODO: pp-raw l));(Id_aux(Id("_set_Mtvec_Mode"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mtvec"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_tvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Mcause"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Mcause"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mcause_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mcause_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mcause_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Mcause_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Mcause_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Mcause_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mcause_IsInterrupt"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mcause_IsInterrupt"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mcause_IsInterrupt"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_IsInterrupt"),TODO: pp-raw l),[(Id_aux(Id("_update_Mcause_IsInterrupt"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_IsInterrupt"),TODO: pp-raw l),[(Id_aux(Id("_get_Mcause_IsInterrupt"),TODO: pp-raw l));(Id_aux(Id("_set_Mcause_IsInterrupt"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mcause_Cause"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mcause_Cause"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mcause_Cause"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Cause"),TODO: pp-raw l),[(Id_aux(Id("_update_Mcause_Cause"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Cause"),TODO: pp-raw l),[(Id_aux(Id("_get_Mcause_Cause"),TODO: pp-raw l));(Id_aux(Id("_set_Mcause_Cause"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mcause"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mcause"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tvec_addr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mepc"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_xepc"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pc_alignment_mask"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mtval"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mscratch"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Counteren"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Counteren"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Counteren_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Counteren_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Counteren_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_HPM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_HPM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_HPM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_HPM"),TODO: pp-raw l),[(Id_aux(Id("_update_Counteren_HPM"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_HPM"),TODO: pp-raw l),[(Id_aux(Id("_get_Counteren_HPM"),TODO: pp-raw l));(Id_aux(Id("_set_Counteren_HPM"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_IR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_IR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_IR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_IR"),TODO: pp-raw l),[(Id_aux(Id("_update_Counteren_IR"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_IR"),TODO: pp-raw l),[(Id_aux(Id("_get_Counteren_IR"),TODO: pp-raw l));(Id_aux(Id("_set_Counteren_IR"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_TM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_TM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_TM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_TM"),TODO: pp-raw l),[(Id_aux(Id("_update_Counteren_TM"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_TM"),TODO: pp-raw l),[(Id_aux(Id("_get_Counteren_TM"),TODO: pp-raw l));(Id_aux(Id("_set_Counteren_TM"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_CY"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_CY"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_CY"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_CY"),TODO: pp-raw l),[(Id_aux(Id("_update_Counteren_CY"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_CY"),TODO: pp-raw l),[(Id_aux(Id("_get_Counteren_CY"),TODO: pp-raw l));(Id_aux(Id("_set_Counteren_CY"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mcounteren"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("scounteren"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mcounteren"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_scounteren"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("mcycle"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("mtime"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("minstret"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("minstret_written"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("retire_instruction"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("mvendorid"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mimpid"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("marchid"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("mhartid"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Sstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Sstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SD"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SD"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SD"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SD"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_SD"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SD"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_SD"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_SD"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_MXR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_MXR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_MXR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_MXR"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_MXR"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_MXR"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_MXR"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_MXR"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SUM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SUM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SUM"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SUM"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_SUM"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SUM"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_SUM"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_SUM"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_XS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_XS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_XS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_XS"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_XS"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_XS"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_XS"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_XS"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_FS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_FS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_FS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_FS"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_FS"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_FS"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_FS"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_FS"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SPP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SPP"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_SPP"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SPP"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_SPP"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_SPP"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SPIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_SPIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SPIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_SPIE"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_SPIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UPIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_UPIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UPIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_UPIE"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_UPIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_SIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_SIE"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_SIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Sstatus_UIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Sstatus_UIE"),TODO: pp-raw l));(Id_aux(Id("_set_Sstatus_UIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_sstatus_UXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_sstatus_UXL"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_mstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_sstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Sedeleg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Sedeleg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_UEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_UEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_UEnvCall"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_UEnvCall"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UEnvCall"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_UEnvCall"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_UEnvCall"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_SAMO_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_SAMO_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_SAMO_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SAMO_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_SAMO_Access_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_SAMO_Access_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_SAMO_Access_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_SAMO_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_SAMO_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_SAMO_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SAMO_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_SAMO_Addr_Align"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_SAMO_Addr_Align"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_SAMO_Addr_Align"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Load_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Load_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Load_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Load_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_Load_Access_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Load_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_Load_Access_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_Load_Access_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Load_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Load_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Load_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Load_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_Load_Addr_Align"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Load_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_Load_Addr_Align"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_Load_Addr_Align"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Breakpoint"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Breakpoint"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Breakpoint"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Breakpoint"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_Breakpoint"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Breakpoint"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_Breakpoint"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_Breakpoint"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Illegal_Instr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Illegal_Instr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Illegal_Instr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Illegal_Instr"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_Illegal_Instr"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Illegal_Instr"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_Illegal_Instr"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_Illegal_Instr"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Fetch_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Fetch_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Fetch_Access_Fault"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Fetch_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_Fetch_Access_Fault"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Access_Fault"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_Fetch_Access_Fault"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_Fetch_Access_Fault"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Fetch_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Fetch_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Fetch_Addr_Align"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Fetch_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_update_Sedeleg_Fetch_Addr_Align"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Addr_Align"),TODO: pp-raw l),[(Id_aux(Id("_get_Sedeleg_Fetch_Addr_Align"),TODO: pp-raw l));(Id_aux(Id("_set_Sedeleg_Fetch_Addr_Align"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sedeleg"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("sedeleg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sedeleg"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sedeleg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Sinterrupts"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Sinterrupts"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Sinterrupts_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Sinterrupts_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Sinterrupts_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_SEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_SEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_SEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SEI"),TODO: pp-raw l),[(Id_aux(Id("_update_Sinterrupts_SEI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SEI"),TODO: pp-raw l),[(Id_aux(Id("_get_Sinterrupts_SEI"),TODO: pp-raw l));(Id_aux(Id("_set_Sinterrupts_SEI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UEI"),TODO: pp-raw l),[(Id_aux(Id("_update_Sinterrupts_UEI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UEI"),TODO: pp-raw l),[(Id_aux(Id("_get_Sinterrupts_UEI"),TODO: pp-raw l));(Id_aux(Id("_set_Sinterrupts_UEI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_STI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_STI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_STI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_STI"),TODO: pp-raw l),[(Id_aux(Id("_update_Sinterrupts_STI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_STI"),TODO: pp-raw l),[(Id_aux(Id("_get_Sinterrupts_STI"),TODO: pp-raw l));(Id_aux(Id("_set_Sinterrupts_STI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UTI"),TODO: pp-raw l),[(Id_aux(Id("_update_Sinterrupts_UTI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UTI"),TODO: pp-raw l),[(Id_aux(Id("_get_Sinterrupts_UTI"),TODO: pp-raw l));(Id_aux(Id("_set_Sinterrupts_UTI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_SSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_SSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_SSI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_SSI"),TODO: pp-raw l),[(Id_aux(Id("_update_Sinterrupts_SSI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_SSI"),TODO: pp-raw l),[(Id_aux(Id("_get_Sinterrupts_SSI"),TODO: pp-raw l));(Id_aux(Id("_set_Sinterrupts_SSI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_USI"),TODO: pp-raw l),[(Id_aux(Id("_update_Sinterrupts_USI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_USI"),TODO: pp-raw l),[(Id_aux(Id("_get_Sinterrupts_USI"),TODO: pp-raw l));(Id_aux(Id("_set_Sinterrupts_USI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_mip"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_mie"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_sip"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sip"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_sie"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sie"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("sideleg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("stvec"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("sscratch"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("sepc"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mcause"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("scause"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("stval"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Satp64"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Satp64"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp64_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp64_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Satp64_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Mode"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp64_Mode"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Mode"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp64_Mode"),TODO: pp-raw l));(Id_aux(Id("_set_Satp64_Mode"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_Asid"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_Asid"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_Asid"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Asid"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp64_Asid"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Asid"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp64_Asid"),TODO: pp-raw l));(Id_aux(Id("_set_Satp64_Asid"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_PPN"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_PPN"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_PPN"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPN"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp64_PPN"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPN"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp64_PPN"),TODO: pp-raw l));(Id_aux(Id("_set_Satp64_PPN"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_satp64"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Satp32"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Satp32"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp32_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp32_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Satp32_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_Mode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Mode"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp32_Mode"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Mode"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp32_Mode"),TODO: pp-raw l));(Id_aux(Id("_set_Satp32_Mode"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_Asid"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_Asid"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_Asid"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Asid"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp32_Asid"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Asid"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp32_Asid"),TODO: pp-raw l));(Id_aux(Id("_set_Satp32_Asid"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_PPN"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_PPN"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_PPN"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPN"),TODO: pp-raw l),[(Id_aux(Id("_update_Satp32_PPN"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPN"),TODO: pp-raw l),[(Id_aux(Id("_get_Satp32_PPN"),TODO: pp-raw l));(Id_aux(Id("_set_Satp32_PPN"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_satp32"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("tselect"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("PmpAddrMatchType_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_PmpAddrMatchType"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PmpAddrMatchType"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrMatchType_of_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrMatchType_to_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Pmpcfg_ent"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Pmpcfg_ent"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Pmpcfg_ent_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Pmpcfg_ent_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Pmpcfg_ent_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_L"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_L"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_L"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_L"),TODO: pp-raw l),[(Id_aux(Id("_update_Pmpcfg_ent_L"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_L"),TODO: pp-raw l),[(Id_aux(Id("_get_Pmpcfg_ent_L"),TODO: pp-raw l));(Id_aux(Id("_set_Pmpcfg_ent_L"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_A"),TODO: pp-raw l),[(Id_aux(Id("_update_Pmpcfg_ent_A"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_A"),TODO: pp-raw l),[(Id_aux(Id("_get_Pmpcfg_ent_A"),TODO: pp-raw l));(Id_aux(Id("_set_Pmpcfg_ent_A"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_X"),TODO: pp-raw l),[(Id_aux(Id("_update_Pmpcfg_ent_X"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_X"),TODO: pp-raw l),[(Id_aux(Id("_get_Pmpcfg_ent_X"),TODO: pp-raw l));(Id_aux(Id("_set_Pmpcfg_ent_X"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_W"),TODO: pp-raw l),[(Id_aux(Id("_update_Pmpcfg_ent_W"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_W"),TODO: pp-raw l),[(Id_aux(Id("_get_Pmpcfg_ent_W"),TODO: pp-raw l));(Id_aux(Id("_set_Pmpcfg_ent_W"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_R"),TODO: pp-raw l),[(Id_aux(Id("_update_Pmpcfg_ent_R"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_R"),TODO: pp-raw l),[(Id_aux(Id("_get_Pmpcfg_ent_R"),TODO: pp-raw l));(Id_aux(Id("_set_Pmpcfg_ent_R"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp0cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp1cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp2cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp3cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp4cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp5cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp6cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp7cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp8cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp9cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp10cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp11cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp12cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp13cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp14cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmp15cfg"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr0"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr1"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr2"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr3"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr4"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr5"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr6"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr7"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr8"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr9"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr10"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr11"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr12"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr13"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr14"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("pmpaddr15"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpReadCfgReg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpWriteCfg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpWriteCfgReg"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpWriteAddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("pmp_addr_range"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrRange"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpCheckRWX"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpCheckPerms"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrMatch_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_pmpAddrMatch"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_pmpAddrMatch"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("pmpAddrMatch"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpMatchAddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpMatch_of_num"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_pmpMatch"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_pmpMatch"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("pmpMatch"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpMatchEntry"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_bounded_gt(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_constant(0),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ExceptionType"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpCheck"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_pmp"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_init_regs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_rvfi_init"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_check_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_check_CSR_fail"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ext_FetchAddr_Check"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ext_ControlAddr_Check"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ext_DataAddr_Check"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("Ext_FetchAddr_Check"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_fetch_addr_error"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_fetch_check_pc"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_handle_fetch_check_error"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("Ext_ControlAddr_Check"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_control_addr_error"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_control_check_addr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("Ext_ControlAddr_Check"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_control_addr_error"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_control_check_pc"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_handle_control_check_error"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("Ext_DataAddr_Check"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_data_addr_error"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_data_get_addr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_handle_data_check_error"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_veto_disable_C"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ustatus"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("004"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uie"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("005"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("utvec"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("040"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uscratch"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("041"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uepc"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("042"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ucause"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("043"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("utval"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("044"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uip"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fflags"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("002"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("frm"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("003"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fcsr"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C00"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("cycle"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C01"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("time"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C02"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("instret"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C80"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("cycleh"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C81"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("timeh"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C82"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("instreth"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sstatus"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("102"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sedeleg"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("103"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sideleg"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("104"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sie"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("105"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("stvec"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("106"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("scounteren"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("140"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sscratch"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("141"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sepc"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("142"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("scause"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("143"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("stval"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("144"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sip"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("180"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("satp"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F11"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mvendorid"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F12"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("marchid"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F13"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mimpid"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F14"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mhartid"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("300"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mstatus"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("301"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("misa"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("302"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("medeleg"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("303"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mideleg"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("304"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mie"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("305"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mtvec"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("306"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcounteren"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("340"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mscratch"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("341"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mepc"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("342"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcause"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("343"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mtval"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("344"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mip"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B4"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr4"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B5"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr5"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B6"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr6"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B7"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr7"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B8"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr8"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B9"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr9"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BA"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr10"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BB"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr11"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BC"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr12"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BD"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr13"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr14"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BF"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr15"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B00"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcycle"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B02"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("minstret"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B80"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcycleh"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B82"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("minstreth"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tselect"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tdata1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tdata2"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tdata3"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csr_name"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("to_str"),TODO: pp-raw l),[(Id_aux(Id("csr_name"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ustatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Ustatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Ustatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Ustatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Ustatus_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Ustatus_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Ustatus_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Ustatus_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Ustatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Ustatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Ustatus_UPIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UPIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Ustatus_UPIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UPIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Ustatus_UPIE"),TODO: pp-raw l));(Id_aux(Id("_set_Ustatus_UPIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Ustatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Ustatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Ustatus_UIE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UIE"),TODO: pp-raw l),[(Id_aux(Id("_update_Ustatus_UIE"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UIE"),TODO: pp-raw l),[(Id_aux(Id("_get_Ustatus_UIE"),TODO: pp-raw l));(Id_aux(Id("_set_Ustatus_UIE"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Ustatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_sstatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_ustatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_ustatus"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Uinterrupts"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Uinterrupts"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_Uinterrupts_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_Uinterrupts_bits"),TODO: pp-raw l));(Id_aux(Id("_set_Uinterrupts_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_UEI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UEI"),TODO: pp-raw l),[(Id_aux(Id("_update_Uinterrupts_UEI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UEI"),TODO: pp-raw l),[(Id_aux(Id("_get_Uinterrupts_UEI"),TODO: pp-raw l));(Id_aux(Id("_set_Uinterrupts_UEI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_UTI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_UTI"),TODO: pp-raw l),[(Id_aux(Id("_update_Uinterrupts_UTI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_UTI"),TODO: pp-raw l),[(Id_aux(Id("_get_Uinterrupts_UTI"),TODO: pp-raw l));(Id_aux(Id("_set_Uinterrupts_UTI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_USI"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_USI"),TODO: pp-raw l),[(Id_aux(Id("_update_Uinterrupts_USI"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_USI"),TODO: pp-raw l),[(Id_aux(Id("_get_Uinterrupts_USI"),TODO: pp-raw l));(Id_aux(Id("_set_Uinterrupts_USI"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Uinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_sip"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Uinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_sie"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_uip"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_uip"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_uie"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_uie"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("utvec"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("uscratch"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("uepc"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Mcause"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("ucause"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("utval"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_check_xret_priv"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_fail_xret_priv"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_trap_extension"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("prepare_trap_vector"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_xret_target"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_xret_target"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("prepare_xret_target"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_mtvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_stvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_utvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_mtvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_stvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_utvec"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_sync_exception"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("csrRW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csrAccess"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("priv_level"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csrPriv"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_CSR_defined"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_CSR_access"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_TVM_SATP"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_Counteren"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_CSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("Privilege"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exception_delegatee"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("InterruptType"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("findPendingInterrupt"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_interrupt_set"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("interrupt_set"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("processPending"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("Privilege"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("getPendingSet"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("InterruptType"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("Privilege"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("dispatchInterrupt"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ctl_result"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tval"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_trap"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("trap_handler"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exception_handler"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_mem_exception"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_interrupt"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_sys"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_MemoryOpResult"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("MemoryOpResult_add_meta"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("MemoryOpResult_drop_meta"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("plat_htif_tohost"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("phys_mem_segments"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_phys_mem"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_clint"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_htif_writable"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_htif_readable"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("mtimecmp"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("MSIP_BASE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("EXTZ"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_hex("00000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("MTIMECMP_BASE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("EXTZ"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_hex("04000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("MTIMECMP_BASE_HI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("EXTZ"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_hex("04004"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("MTIME_BASE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("EXTZ"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_hex("0bff8"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("MTIME_BASE_HI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("EXTZ"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_hex("0bffc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("clint_load"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("clint_dispatch"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("clint_store"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tick_clock"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_htif_cmd"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_htif_cmd"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_htif_cmd_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_htif_cmd_bits"),TODO: pp-raw l));(Id_aux(Id("_set_htif_cmd_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_device"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_device"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_device"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_device"),TODO: pp-raw l),[(Id_aux(Id("_update_htif_cmd_device"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_device"),TODO: pp-raw l),[(Id_aux(Id("_get_htif_cmd_device"),TODO: pp-raw l));(Id_aux(Id("_set_htif_cmd_device"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_cmd"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_cmd"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_cmd"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_cmd"),TODO: pp-raw l),[(Id_aux(Id("_update_htif_cmd_cmd"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_cmd"),TODO: pp-raw l),[(Id_aux(Id("_get_htif_cmd_cmd"),TODO: pp-raw l));(Id_aux(Id("_set_htif_cmd_cmd"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_payload"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_payload"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_payload"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_payload"),TODO: pp-raw l),[(Id_aux(Id("_update_htif_cmd_payload"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_payload"),TODO: pp-raw l),[(Id_aux(Id("_get_htif_cmd_payload"),TODO: pp-raw l));(Id_aux(Id("_set_htif_cmd_payload"),TODO: pp-raw l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("htif_tohost"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("htif_done"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("htif_exit_code"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("htif_load"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("htif_store"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("htif_tick"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_mmio_readable"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_mmio_writable"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mmio_read"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mmio_write"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_platform"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tick_platform"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_illegal"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("platform_wfi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_aligned_addr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("read_kind"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("read_kind_of_flags"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("phys_mem_read"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("checked_mem_read"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmp_mem_read"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_read"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_read"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_read_meta"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_write_ea"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_write"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("phys_mem_write"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("checked_mem_write"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,TODO: pp-raw l),Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),TODO: pp-raw l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),TODO: pp-raw l)),TODO: pp-raw l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmp_mem_write"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_write_value_meta"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_write_value"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTE_Bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_PTE_Bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_bits"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_D"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_D"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_D"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_D"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_D"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_D"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_D"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_D"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_A"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_A"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_A"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_A"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_A"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_A"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_G"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_G"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_G"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_G"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_G"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_G"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_G"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_G"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_U"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_U"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_U"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_U"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_U"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_U"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_U"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_U"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_X"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_X"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_X"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_X"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_X"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_X"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_W"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_W"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_W"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_W"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_W"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_W"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_R"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_R"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_R"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_R"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_R"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_R"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_V"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_V"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_V"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_V"),TODO: pp-raw l),[(Id_aux(Id("_update_PTE_Bits_V"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_V"),TODO: pp-raw l),[(Id_aux(Id("_get_PTE_Bits_V"),TODO: pp-raw l));(Id_aux(Id("_set_PTE_Bits_V"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("isPTEPtr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("isInvalidPTE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTE_Check"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("PTE_Check"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("to_pte_check"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("PTE_Check"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("checkPTEPermission"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("PTE_Bits"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("extPte"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("update_PTE_Bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTW_Error"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ptw_error_to_str"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("to_str"),TODO: pp-raw l),[(Id_aux(Id("ptw_error_to_str"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("ExceptionType"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translationException"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PAGESIZE_BITS"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(12),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("asid32"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curAsid32"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("paddr32"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curPTB32"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV32_LEVEL_BITS"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(10),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV32_LEVELS"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(2),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE32_LOG_SIZE"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(2),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE32_SIZE"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(4),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV32_Vaddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV32_Vaddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_Vaddr_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_Vaddr_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_Vaddr_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_VPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_Vaddr_VPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_VPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_Vaddr_VPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_Vaddr_VPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_Vaddr_PgOfs"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_Vaddr_PgOfs"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_Vaddr_PgOfs"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV32_Paddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV32_Paddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_Paddr_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_Paddr_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_Paddr_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_Paddr_PPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_Paddr_PPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_Paddr_PPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_Paddr_PgOfs"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_Paddr_PgOfs"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_Paddr_PgOfs"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV32_PTE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV32_PTE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_PTE_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_PTE_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_PTE_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_PTE_PPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_PTE_PPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_PTE_PPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_RSW"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_PTE_RSW"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_RSW"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_PTE_RSW"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_PTE_RSW"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_BITS"),TODO: pp-raw l),[(Id_aux(Id("_update_SV32_PTE_BITS"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_BITS"),TODO: pp-raw l),[(Id_aux(Id("_get_SV32_PTE_BITS"),TODO: pp-raw l));(Id_aux(Id("_set_SV32_PTE_BITS"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("asid64"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curAsid64"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("paddr64"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curPTB64"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV39_LEVEL_BITS"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(9),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV39_LEVELS"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(3),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE39_LOG_SIZE"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(3),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE39_SIZE"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV39_Vaddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV39_Vaddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_Vaddr_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_Vaddr_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_Vaddr_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_VPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_Vaddr_VPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_VPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_Vaddr_VPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_Vaddr_VPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_Vaddr_PgOfs"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_Vaddr_PgOfs"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_Vaddr_PgOfs"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV39_Paddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV39_Paddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_Paddr_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_Paddr_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_Paddr_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_Paddr_PPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_Paddr_PPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_Paddr_PPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_Paddr_PgOfs"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_Paddr_PgOfs"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_Paddr_PgOfs"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV39_PTE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV39_PTE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_PTE_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_PTE_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_PTE_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_Ext"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_Ext"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_Ext"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Ext"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_PTE_Ext"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Ext"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_PTE_Ext"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_PTE_Ext"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_PTE_PPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_PTE_PPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_PTE_PPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_RSW"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_PTE_RSW"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_RSW"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_PTE_RSW"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_PTE_RSW"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_BITS"),TODO: pp-raw l),[(Id_aux(Id("_update_SV39_PTE_BITS"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_BITS"),TODO: pp-raw l),[(Id_aux(Id("_get_SV39_PTE_BITS"),TODO: pp-raw l));(Id_aux(Id("_set_SV39_PTE_BITS"),TODO: pp-raw l))]));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV48_LEVEL_BITS"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(9),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV48_LEVELS"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(4),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE48_LOG_SIZE"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(3),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE48_SIZE"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV48_Vaddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV48_Vaddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Vaddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_Vaddr_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_Vaddr_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_Vaddr_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Vaddr_VPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_VPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_Vaddr_VPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_VPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_Vaddr_VPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_Vaddr_VPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Vaddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_Vaddr_PgOfs"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_Vaddr_PgOfs"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_Vaddr_PgOfs"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV48_Paddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV48_Paddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Paddr_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_Paddr_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_Paddr_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_Paddr_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Paddr_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_Paddr_PPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_Paddr_PPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_Paddr_PPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Paddr_PgOfs"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_Paddr_PgOfs"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_Paddr_PgOfs"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_Paddr_PgOfs"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV48_PTE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV48_PTE"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_bits"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_bits"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_PTE_bits"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_bits"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_PTE_bits"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_PTE_bits"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_Ext"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_Ext"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_Ext"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_Ext"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_PTE_Ext"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_Ext"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_PTE_Ext"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_PTE_Ext"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_PPNi"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_PTE_PPNi"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_PTE_PPNi"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_PTE_PPNi"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_RSW"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_RSW"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_PTE_RSW"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_RSW"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_PTE_RSW"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_PTE_RSW"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_BITS"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("update_BITS"),TODO: pp-raw l),[(Id_aux(Id("_update_SV48_PTE_BITS"),TODO: pp-raw l))]));(DEF_overload(Id_aux(Id("_mod_BITS"),TODO: pp-raw l),[(Id_aux(Id("_get_SV48_PTE_BITS"),TODO: pp-raw l));(Id_aux(Id("_set_SV48_PTE_BITS"),TODO: pp-raw l))]));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTW_Result"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_TR_Result"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_TLB_Entry"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("make_TLB_Entry"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("match_TLB_Entry"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB_Entry"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("walk39"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("TLB39_Entry"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("tlb39"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lookup_TLB39"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("add_to_TLB39"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_TLB39"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB39"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translate39"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_vmem_sv39"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("walk48"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("option"),TODO: pp-raw l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("TLB48_Entry"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("tlb48"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lookup_TLB48"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("add_to_TLB48"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_TLB48"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB48"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translate48"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_vmem_sv48"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,TODO: pp-raw l))]),TODO: pp-raw l),Effect_aux(Effect_set([(BE_aux(BE_wreg,TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("satp"),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_satp"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translationMode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translateAddr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_vmem"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_variant(Id_aux(Id("ast"),TODO: pp-raw l),TypQ_aux(TypQ_no_forall,TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(20),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("uop"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("UTYPE"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_uop"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("uop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(7),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_LUI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0110111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_AUIPC"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0010111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("UTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(20),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("encdec_uop"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("utype_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("uop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_LUI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("lui"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_AUIPC"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("auipc"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("UTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("utype_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_20"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(21),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("RISCV_JAL"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JAL"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_19"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_7_0"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_8"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_18_13"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_12_9"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_19"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_18_13"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_12_9"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_8"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_7_0"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1101111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JAL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("jal"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_21"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("RISCV_JALR"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JALR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1100111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JALR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("jalr"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(13),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bop"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("BTYPE"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_bop"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BEQ"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BNE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLT"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLTU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("110"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGEU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("BTYPE"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_0"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_5_0"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_4_1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_5_0"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("encdec_bop"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_4_1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_0"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1100011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("btype_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BEQ"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("beq"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BNE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bne"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLT"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("blt"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGE"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bge"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLTU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bltu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGEU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bgeu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("BTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("btype_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_13"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("iop"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("ITYPE"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_iop"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("iop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADDI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTIU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ANDI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("111"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ORI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("110"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_XORI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ITYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("encdec_iop"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("itype_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("iop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADDI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("addi"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slti"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTIU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sltiu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_XORI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("xori"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ORI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ori"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ANDI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("andi"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ITYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("itype_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("sop"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("SHIFTIOP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_sop"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("or_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_bit"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_access"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(5),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_zero,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("or_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_bit"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_access"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(5),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_zero,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("or_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_bit"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_access"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(5),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_zero,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("shiftiop_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slli"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srli"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srai"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("shiftiop_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("rop"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("RTYPE"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_ADD"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLT"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLTU"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_AND"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("111"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_OR"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("110"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_XOR"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLL"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRL"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SUB"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRA"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("rtype_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("rop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADD"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("add"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLT"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slt"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sltu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_AND"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("and"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_OR"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("or"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_XOR"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("xor"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLL"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sll"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRL"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srl"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SUB"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sub"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRA"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sra"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("rtype_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("LOAD"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("LOAD"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("is_unsigned"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("or_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("lt_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("not_bool"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("is_unsigned"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_cast(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("is_unsigned"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0000011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("or_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("lt_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("not_bool"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("is_unsigned"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_cast(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("extend_value"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("process_load"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_misaligned"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_aq"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(".aq"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_rl"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(".rl"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_u"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("u"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("LOAD"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("is_unsigned"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("l"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_u"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("is_unsigned"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string("("),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string(")"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("STORE"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("STORE"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(7),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(7),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0100011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("STORE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("s"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string("("),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string(")"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("ADDIW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("ADDIW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("ADDIW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("addiw"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("sop"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("SHIFTW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("shiftw_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slli"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srli"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srai"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("shiftw_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_5"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("ropw"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("RTYPEW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_ADDW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SUBW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("rtypew_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("ropw"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADDW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("addw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SUBW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("subw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sllw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srlw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sraw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("rtypew_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("sopw"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("SHIFTIWOP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLIW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLIW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAIW"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("shiftiwop_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sopw"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLIW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slliw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLIW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srliw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAIW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sraiw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("shiftiwop_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_5"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("FENCE"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0001111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_r"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("r"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_w"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("w"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_i"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("i"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_o"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("o"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("fence_bits"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("o"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("r"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("w"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("bit_maybe_i"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("i"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bit_maybe_o"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("o"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bit_maybe_r"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("r"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bit_maybe_w"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("w"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("fence"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("FENCE_TSO"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE_TSO"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("1000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0001111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE_TSO"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("fence.tso"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("pred"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("succ"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("FENCEI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCEI"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0001111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCEI"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fence.i"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("ECALL"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ECALL"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ECALL"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ecall"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("MRET"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MRET"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0011000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MRET"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mret"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("SRET"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SRET"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0001000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SRET"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sret"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("EBREAK"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("EBREAK"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000000001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("EBREAK"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ebreak"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("WFI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("WFI"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000100000101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("WFI"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("wfi"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("SFENCE_VMA"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SFENCE_VMA"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0001001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SFENCE_VMA"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("sfence.vma"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("aqrl_str"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lrsc_width_str"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("LOADRES"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("LOADRES"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("00010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0101111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("process_loadres"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("LOADRES"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("lr."),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("STORECON"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("STORECON"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("00011"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0101111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("STORECON"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("sc."),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("amoop"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("AMO"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_amoop"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("amoop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOSWAP"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOADD"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOXOR"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOAND"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOOR"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMIN"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAX"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMINU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAXU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11100"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("AMO"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_app(Id_aux(Id("encdec_amoop"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0101111"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("lteq_int"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("size"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(8),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("amo_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("amoop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOSWAP"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoswap"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOADD"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoadd"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOXOR"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoxor"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOAND"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoand"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOOR"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoor"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMIN"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amomin"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAX"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amomax"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMINU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amominu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAXU"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amomaxu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("AMO"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("width"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("amo_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string("."),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("width"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("aq"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rl"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string("("),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string(")"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("C_NOP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_NOP"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_NOP"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("c.nop"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_ADDI4SPN"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI4SPN"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz96"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz54"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz3"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nz96"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nz54"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nz3"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nz2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("00000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz54"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz96"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz3"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nz96"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nz54"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nz3"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nz2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("00000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI4SPN"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rdc"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("nzimm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzimm"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("00000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addi4spn"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rdc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_10"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzimm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzimm"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("00000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_LW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_LW"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_LW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsc"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rdc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.lw"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rdc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_7"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_LD"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LD"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LD"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsc"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rdc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.ld"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rdc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsc"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SW"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("110"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsc1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsc2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sw"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsc1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsc2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_7"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SD"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SD"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("111"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SD"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsc1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsc2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsc1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsc2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_ADDI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzi40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzi40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("nzi"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addi"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("nzi"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(11),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_JAL"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JAL"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(32),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(32),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JAL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(32),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.jal"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(11),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(32),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_ADDIW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDIW"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDIW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addiw"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_LI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LI"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LI"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.li"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_ADDI16SP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI16SP"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi9"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi87"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi4"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi9"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi87"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi6"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzi4"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi9"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi4"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi87"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi9"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi87"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi6"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzi5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzi4"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI16SP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addi16sp"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_LUI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LUI"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm17"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm1612"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("sp"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("imm17"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("imm1612"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm17"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm1612"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("sp"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("imm17"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("imm1612"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LUI"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("sp"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.lui"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("sp"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SRLI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRLI"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRLI"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.srli"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SRAI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRAI"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRAI"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.srai"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_ANDI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ANDI"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ANDI"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.andi"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SUB"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SUB"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SUB"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sub"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_XOR"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_XOR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_XOR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.xor"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_OR"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_OR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_OR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.or"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_AND"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_AND"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_AND"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.and"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SUBW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SUBW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SUBW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.subw"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_ADDW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addw"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(11),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_J"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_J"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("101"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_J"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.j"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_11"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_BEQZ"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BEQZ"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("110"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BEQZ"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.beqz"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_BNEZ"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BNEZ"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("111"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BNEZ"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.bnez"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SLLI"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SLLI"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("or_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("nzui40"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("or_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("nzui5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SLLI"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.slli"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("shamt"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_bin("000000"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_LWSP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LWSP"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui42"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui42"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LWSP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.lwsp"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_LDSP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LDSP"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui43"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui43"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LDSP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.ldsp"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SWSP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SWSP"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui52"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("110"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui52"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SWSP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.swsp"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_SDSP"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SDSP"),TODO: pp-raw l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("111"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SDSP"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sdsp"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("uimm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("C_JR"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.jr"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("C_JALR"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JALR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JALR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.jalr"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_MV"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_MV"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_MV"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.mv"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("C_EBREAK"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_EBREAK"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_EBREAK"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("c.ebreak"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("C_ADD"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADD"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADD"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.add"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("and_bool"),TODO: pp-raw l),[(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rsd"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(E_aux(E_app(Id_aux(Id("neq_bits"),TODO: pp-raw l),[(E_aux(E_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_id(Id_aux(Id("zreg"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("MUL"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_mul_op"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("010"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("011"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MUL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("high"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_app(Id_aux(Id("encdec_mul_op"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("high"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("mul_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mul"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mulh"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mulhsu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mulhu"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MUL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("high"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("mul_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("high"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("signed2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("DIV"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("DIV"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_not_u"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("u"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("DIV"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("div"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("REM"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("REM"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("REM"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("rem"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("MULW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("MULW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("MULW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("mulw"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("DIVW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("DIVW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("DIVW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("div"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string("w"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("REMW"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("REMW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("REMW"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("rem"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string("w"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs2"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("eq_int"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_num(64),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("csrop"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),Id_aux(Id("CSR"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_csrop"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("csrop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_app(Id_aux(Id("bits"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRS"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRC"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("CSR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("csr"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("is_imm"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("csr"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("is_imm"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("encdec_csrop"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("readCSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("writeCSR"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_i"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("i"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("csr_mnemonic"),TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("csrop"),TODO: pp-raw l)),TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRW"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("csrrw"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRS"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("csrrs"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRC"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("csrrc"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("CSR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("csr"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_true,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("csr_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_string("i"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_5"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("csr_name_map"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("csr"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("CSR"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("csr"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_false,TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("csr_mnemonic"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("op"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rd"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("rs1"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("sep"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("csr_name_map"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("csr"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("URET"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("URET"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("URET"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uret"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("word"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("ILLEGAL"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ILLEGAL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ILLEGAL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("illegal"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_32"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),TODO: pp-raw l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("half"),TODO: pp-raw l)),TODO: pp-raw l),Id_aux(Id("C_ILLEGAL"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ILLEGAL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),TODO: pp-raw l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ILLEGAL"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.illegal"),TODO: pp-raw l)),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("spc"),TODO: pp-raw l),[(MP_aux(MP_lit(L_aux(L_unit,TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_16"),TODO: pp-raw l),[(MP_aux(MP_id(Id_aux(Id("s"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("print_insn"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_overload(Id_aux(Id("to_str"),TODO: pp-raw l),[(Id_aux(Id("print_insn"),TODO: pp-raw l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("decode"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("decodeCompressed"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_type(TODO:pp-raw type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_FetchResult"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_init"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("FetchResult"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_fetch_hook"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_pre_step_hook"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_post_step_hook"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_post_decode_hook"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("isRVC"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("FetchResult"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("fetch"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("bool"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("step"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("loop"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("unit"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_model"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_app(Id_aux(Id("vector"),TODO: pp-raw l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_order(Ord_aux(Ord_dec,TODO: pp-raw l)),TODO: pp-raw l));(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l),P_aux(P_id(Id_aux(Id("GPRstrs"),TODO: pp-raw l)),TODO: pp-raw annot)),TODO: pp-raw annot),E_aux(E_vector([(E_aux(E_lit(L_aux(L_string("x31"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x30"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x29"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x28"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x27"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x26"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x25"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x24"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x23"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x22"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x21"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x20"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x19"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x18"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x17"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x16"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x15"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x14"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x13"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x12"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x11"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x10"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x9"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x8"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x7"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x6"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x5"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x4"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x3"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x2"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x1"),TODO: pp-raw l)),TODO: pp-raw annot));(E_aux(E_lit(L_aux(L_string("x0"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_id(Id_aux(Id("string"),TODO: pp-raw l)),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("GPRstr"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("CIA_fp"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("RFull"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_string("CIA"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("NIA_fp"),TODO: pp-raw l)),TODO: pp-raw annot),E_aux(E_app(Id_aux(Id("RFull"),TODO: pp-raw l),[(E_aux(E_lit(L_aux(L_string("NIA"),TODO: pp-raw l)),TODO: pp-raw annot))]),TODO: pp-raw annot)),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,TODO: pp-raw l),Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regfps"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regfps"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("regfps"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("niafps"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("diafp"),TODO: pp-raw l)),TODO: pp-raw l));(Typ_aux(Typ_id(Id_aux(Id("instruction_kind"),TODO: pp-raw l)),TODO: pp-raw l))]),TODO: pp-raw l)),TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("initial_analysis"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,TODO: pp-raw l),Typ_annot_opt_aux(Typ_annot_opt_none,TODO: pp-raw l),Effect_opt_aux(Effect_opt_none,TODO: pp-raw l),[(FCL_aux(FCL_Funcl(Id_aux(Id("initialize_registers"),TODO: pp-raw l),TODO:pexp_funcl),TODO: pp-raw annot))]),TODO: pp-raw annot)))]) \ No newline at end of file
+Defs([(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_default(DT_aux(DT_order(Ord_aux(Ord_dec,..l)),..l)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("abs_int"),..l),[(Id_aux(Id("abs_int_atom"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_option"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_none"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_some"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("eq_unit"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_int"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_bool"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),..l),[(Id_aux(Id("eq_int"),..l));(Id_aux(Id("eq_bit"),..l));(Id_aux(Id("eq_bool"),..l));(Id_aux(Id("eq_unit"),..l))]));(DEF_overload(Id_aux(Operator("!="),..l),[(Id_aux(Id("neq_int"),..l));(Id_aux(Id("neq_bool"),..l))]));(DEF_overload(Id_aux(Operator("|"),..l),[(Id_aux(Id("or_bool"),..l))]));(DEF_overload(Id_aux(Operator("&"),..l),[(Id_aux(Id("and_bool"),..l))]));(DEF_overload(Id_aux(Operator("<="),..l),[(Id_aux(Id("lteq_int"),..l))]));(DEF_overload(Id_aux(Operator("<"),..l),[(Id_aux(Id("lt_int"),..l))]));(DEF_overload(Id_aux(Operator(">="),..l),[(Id_aux(Id("gteq_int"),..l))]));(DEF_overload(Id_aux(Operator(">"),..l),[(Id_aux(Id("gt_int"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("atom"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("__id"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("__size"),..l),[(Id_aux(Id("__id"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("+"),..l),[(Id_aux(Id("add_atom"),..l));(Id_aux(Id("add_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("-"),..l),[(Id_aux(Id("sub_atom"),..l));(Id_aux(Id("sub_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("negate"),..l),[(Id_aux(Id("negate_atom"),..l));(Id_aux(Id("negate_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("*"),..l),[(Id_aux(Id("mult_atom"),..l));(Id_aux(Id("mult_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("shl_int"),..l),[(Id_aux(Id("_shl8"),..l));(Id_aux(Id("_shl32"),..l));(Id_aux(Id("_shl_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("shr_int"),..l),[(Id_aux(Id("_shr32"),..l));(Id_aux(Id("_shr_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("abs_int"),..l),[(Id_aux(Id("abs_int_plain"),..l))]));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),..l),[(Id_aux(Id("eq_string"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("concat_str_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("concat_str_dec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),..l),[(Id_aux(Id("eq_bit"),..l));(Id_aux(Id("eq_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Operator("!="),..l),[(Id_aux(Id("neq_bits"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("length"),..l),[(Id_aux(Id("bitvector_length"),..l));(Id_aux(Id("vector_length"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sail_mask"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Operator("^"),..l),[(Id_aux(Id("sail_mask"),..l))]));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("append"),..l),[(Id_aux(Id("bitvector_concat"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("vector_access"),..l),[(Id_aux(Id("bitvector_access"),..l));(Id_aux(Id("plain_vector_access"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("vector_update"),..l),[(Id_aux(Id("bitvector_update"),..l));(Id_aux(Id("plain_vector_update"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("+"),..l),[(Id_aux(Id("add_bits"),..l));(Id_aux(Id("add_bits_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("&"),..l),[(Id_aux(Id("and_vec"),..l))]));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("|"),..l),[(Id_aux(Id("or_vec"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sail_ones"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("slice_mask"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("__size"),..l),[(Id_aux(Id("__id"),..l));(Id_aux(Id("bitvector_length"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_regfp"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_niafp"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_diafp"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("read_kind_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_read_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_read_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_kind_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_write_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_write_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("a64_barrier_domain_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_a64_barrier_domain"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_a64_barrier_domain"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("a64_barrier_type_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_a64_barrier_type"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_a64_barrier_type"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_barrier_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("trans_kind_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_trans_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_trans_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("cache_op_kind_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_cache_op_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_cache_op_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_instruction_kind"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("=="),..l),[(Id_aux(Id("eq_string"),..l));(Id_aux(Id("eq_anything"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("vector_update"),..l),[(Id_aux(Id("any_vector_update"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("append"),..l),[(Id_aux(Id("vector_concat"),..l))]));(DEF_overload(Id_aux(Id("~"),..l),[(Id_aux(Id("not_bool"),..l));(Id_aux(Id("not_vec"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_vec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("neq_anything"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Operator("!="),..l),[(Id_aux(Id("neq_vec"),..l));(Id_aux(Id("neq_anything"),..l))]));(DEF_overload(Id_aux(Operator("&"),..l),[(Id_aux(Id("and_vec"),..l))]));(DEF_overload(Id_aux(Operator("|"),..l),[(Id_aux(Id("or_vec"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("string_of_bit"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("BitStr"),..l),[(Id_aux(Id("string_of_bits"),..l));(Id_aux(Id("string_of_bit"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("^"),..l),[(Id_aux(Id("xor_vec"),..l));(Id_aux(Id("int_power"),..l));(Id_aux(Id("concat_str"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("-"),..l),[(Id_aux(Id("sub_vec"),..l));(Id_aux(Id("sub_vec_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator("%"),..l),[(Id_aux(Id("emod_int"),..l));(Id_aux(Id("mod"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Id("min"),..l),[(Id_aux(Id("min_nat"),..l));(Id_aux(Id("min_int"),..l))]));(DEF_overload(Id_aux(Id("max"),..l),[(Id_aux(Id("max_nat"),..l));(Id_aux(Id("max_int"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_instr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_reg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_mem"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_config_print_platform"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("EXTS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("EXTZ"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("zeros_implicit"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("zeros"),..l),[(Id_aux(Id("zeros_implicit"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ones"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("bool_to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("bit_to_bool"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fixity(Infix,4,Id_aux(Id("<_s"),..l)));(DEF_fixity(Infix,4,Id_aux(Id(">=_s"),..l)));(DEF_fixity(Infix,4,Id_aux(Id("<_u"),..l)));(DEF_fixity(Infix,4,Id_aux(Id(">=_u"),..l)));(DEF_fixity(Infix,4,Id_aux(Id("<=_u"),..l)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Operator("<_s"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Operator(">=_s"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Operator("<_u"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Operator(">=_u"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Operator("<=_u"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fixity(Infix,7,Id_aux(Id(">>"),..l)));(DEF_fixity(Infix,7,Id_aux(Id("<<"),..l)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_overload(Id_aux(Operator(">>"),..l),[(Id_aux(Id("shift_bits_right"),..l));(Id_aux(Id("shiftr"),..l))]));(DEF_overload(Id_aux(Operator("<<"),..l),[(Id_aux(Id("shift_bits_left"),..l));(Id_aux(Id("shiftl"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("shift_right_arith64"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("shift_right_arith32"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("n_leading_spaces"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("spc_forwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("spc_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("spc_matches_prefix"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("opt_spc_forwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("opt_spc_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("opt_spc_matches_prefix"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("def_spc_forwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("def_spc_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("def_spc_matches_prefix"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_1_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_1_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_1_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_2_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_2_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_2_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_3_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_3_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_3_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_4_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_4_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_4_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_5_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_5_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_5_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_6_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_6_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_6_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_7_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_7_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_7_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_8_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_8_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_8_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_9_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_9_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_9_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_10_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_10_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_10_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_11_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_11_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_11_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_12_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_12_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_12_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_13_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_13_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_13_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_14_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_14_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_14_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_15_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_15_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_15_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_16_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_16_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_16_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_17_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_17_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_17_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_18_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_18_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_18_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_19_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_19_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_19_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_20_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_20_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_20_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_21_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_21_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_21_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_22_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_22_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_22_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_23_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_23_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_23_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_24_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_24_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_24_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_25_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_25_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_25_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_26_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_26_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_26_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_27_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_27_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_27_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_28_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_28_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_28_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_29_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_29_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_29_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_30_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_30_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_30_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_31_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_31_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_31_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_32_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_32_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_32_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_33_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_33_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_33_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_48_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_48_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_48_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_64_forwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_64_backwards_matches"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("hex_bits_64_backwards"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),..l)),..l),P_aux(P_id(Id_aux(Id("default_meta"),..l)),..annot)),..annot),E_aux(E_lit(L_aux(L_unit,..l)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("__WriteRAM_Meta"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("__ReadRAM_Meta"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_ram"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_ram_ea"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("read_ram"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(..type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("ext_ptw"),..l)),..l),P_aux(P_id(Id_aux(Id("init_ext_ptw"),..l)),..annot)),..annot),E_aux(E_lit(L_aux(L_unit,..l)),..annot)),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("ext_exc_type"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_translate_exception"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_val"),..l)),..annot),E_aux(E_lit(L_aux(L_num(64),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_max_unsigned"),..l)),..annot),E_aux(E_app(Id_aux(Id("sub_atom"),..l),[(E_aux(E_app(Id_aux(Id("pow2"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(1),..l)),..annot))]),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_max_signed"),..l)),..annot),E_aux(E_app(Id_aux(Id("sub_atom"),..l),[(E_aux(E_app(Id_aux(Id("pow2"),..l),[(E_aux(E_app(Id_aux(Id("sub_atom"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(1),..l)),..annot))]),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(1),..l)),..annot))]),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("xlen_min_signed"),..l)),..annot),E_aux(E_app(Id_aux(Id("sub_atom"),..l),[(E_aux(E_lit(L_aux(L_num(0),..l)),..annot));(E_aux(E_app(Id_aux(Id("pow2"),..l),[(E_aux(E_app(Id_aux(Id("sub_atom"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(1),..l)),..annot))]),..annot))]),..annot))]),..annot)),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("regidx_to_regno"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("creg2reg_idx"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l),P_aux(P_id(Id_aux(Id("zreg"),..l)),..annot)),..annot),E_aux(E_lit(L_aux(L_bin("00000"),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l),P_aux(P_id(Id_aux(Id("ra"),..l)),..annot)),..annot),E_aux(E_lit(L_aux(L_bin("00001"),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l),P_aux(P_id(Id_aux(Id("sp"),..l)),..annot)),..annot),E_aux(E_lit(L_aux(L_bin("00010"),..l)),..annot)),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Architecture_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_Architecture"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Architecture"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("Architecture"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("architecture"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("arch_to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Privilege_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_Privilege"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Privilege"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("privLevel_to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("privLevel_of_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("privLevel_to_str"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("to_str"),..l),[(Id_aux(Id("privLevel_to_str"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Retired_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_Retired"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Retired"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_AccessType"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("word_width_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_word_width"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_word_width"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("InterruptType_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_InterruptType"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_InterruptType"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("interruptType_to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ExceptionType"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exceptionType_to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_ExceptionType"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exceptionType_to_str"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("to_str"),..l),[(Id_aux(Id("exceptionType_to_str"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_exception"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("not_implemented"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("internal_error"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("TrapVectorMode_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_TrapVectorMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_TrapVectorMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("trapVectorMode_of_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ExtStatus_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_ExtStatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ExtStatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("extStatus_to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("extStatus_of_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("SATPMode_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_SATPMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SATPMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("SATPMode"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("satp64Mode_of_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("uop_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_uop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_uop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("bop_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_bop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_bop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("iop_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_iop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_iop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sop_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_sop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_sop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rop_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_rop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_rop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ropw_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_ropw"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ropw"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("sopw_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_sopw"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_sopw"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("amoop_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_amoop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_amoop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csrop_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_csrop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_csrop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("sep"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("opt_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string(","),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("def_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot))]),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bool_bits"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bool_not_bits"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("size_bits"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("word_width"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("BYTE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("HALF"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("WORD"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("DOUBLE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("size_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("word_width"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("BYTE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("b"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("HALF"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("h"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("WORD"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("w"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("DOUBLE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("d"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("word_width_bytes"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("ext_access_type"),..l)),..l),P_aux(P_id(Id_aux(Id("Data"),..l)),..annot)),..annot),E_aux(E_lit(L_aux(L_unit,..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("ext_access_type"),..l)),..l),P_aux(P_id(Id_aux(Id("default_write_acc"),..l)),..annot)),..annot),E_aux(E_id(Id_aux(Id("Data"),..l)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("accessType_to_str"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("to_str"),..l),[(Id_aux(Id("accessType_to_str"),..l))]));(DEF_type(..type_def));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),P_aux(P_id(Id_aux(Id("zero_reg"),..l)),..annot)),..annot),E_aux(E_app(Id_aux(Id("EXTZ"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_hex("0"),..l)),..annot))]),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("RegStr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("regval_from_reg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("regval_into_reg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("PC"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("nextPC"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("instbits"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("vector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l));(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l)),..l))]),..l),Id_aux(Id("Xs"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x1"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x2"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x3"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x4"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x5"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x6"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x7"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x8"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x9"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x10"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x11"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x12"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x13"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x14"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x15"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x16"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x17"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x18"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x19"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x20"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x21"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x22"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x23"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x24"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x25"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x26"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x27"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x28"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x29"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x30"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("regtype"),..l)),..l),Id_aux(Id("x31"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rX"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_wX"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("wX"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rX_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("wX_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("X"),..l),[(Id_aux(Id("rX_bits"),..l));(Id_aux(Id("wX_bits"),..l));(Id_aux(Id("rX"),..l));(Id_aux(Id("wX"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("reg_name_abi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("to_str"),..l),[(Id_aux(Id("reg_name_abi"),..l))]));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("reg_name"),..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("zero"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00001"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ra"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00010"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sp"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00011"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("gp"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00100"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tp"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00101"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t0"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00110"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t1"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00111"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t2"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01000"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fp"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01001"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s1"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01010"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a0"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01011"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a1"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01100"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a2"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01101"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a3"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01110"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a4"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01111"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a5"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10000"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a6"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10001"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a7"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10010"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s2"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10011"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s3"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10100"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s4"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10101"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s5"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10110"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s6"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10111"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s7"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11000"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s8"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11001"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s9"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11010"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s10"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11011"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s11"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11100"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t3"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11101"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t4"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11110"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t5"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11111"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("t6"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("creg_name"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s0"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("s1"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("010"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a0"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a1"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a2"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a3"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("110"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a4"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("111"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("a5"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_base_regs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_arch_pc"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_next_pc"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_next_pc"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tick_pc"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Privilege"),..l)),..l),Id_aux(Id("cur_privilege"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("cur_inst"),..l)),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Misa"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Misa"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Misa_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Misa_bits"),..l));(Id_aux(Id("_set_Misa_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_MXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_MXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_MXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MXL"),..l),[(Id_aux(Id("_update_Misa_MXL"),..l))]));(DEF_overload(Id_aux(Id("_mod_MXL"),..l),[(Id_aux(Id("_get_Misa_MXL"),..l));(Id_aux(Id("_set_Misa_MXL"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_Z"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_Z"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_Z"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Z"),..l),[(Id_aux(Id("_update_Misa_Z"),..l))]));(DEF_overload(Id_aux(Id("_mod_Z"),..l),[(Id_aux(Id("_get_Misa_Z"),..l));(Id_aux(Id("_set_Misa_Z"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_Y"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_Y"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_Y"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Y"),..l),[(Id_aux(Id("_update_Misa_Y"),..l))]));(DEF_overload(Id_aux(Id("_mod_Y"),..l),[(Id_aux(Id("_get_Misa_Y"),..l));(Id_aux(Id("_set_Misa_Y"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_X"),..l),[(Id_aux(Id("_update_Misa_X"),..l))]));(DEF_overload(Id_aux(Id("_mod_X"),..l),[(Id_aux(Id("_get_Misa_X"),..l));(Id_aux(Id("_set_Misa_X"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_W"),..l),[(Id_aux(Id("_update_Misa_W"),..l))]));(DEF_overload(Id_aux(Id("_mod_W"),..l),[(Id_aux(Id("_get_Misa_W"),..l));(Id_aux(Id("_set_Misa_W"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_V"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_V"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_V"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_V"),..l),[(Id_aux(Id("_update_Misa_V"),..l))]));(DEF_overload(Id_aux(Id("_mod_V"),..l),[(Id_aux(Id("_get_Misa_V"),..l));(Id_aux(Id("_set_Misa_V"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_U"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_U"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_U"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_U"),..l),[(Id_aux(Id("_update_Misa_U"),..l))]));(DEF_overload(Id_aux(Id("_mod_U"),..l),[(Id_aux(Id("_get_Misa_U"),..l));(Id_aux(Id("_set_Misa_U"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_T"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_T"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_T"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_T"),..l),[(Id_aux(Id("_update_Misa_T"),..l))]));(DEF_overload(Id_aux(Id("_mod_T"),..l),[(Id_aux(Id("_get_Misa_T"),..l));(Id_aux(Id("_set_Misa_T"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_S"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_S"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_S"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_S"),..l),[(Id_aux(Id("_update_Misa_S"),..l))]));(DEF_overload(Id_aux(Id("_mod_S"),..l),[(Id_aux(Id("_get_Misa_S"),..l));(Id_aux(Id("_set_Misa_S"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_R"),..l),[(Id_aux(Id("_update_Misa_R"),..l))]));(DEF_overload(Id_aux(Id("_mod_R"),..l),[(Id_aux(Id("_get_Misa_R"),..l));(Id_aux(Id("_set_Misa_R"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_Q"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_Q"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_Q"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Q"),..l),[(Id_aux(Id("_update_Misa_Q"),..l))]));(DEF_overload(Id_aux(Id("_mod_Q"),..l),[(Id_aux(Id("_get_Misa_Q"),..l));(Id_aux(Id("_set_Misa_Q"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_P"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_P"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_P"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_P"),..l),[(Id_aux(Id("_update_Misa_P"),..l))]));(DEF_overload(Id_aux(Id("_mod_P"),..l),[(Id_aux(Id("_get_Misa_P"),..l));(Id_aux(Id("_set_Misa_P"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_O"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_O"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_O"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_O"),..l),[(Id_aux(Id("_update_Misa_O"),..l))]));(DEF_overload(Id_aux(Id("_mod_O"),..l),[(Id_aux(Id("_get_Misa_O"),..l));(Id_aux(Id("_set_Misa_O"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_N"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_N"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_N"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_N"),..l),[(Id_aux(Id("_update_Misa_N"),..l))]));(DEF_overload(Id_aux(Id("_mod_N"),..l),[(Id_aux(Id("_get_Misa_N"),..l));(Id_aux(Id("_set_Misa_N"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_M"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_M"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_M"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_M"),..l),[(Id_aux(Id("_update_Misa_M"),..l))]));(DEF_overload(Id_aux(Id("_mod_M"),..l),[(Id_aux(Id("_get_Misa_M"),..l));(Id_aux(Id("_set_Misa_M"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_L"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_L"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_L"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_L"),..l),[(Id_aux(Id("_update_Misa_L"),..l))]));(DEF_overload(Id_aux(Id("_mod_L"),..l),[(Id_aux(Id("_get_Misa_L"),..l));(Id_aux(Id("_set_Misa_L"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_K"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_K"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_K"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_K"),..l),[(Id_aux(Id("_update_Misa_K"),..l))]));(DEF_overload(Id_aux(Id("_mod_K"),..l),[(Id_aux(Id("_get_Misa_K"),..l));(Id_aux(Id("_set_Misa_K"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_J"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_J"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_J"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_J"),..l),[(Id_aux(Id("_update_Misa_J"),..l))]));(DEF_overload(Id_aux(Id("_mod_J"),..l),[(Id_aux(Id("_get_Misa_J"),..l));(Id_aux(Id("_set_Misa_J"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_I"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_I"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_I"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_I"),..l),[(Id_aux(Id("_update_Misa_I"),..l))]));(DEF_overload(Id_aux(Id("_mod_I"),..l),[(Id_aux(Id("_get_Misa_I"),..l));(Id_aux(Id("_set_Misa_I"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_H"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_H"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_H"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_H"),..l),[(Id_aux(Id("_update_Misa_H"),..l))]));(DEF_overload(Id_aux(Id("_mod_H"),..l),[(Id_aux(Id("_get_Misa_H"),..l));(Id_aux(Id("_set_Misa_H"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_G"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_G"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_G"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_G"),..l),[(Id_aux(Id("_update_Misa_G"),..l))]));(DEF_overload(Id_aux(Id("_mod_G"),..l),[(Id_aux(Id("_get_Misa_G"),..l));(Id_aux(Id("_set_Misa_G"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_F"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_F"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_F"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_F"),..l),[(Id_aux(Id("_update_Misa_F"),..l))]));(DEF_overload(Id_aux(Id("_mod_F"),..l),[(Id_aux(Id("_get_Misa_F"),..l));(Id_aux(Id("_set_Misa_F"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_E"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_E"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_E"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_E"),..l),[(Id_aux(Id("_update_Misa_E"),..l))]));(DEF_overload(Id_aux(Id("_mod_E"),..l),[(Id_aux(Id("_get_Misa_E"),..l));(Id_aux(Id("_set_Misa_E"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_D"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_D"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_D"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_D"),..l),[(Id_aux(Id("_update_Misa_D"),..l))]));(DEF_overload(Id_aux(Id("_mod_D"),..l),[(Id_aux(Id("_get_Misa_D"),..l));(Id_aux(Id("_set_Misa_D"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_C"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_C"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_C"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_C"),..l),[(Id_aux(Id("_update_Misa_C"),..l))]));(DEF_overload(Id_aux(Id("_mod_C"),..l),[(Id_aux(Id("_get_Misa_C"),..l));(Id_aux(Id("_set_Misa_C"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_B"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_B"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_B"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_B"),..l),[(Id_aux(Id("_update_Misa_B"),..l))]));(DEF_overload(Id_aux(Id("_mod_B"),..l),[(Id_aux(Id("_get_Misa_B"),..l));(Id_aux(Id("_set_Misa_B"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Misa_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Misa_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Misa_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_A"),..l),[(Id_aux(Id("_update_Misa_A"),..l))]));(DEF_overload(Id_aux(Id("_mod_A"),..l),[(Id_aux(Id("_get_Misa_A"),..l));(Id_aux(Id("_set_Misa_A"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Misa"),..l)),..l),Id_aux(Id("misa"),..l)),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Misa"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_misa"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveAtomics"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveRVC"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveMulDiv"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveSupMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveUsrMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("haveNExt"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Mstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Mstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Mstatus_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Mstatus_bits"),..l));(Id_aux(Id("_set_Mstatus_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SD"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SD"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SD"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SD"),..l),[(Id_aux(Id("_update_Mstatus_SD"),..l))]));(DEF_overload(Id_aux(Id("_mod_SD"),..l),[(Id_aux(Id("_get_Mstatus_SD"),..l));(Id_aux(Id("_set_Mstatus_SD"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_TSR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_TSR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_TSR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_TSR"),..l),[(Id_aux(Id("_update_Mstatus_TSR"),..l))]));(DEF_overload(Id_aux(Id("_mod_TSR"),..l),[(Id_aux(Id("_get_Mstatus_TSR"),..l));(Id_aux(Id("_set_Mstatus_TSR"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_TW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_TW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_TW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_TW"),..l),[(Id_aux(Id("_update_Mstatus_TW"),..l))]));(DEF_overload(Id_aux(Id("_mod_TW"),..l),[(Id_aux(Id("_get_Mstatus_TW"),..l));(Id_aux(Id("_set_Mstatus_TW"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_TVM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_TVM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_TVM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_TVM"),..l),[(Id_aux(Id("_update_Mstatus_TVM"),..l))]));(DEF_overload(Id_aux(Id("_mod_TVM"),..l),[(Id_aux(Id("_get_Mstatus_TVM"),..l));(Id_aux(Id("_set_Mstatus_TVM"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MXR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MXR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MXR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MXR"),..l),[(Id_aux(Id("_update_Mstatus_MXR"),..l))]));(DEF_overload(Id_aux(Id("_mod_MXR"),..l),[(Id_aux(Id("_get_Mstatus_MXR"),..l));(Id_aux(Id("_set_Mstatus_MXR"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SUM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SUM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SUM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SUM"),..l),[(Id_aux(Id("_update_Mstatus_SUM"),..l))]));(DEF_overload(Id_aux(Id("_mod_SUM"),..l),[(Id_aux(Id("_get_Mstatus_SUM"),..l));(Id_aux(Id("_set_Mstatus_SUM"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MPRV"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MPRV"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MPRV"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MPRV"),..l),[(Id_aux(Id("_update_Mstatus_MPRV"),..l))]));(DEF_overload(Id_aux(Id("_mod_MPRV"),..l),[(Id_aux(Id("_get_Mstatus_MPRV"),..l));(Id_aux(Id("_set_Mstatus_MPRV"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_XS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_XS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_XS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_XS"),..l),[(Id_aux(Id("_update_Mstatus_XS"),..l))]));(DEF_overload(Id_aux(Id("_mod_XS"),..l),[(Id_aux(Id("_get_Mstatus_XS"),..l));(Id_aux(Id("_set_Mstatus_XS"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_FS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_FS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_FS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_FS"),..l),[(Id_aux(Id("_update_Mstatus_FS"),..l))]));(DEF_overload(Id_aux(Id("_mod_FS"),..l),[(Id_aux(Id("_get_Mstatus_FS"),..l));(Id_aux(Id("_set_Mstatus_FS"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MPP"),..l),[(Id_aux(Id("_update_Mstatus_MPP"),..l))]));(DEF_overload(Id_aux(Id("_mod_MPP"),..l),[(Id_aux(Id("_get_Mstatus_MPP"),..l));(Id_aux(Id("_set_Mstatus_MPP"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SPP"),..l),[(Id_aux(Id("_update_Mstatus_SPP"),..l))]));(DEF_overload(Id_aux(Id("_mod_SPP"),..l),[(Id_aux(Id("_get_Mstatus_SPP"),..l));(Id_aux(Id("_set_Mstatus_SPP"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MPIE"),..l),[(Id_aux(Id("_update_Mstatus_MPIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_MPIE"),..l),[(Id_aux(Id("_get_Mstatus_MPIE"),..l));(Id_aux(Id("_set_Mstatus_MPIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SPIE"),..l),[(Id_aux(Id("_update_Mstatus_SPIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_SPIE"),..l),[(Id_aux(Id("_get_Mstatus_SPIE"),..l));(Id_aux(Id("_set_Mstatus_SPIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UPIE"),..l),[(Id_aux(Id("_update_Mstatus_UPIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_UPIE"),..l),[(Id_aux(Id("_get_Mstatus_UPIE"),..l));(Id_aux(Id("_set_Mstatus_UPIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_MIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_MIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_MIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MIE"),..l),[(Id_aux(Id("_update_Mstatus_MIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_MIE"),..l),[(Id_aux(Id("_get_Mstatus_MIE"),..l));(Id_aux(Id("_set_Mstatus_MIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_SIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_SIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_SIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SIE"),..l),[(Id_aux(Id("_update_Mstatus_SIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_SIE"),..l),[(Id_aux(Id("_get_Mstatus_SIE"),..l));(Id_aux(Id("_set_Mstatus_SIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mstatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mstatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mstatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UIE"),..l),[(Id_aux(Id("_update_Mstatus_UIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_UIE"),..l),[(Id_aux(Id("_get_Mstatus_UIE"),..l));(Id_aux(Id("_set_Mstatus_UIE"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),..l)),..l),Id_aux(Id("mstatus"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Privilege"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("effectivePrivilege"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_mstatus_SXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_mstatus_SXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_mstatus_UXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_mstatus_UXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Architecture"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("cur_Architecture"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("in32BitMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Minterrupts"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Minterrupts"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Minterrupts_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Minterrupts_bits"),..l));(Id_aux(Id("_set_Minterrupts_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_MEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_MEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_MEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MEI"),..l),[(Id_aux(Id("_update_Minterrupts_MEI"),..l))]));(DEF_overload(Id_aux(Id("_mod_MEI"),..l),[(Id_aux(Id("_get_Minterrupts_MEI"),..l));(Id_aux(Id("_set_Minterrupts_MEI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_SEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_SEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_SEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SEI"),..l),[(Id_aux(Id("_update_Minterrupts_SEI"),..l))]));(DEF_overload(Id_aux(Id("_mod_SEI"),..l),[(Id_aux(Id("_get_Minterrupts_SEI"),..l));(Id_aux(Id("_set_Minterrupts_SEI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UEI"),..l),[(Id_aux(Id("_update_Minterrupts_UEI"),..l))]));(DEF_overload(Id_aux(Id("_mod_UEI"),..l),[(Id_aux(Id("_get_Minterrupts_UEI"),..l));(Id_aux(Id("_set_Minterrupts_UEI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_MTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_MTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_MTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MTI"),..l),[(Id_aux(Id("_update_Minterrupts_MTI"),..l))]));(DEF_overload(Id_aux(Id("_mod_MTI"),..l),[(Id_aux(Id("_get_Minterrupts_MTI"),..l));(Id_aux(Id("_set_Minterrupts_MTI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_STI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_STI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_STI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_STI"),..l),[(Id_aux(Id("_update_Minterrupts_STI"),..l))]));(DEF_overload(Id_aux(Id("_mod_STI"),..l),[(Id_aux(Id("_get_Minterrupts_STI"),..l));(Id_aux(Id("_set_Minterrupts_STI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UTI"),..l),[(Id_aux(Id("_update_Minterrupts_UTI"),..l))]));(DEF_overload(Id_aux(Id("_mod_UTI"),..l),[(Id_aux(Id("_get_Minterrupts_UTI"),..l));(Id_aux(Id("_set_Minterrupts_UTI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_MSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_MSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_MSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MSI"),..l),[(Id_aux(Id("_update_Minterrupts_MSI"),..l))]));(DEF_overload(Id_aux(Id("_mod_MSI"),..l),[(Id_aux(Id("_get_Minterrupts_MSI"),..l));(Id_aux(Id("_set_Minterrupts_MSI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_SSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_SSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_SSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SSI"),..l),[(Id_aux(Id("_update_Minterrupts_SSI"),..l))]));(DEF_overload(Id_aux(Id("_mod_SSI"),..l),[(Id_aux(Id("_get_Minterrupts_SSI"),..l));(Id_aux(Id("_set_Minterrupts_SSI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Minterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Minterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Minterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_USI"),..l),[(Id_aux(Id("_update_Minterrupts_USI"),..l))]));(DEF_overload(Id_aux(Id("_mod_USI"),..l),[(Id_aux(Id("_get_Minterrupts_USI"),..l));(Id_aux(Id("_set_Minterrupts_USI"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l),Id_aux(Id("mip"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l),Id_aux(Id("mie"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l),Id_aux(Id("mideleg"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mip"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mie"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mideleg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Medeleg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Medeleg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Medeleg_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Medeleg_bits"),..l));(Id_aux(Id("_set_Medeleg_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SAMO_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SAMO_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SAMO_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SAMO_Page_Fault"),..l),[(Id_aux(Id("_update_Medeleg_SAMO_Page_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Page_Fault"),..l),[(Id_aux(Id("_get_Medeleg_SAMO_Page_Fault"),..l));(Id_aux(Id("_set_Medeleg_SAMO_Page_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Load_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Load_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Load_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Load_Page_Fault"),..l),[(Id_aux(Id("_update_Medeleg_Load_Page_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_Load_Page_Fault"),..l),[(Id_aux(Id("_get_Medeleg_Load_Page_Fault"),..l));(Id_aux(Id("_set_Medeleg_Load_Page_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Fetch_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Fetch_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Fetch_Page_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Fetch_Page_Fault"),..l),[(Id_aux(Id("_update_Medeleg_Fetch_Page_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Page_Fault"),..l),[(Id_aux(Id("_get_Medeleg_Fetch_Page_Fault"),..l));(Id_aux(Id("_set_Medeleg_Fetch_Page_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_MEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_MEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_MEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MEnvCall"),..l),[(Id_aux(Id("_update_Medeleg_MEnvCall"),..l))]));(DEF_overload(Id_aux(Id("_mod_MEnvCall"),..l),[(Id_aux(Id("_get_Medeleg_MEnvCall"),..l));(Id_aux(Id("_set_Medeleg_MEnvCall"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SEnvCall"),..l),[(Id_aux(Id("_update_Medeleg_SEnvCall"),..l))]));(DEF_overload(Id_aux(Id("_mod_SEnvCall"),..l),[(Id_aux(Id("_get_Medeleg_SEnvCall"),..l));(Id_aux(Id("_set_Medeleg_SEnvCall"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_UEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_UEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_UEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UEnvCall"),..l),[(Id_aux(Id("_update_Medeleg_UEnvCall"),..l))]));(DEF_overload(Id_aux(Id("_mod_UEnvCall"),..l),[(Id_aux(Id("_get_Medeleg_UEnvCall"),..l));(Id_aux(Id("_set_Medeleg_UEnvCall"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SAMO_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SAMO_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SAMO_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SAMO_Access_Fault"),..l),[(Id_aux(Id("_update_Medeleg_SAMO_Access_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Access_Fault"),..l),[(Id_aux(Id("_get_Medeleg_SAMO_Access_Fault"),..l));(Id_aux(Id("_set_Medeleg_SAMO_Access_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_SAMO_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_SAMO_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_SAMO_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SAMO_Addr_Align"),..l),[(Id_aux(Id("_update_Medeleg_SAMO_Addr_Align"),..l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Addr_Align"),..l),[(Id_aux(Id("_get_Medeleg_SAMO_Addr_Align"),..l));(Id_aux(Id("_set_Medeleg_SAMO_Addr_Align"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Load_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Load_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Load_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Load_Access_Fault"),..l),[(Id_aux(Id("_update_Medeleg_Load_Access_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_Load_Access_Fault"),..l),[(Id_aux(Id("_get_Medeleg_Load_Access_Fault"),..l));(Id_aux(Id("_set_Medeleg_Load_Access_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Load_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Load_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Load_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Load_Addr_Align"),..l),[(Id_aux(Id("_update_Medeleg_Load_Addr_Align"),..l))]));(DEF_overload(Id_aux(Id("_mod_Load_Addr_Align"),..l),[(Id_aux(Id("_get_Medeleg_Load_Addr_Align"),..l));(Id_aux(Id("_set_Medeleg_Load_Addr_Align"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Breakpoint"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Breakpoint"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Breakpoint"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Breakpoint"),..l),[(Id_aux(Id("_update_Medeleg_Breakpoint"),..l))]));(DEF_overload(Id_aux(Id("_mod_Breakpoint"),..l),[(Id_aux(Id("_get_Medeleg_Breakpoint"),..l));(Id_aux(Id("_set_Medeleg_Breakpoint"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Illegal_Instr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Illegal_Instr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Illegal_Instr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Illegal_Instr"),..l),[(Id_aux(Id("_update_Medeleg_Illegal_Instr"),..l))]));(DEF_overload(Id_aux(Id("_mod_Illegal_Instr"),..l),[(Id_aux(Id("_get_Medeleg_Illegal_Instr"),..l));(Id_aux(Id("_set_Medeleg_Illegal_Instr"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Fetch_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Fetch_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Fetch_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Fetch_Access_Fault"),..l),[(Id_aux(Id("_update_Medeleg_Fetch_Access_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Access_Fault"),..l),[(Id_aux(Id("_get_Medeleg_Fetch_Access_Fault"),..l));(Id_aux(Id("_set_Medeleg_Fetch_Access_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Medeleg_Fetch_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Medeleg_Fetch_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Medeleg_Fetch_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Fetch_Addr_Align"),..l),[(Id_aux(Id("_update_Medeleg_Fetch_Addr_Align"),..l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Addr_Align"),..l),[(Id_aux(Id("_get_Medeleg_Fetch_Addr_Align"),..l));(Id_aux(Id("_set_Medeleg_Fetch_Addr_Align"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Medeleg"),..l)),..l),Id_aux(Id("medeleg"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Medeleg"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_medeleg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Mtvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Mtvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mtvec_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mtvec_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mtvec_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Mtvec_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Mtvec_bits"),..l));(Id_aux(Id("_set_Mtvec_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mtvec_Base"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mtvec_Base"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mtvec_Base"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Base"),..l),[(Id_aux(Id("_update_Mtvec_Base"),..l))]));(DEF_overload(Id_aux(Id("_mod_Base"),..l),[(Id_aux(Id("_get_Mtvec_Base"),..l));(Id_aux(Id("_set_Mtvec_Base"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mtvec_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mtvec_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mtvec_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Mode"),..l),[(Id_aux(Id("_update_Mtvec_Mode"),..l))]));(DEF_overload(Id_aux(Id("_mod_Mode"),..l),[(Id_aux(Id("_get_Mtvec_Mode"),..l));(Id_aux(Id("_set_Mtvec_Mode"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),..l)),..l),Id_aux(Id("mtvec"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_tvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Mcause"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Mcause"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mcause_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mcause_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mcause_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Mcause_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Mcause_bits"),..l));(Id_aux(Id("_set_Mcause_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mcause_IsInterrupt"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mcause_IsInterrupt"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mcause_IsInterrupt"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_IsInterrupt"),..l),[(Id_aux(Id("_update_Mcause_IsInterrupt"),..l))]));(DEF_overload(Id_aux(Id("_mod_IsInterrupt"),..l),[(Id_aux(Id("_get_Mcause_IsInterrupt"),..l));(Id_aux(Id("_set_Mcause_IsInterrupt"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Mcause_Cause"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Mcause_Cause"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Mcause_Cause"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Cause"),..l),[(Id_aux(Id("_update_Mcause_Cause"),..l))]));(DEF_overload(Id_aux(Id("_mod_Cause"),..l),[(Id_aux(Id("_get_Mcause_Cause"),..l));(Id_aux(Id("_set_Mcause_Cause"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Mcause"),..l)),..l),Id_aux(Id("mcause"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tvec_addr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("mepc"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_xepc"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pc_alignment_mask"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("mtval"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("mscratch"),..l)),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Counteren"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Counteren"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Counteren_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Counteren_bits"),..l));(Id_aux(Id("_set_Counteren_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_HPM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_HPM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_HPM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_HPM"),..l),[(Id_aux(Id("_update_Counteren_HPM"),..l))]));(DEF_overload(Id_aux(Id("_mod_HPM"),..l),[(Id_aux(Id("_get_Counteren_HPM"),..l));(Id_aux(Id("_set_Counteren_HPM"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_IR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_IR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_IR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_IR"),..l),[(Id_aux(Id("_update_Counteren_IR"),..l))]));(DEF_overload(Id_aux(Id("_mod_IR"),..l),[(Id_aux(Id("_get_Counteren_IR"),..l));(Id_aux(Id("_set_Counteren_IR"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_TM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_TM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_TM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_TM"),..l),[(Id_aux(Id("_update_Counteren_TM"),..l))]));(DEF_overload(Id_aux(Id("_mod_TM"),..l),[(Id_aux(Id("_get_Counteren_TM"),..l));(Id_aux(Id("_set_Counteren_TM"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Counteren_CY"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Counteren_CY"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Counteren_CY"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_CY"),..l),[(Id_aux(Id("_update_Counteren_CY"),..l))]));(DEF_overload(Id_aux(Id("_mod_CY"),..l),[(Id_aux(Id("_get_Counteren_CY"),..l));(Id_aux(Id("_set_Counteren_CY"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),..l)),..l),Id_aux(Id("mcounteren"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),..l)),..l),Id_aux(Id("scounteren"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_mcounteren"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Counteren"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_scounteren"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l),Id_aux(Id("mcycle"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l),Id_aux(Id("mtime"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l),Id_aux(Id("minstret"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),Id_aux(Id("minstret_written"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("retire_instruction"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),..l)),..l))]),..l),Id_aux(Id("mvendorid"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("mimpid"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("marchid"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("mhartid"),..l)),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Sstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Sstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Sstatus_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Sstatus_bits"),..l));(Id_aux(Id("_set_Sstatus_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SD"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SD"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SD"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SD"),..l),[(Id_aux(Id("_update_Sstatus_SD"),..l))]));(DEF_overload(Id_aux(Id("_mod_SD"),..l),[(Id_aux(Id("_get_Sstatus_SD"),..l));(Id_aux(Id("_set_Sstatus_SD"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_MXR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_MXR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_MXR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_MXR"),..l),[(Id_aux(Id("_update_Sstatus_MXR"),..l))]));(DEF_overload(Id_aux(Id("_mod_MXR"),..l),[(Id_aux(Id("_get_Sstatus_MXR"),..l));(Id_aux(Id("_set_Sstatus_MXR"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SUM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SUM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SUM"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SUM"),..l),[(Id_aux(Id("_update_Sstatus_SUM"),..l))]));(DEF_overload(Id_aux(Id("_mod_SUM"),..l),[(Id_aux(Id("_get_Sstatus_SUM"),..l));(Id_aux(Id("_set_Sstatus_SUM"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_XS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_XS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_XS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_XS"),..l),[(Id_aux(Id("_update_Sstatus_XS"),..l))]));(DEF_overload(Id_aux(Id("_mod_XS"),..l),[(Id_aux(Id("_get_Sstatus_XS"),..l));(Id_aux(Id("_set_Sstatus_XS"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_FS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_FS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_FS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_FS"),..l),[(Id_aux(Id("_update_Sstatus_FS"),..l))]));(DEF_overload(Id_aux(Id("_mod_FS"),..l),[(Id_aux(Id("_get_Sstatus_FS"),..l));(Id_aux(Id("_set_Sstatus_FS"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SPP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SPP"),..l),[(Id_aux(Id("_update_Sstatus_SPP"),..l))]));(DEF_overload(Id_aux(Id("_mod_SPP"),..l),[(Id_aux(Id("_get_Sstatus_SPP"),..l));(Id_aux(Id("_set_Sstatus_SPP"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SPIE"),..l),[(Id_aux(Id("_update_Sstatus_SPIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_SPIE"),..l),[(Id_aux(Id("_get_Sstatus_SPIE"),..l));(Id_aux(Id("_set_Sstatus_SPIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UPIE"),..l),[(Id_aux(Id("_update_Sstatus_UPIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_UPIE"),..l),[(Id_aux(Id("_get_Sstatus_UPIE"),..l));(Id_aux(Id("_set_Sstatus_UPIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_SIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_SIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_SIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SIE"),..l),[(Id_aux(Id("_update_Sstatus_SIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_SIE"),..l),[(Id_aux(Id("_get_Sstatus_SIE"),..l));(Id_aux(Id("_set_Sstatus_SIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sstatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sstatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sstatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UIE"),..l),[(Id_aux(Id("_update_Sstatus_UIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_UIE"),..l),[(Id_aux(Id("_get_Sstatus_UIE"),..l));(Id_aux(Id("_set_Sstatus_UIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("arch_xlen"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_sstatus_UXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_sstatus_UXL"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_mstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_sstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Sedeleg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Sedeleg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Sedeleg_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Sedeleg_bits"),..l));(Id_aux(Id("_set_Sedeleg_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_UEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_UEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_UEnvCall"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UEnvCall"),..l),[(Id_aux(Id("_update_Sedeleg_UEnvCall"),..l))]));(DEF_overload(Id_aux(Id("_mod_UEnvCall"),..l),[(Id_aux(Id("_get_Sedeleg_UEnvCall"),..l));(Id_aux(Id("_set_Sedeleg_UEnvCall"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_SAMO_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_SAMO_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_SAMO_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SAMO_Access_Fault"),..l),[(Id_aux(Id("_update_Sedeleg_SAMO_Access_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Access_Fault"),..l),[(Id_aux(Id("_get_Sedeleg_SAMO_Access_Fault"),..l));(Id_aux(Id("_set_Sedeleg_SAMO_Access_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_SAMO_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_SAMO_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_SAMO_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SAMO_Addr_Align"),..l),[(Id_aux(Id("_update_Sedeleg_SAMO_Addr_Align"),..l))]));(DEF_overload(Id_aux(Id("_mod_SAMO_Addr_Align"),..l),[(Id_aux(Id("_get_Sedeleg_SAMO_Addr_Align"),..l));(Id_aux(Id("_set_Sedeleg_SAMO_Addr_Align"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Load_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Load_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Load_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Load_Access_Fault"),..l),[(Id_aux(Id("_update_Sedeleg_Load_Access_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_Load_Access_Fault"),..l),[(Id_aux(Id("_get_Sedeleg_Load_Access_Fault"),..l));(Id_aux(Id("_set_Sedeleg_Load_Access_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Load_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Load_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Load_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Load_Addr_Align"),..l),[(Id_aux(Id("_update_Sedeleg_Load_Addr_Align"),..l))]));(DEF_overload(Id_aux(Id("_mod_Load_Addr_Align"),..l),[(Id_aux(Id("_get_Sedeleg_Load_Addr_Align"),..l));(Id_aux(Id("_set_Sedeleg_Load_Addr_Align"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Breakpoint"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Breakpoint"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Breakpoint"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Breakpoint"),..l),[(Id_aux(Id("_update_Sedeleg_Breakpoint"),..l))]));(DEF_overload(Id_aux(Id("_mod_Breakpoint"),..l),[(Id_aux(Id("_get_Sedeleg_Breakpoint"),..l));(Id_aux(Id("_set_Sedeleg_Breakpoint"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Illegal_Instr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Illegal_Instr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Illegal_Instr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Illegal_Instr"),..l),[(Id_aux(Id("_update_Sedeleg_Illegal_Instr"),..l))]));(DEF_overload(Id_aux(Id("_mod_Illegal_Instr"),..l),[(Id_aux(Id("_get_Sedeleg_Illegal_Instr"),..l));(Id_aux(Id("_set_Sedeleg_Illegal_Instr"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Fetch_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Fetch_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Fetch_Access_Fault"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Fetch_Access_Fault"),..l),[(Id_aux(Id("_update_Sedeleg_Fetch_Access_Fault"),..l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Access_Fault"),..l),[(Id_aux(Id("_get_Sedeleg_Fetch_Access_Fault"),..l));(Id_aux(Id("_set_Sedeleg_Fetch_Access_Fault"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sedeleg_Fetch_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sedeleg_Fetch_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sedeleg_Fetch_Addr_Align"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Fetch_Addr_Align"),..l),[(Id_aux(Id("_update_Sedeleg_Fetch_Addr_Align"),..l))]));(DEF_overload(Id_aux(Id("_mod_Fetch_Addr_Align"),..l),[(Id_aux(Id("_get_Sedeleg_Fetch_Addr_Align"),..l));(Id_aux(Id("_set_Sedeleg_Fetch_Addr_Align"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Sedeleg"),..l)),..l),Id_aux(Id("sedeleg"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sedeleg"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sedeleg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Sinterrupts"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Sinterrupts"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Sinterrupts_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Sinterrupts_bits"),..l));(Id_aux(Id("_set_Sinterrupts_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_SEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_SEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_SEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SEI"),..l),[(Id_aux(Id("_update_Sinterrupts_SEI"),..l))]));(DEF_overload(Id_aux(Id("_mod_SEI"),..l),[(Id_aux(Id("_get_Sinterrupts_SEI"),..l));(Id_aux(Id("_set_Sinterrupts_SEI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UEI"),..l),[(Id_aux(Id("_update_Sinterrupts_UEI"),..l))]));(DEF_overload(Id_aux(Id("_mod_UEI"),..l),[(Id_aux(Id("_get_Sinterrupts_UEI"),..l));(Id_aux(Id("_set_Sinterrupts_UEI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_STI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_STI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_STI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_STI"),..l),[(Id_aux(Id("_update_Sinterrupts_STI"),..l))]));(DEF_overload(Id_aux(Id("_mod_STI"),..l),[(Id_aux(Id("_get_Sinterrupts_STI"),..l));(Id_aux(Id("_set_Sinterrupts_STI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UTI"),..l),[(Id_aux(Id("_update_Sinterrupts_UTI"),..l))]));(DEF_overload(Id_aux(Id("_mod_UTI"),..l),[(Id_aux(Id("_get_Sinterrupts_UTI"),..l));(Id_aux(Id("_set_Sinterrupts_UTI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_SSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_SSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_SSI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_SSI"),..l),[(Id_aux(Id("_update_Sinterrupts_SSI"),..l))]));(DEF_overload(Id_aux(Id("_mod_SSI"),..l),[(Id_aux(Id("_get_Sinterrupts_SSI"),..l));(Id_aux(Id("_set_Sinterrupts_SSI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Sinterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Sinterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Sinterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_USI"),..l),[(Id_aux(Id("_update_Sinterrupts_USI"),..l))]));(DEF_overload(Id_aux(Id("_mod_USI"),..l),[(Id_aux(Id("_get_Sinterrupts_USI"),..l));(Id_aux(Id("_set_Sinterrupts_USI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_mip"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_mie"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_sip"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sip"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_sie"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Minterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_sie"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),..l)),..l),Id_aux(Id("sideleg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),..l)),..l),Id_aux(Id("stvec"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("sscratch"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("sepc"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Mcause"),..l)),..l),Id_aux(Id("scause"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("stval"),..l)),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Satp64"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Satp64"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Satp64_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Satp64_bits"),..l));(Id_aux(Id("_set_Satp64_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Mode"),..l),[(Id_aux(Id("_update_Satp64_Mode"),..l))]));(DEF_overload(Id_aux(Id("_mod_Mode"),..l),[(Id_aux(Id("_get_Satp64_Mode"),..l));(Id_aux(Id("_set_Satp64_Mode"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_Asid"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_Asid"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_Asid"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Asid"),..l),[(Id_aux(Id("_update_Satp64_Asid"),..l))]));(DEF_overload(Id_aux(Id("_mod_Asid"),..l),[(Id_aux(Id("_get_Satp64_Asid"),..l));(Id_aux(Id("_set_Satp64_Asid"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp64_PPN"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp64_PPN"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp64_PPN"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPN"),..l),[(Id_aux(Id("_update_Satp64_PPN"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPN"),..l),[(Id_aux(Id("_get_Satp64_PPN"),..l));(Id_aux(Id("_set_Satp64_PPN"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_satp64"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Satp32"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Satp32"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Satp32_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Satp32_bits"),..l));(Id_aux(Id("_set_Satp32_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_Mode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Mode"),..l),[(Id_aux(Id("_update_Satp32_Mode"),..l))]));(DEF_overload(Id_aux(Id("_mod_Mode"),..l),[(Id_aux(Id("_get_Satp32_Mode"),..l));(Id_aux(Id("_set_Satp32_Mode"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_Asid"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_Asid"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_Asid"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Asid"),..l),[(Id_aux(Id("_update_Satp32_Asid"),..l))]));(DEF_overload(Id_aux(Id("_mod_Asid"),..l),[(Id_aux(Id("_get_Satp32_Asid"),..l));(Id_aux(Id("_set_Satp32_Asid"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Satp32_PPN"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Satp32_PPN"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Satp32_PPN"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPN"),..l),[(Id_aux(Id("_update_Satp32_PPN"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPN"),..l),[(Id_aux(Id("_get_Satp32_PPN"),..l));(Id_aux(Id("_set_Satp32_PPN"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_satp32"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("tselect"),..l)),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("PmpAddrMatchType_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_PmpAddrMatchType"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PmpAddrMatchType"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrMatchType_of_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrMatchType_to_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Pmpcfg_ent"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Pmpcfg_ent"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Pmpcfg_ent_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Pmpcfg_ent_bits"),..l));(Id_aux(Id("_set_Pmpcfg_ent_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_L"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_L"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_L"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_L"),..l),[(Id_aux(Id("_update_Pmpcfg_ent_L"),..l))]));(DEF_overload(Id_aux(Id("_mod_L"),..l),[(Id_aux(Id("_get_Pmpcfg_ent_L"),..l));(Id_aux(Id("_set_Pmpcfg_ent_L"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_A"),..l),[(Id_aux(Id("_update_Pmpcfg_ent_A"),..l))]));(DEF_overload(Id_aux(Id("_mod_A"),..l),[(Id_aux(Id("_get_Pmpcfg_ent_A"),..l));(Id_aux(Id("_set_Pmpcfg_ent_A"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_X"),..l),[(Id_aux(Id("_update_Pmpcfg_ent_X"),..l))]));(DEF_overload(Id_aux(Id("_mod_X"),..l),[(Id_aux(Id("_get_Pmpcfg_ent_X"),..l));(Id_aux(Id("_set_Pmpcfg_ent_X"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_W"),..l),[(Id_aux(Id("_update_Pmpcfg_ent_W"),..l))]));(DEF_overload(Id_aux(Id("_mod_W"),..l),[(Id_aux(Id("_get_Pmpcfg_ent_W"),..l));(Id_aux(Id("_set_Pmpcfg_ent_W"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Pmpcfg_ent_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Pmpcfg_ent_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Pmpcfg_ent_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_R"),..l),[(Id_aux(Id("_update_Pmpcfg_ent_R"),..l))]));(DEF_overload(Id_aux(Id("_mod_R"),..l),[(Id_aux(Id("_get_Pmpcfg_ent_R"),..l));(Id_aux(Id("_set_Pmpcfg_ent_R"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp0cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp1cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp2cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp3cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp4cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp5cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp6cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp7cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp8cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp9cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp10cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp11cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp12cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp13cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp14cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l),Id_aux(Id("pmp15cfg"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr0"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr1"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr2"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr3"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr4"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr5"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr6"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr7"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr8"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr9"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr10"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr11"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr12"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr13"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr14"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("pmpaddr15"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpReadCfgReg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Pmpcfg_ent"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpWriteCfg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpWriteCfgReg"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpWriteAddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("pmp_addr_range"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrRange"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpCheckRWX"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpCheckPerms"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpAddrMatch_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_pmpAddrMatch"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_pmpAddrMatch"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("pmpAddrMatch"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpMatchAddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpMatch_of_num"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("num_of_pmpMatch"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_pmpMatch"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("pmpMatch"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpMatchEntry"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_bounded_gt(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_constant(0),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ExceptionType"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmpCheck"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_pmp"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_init_regs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_rvfi_init"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_check_CSR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_check_CSR_fail"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ext_FetchAddr_Check"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ext_ControlAddr_Check"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ext_DataAddr_Check"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("Ext_FetchAddr_Check"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_fetch_addr_error"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_fetch_check_pc"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_handle_fetch_check_error"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("Ext_ControlAddr_Check"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_control_addr_error"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_control_check_addr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("Ext_ControlAddr_Check"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_control_addr_error"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_control_check_pc"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_handle_control_check_error"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("Ext_DataAddr_Check"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("ext_data_addr_error"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_data_get_addr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_handle_data_check_error"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_veto_disable_C"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("000"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ustatus"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("004"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uie"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("005"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("utvec"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("040"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uscratch"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("041"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uepc"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("042"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ucause"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("043"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("utval"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("044"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uip"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("001"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fflags"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("002"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("frm"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("003"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fcsr"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C00"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("cycle"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C01"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("time"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C02"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("instret"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C80"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("cycleh"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C81"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("timeh"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("C82"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("instreth"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("100"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sstatus"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("102"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sedeleg"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("103"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sideleg"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("104"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sie"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("105"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("stvec"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("106"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("scounteren"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("140"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sscratch"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("141"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sepc"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("142"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("scause"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("143"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("stval"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("144"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sip"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("180"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("satp"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F11"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mvendorid"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F12"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("marchid"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F13"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mimpid"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("F14"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mhartid"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("300"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mstatus"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("301"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("misa"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("302"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("medeleg"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("303"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mideleg"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("304"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mie"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("305"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mtvec"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("306"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcounteren"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("340"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mscratch"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("341"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mepc"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("342"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcause"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("343"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mtval"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("344"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mip"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A0"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg0"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A1"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg1"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A2"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg2"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3A3"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpcfg3"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B0"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr0"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B1"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr1"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B2"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr2"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B3"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr3"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B4"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr4"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B5"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr5"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B6"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr6"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B7"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr7"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B8"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr8"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3B9"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr9"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BA"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr10"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BB"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr11"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BC"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr12"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BD"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr13"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr14"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("3BF"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("pmpaddr15"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B00"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcycle"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B02"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("minstret"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B80"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mcycleh"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("B82"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("minstreth"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a0"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tselect"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a1"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tdata1"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a2"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tdata2"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("csr_name_map"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_hex("7a3"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("tdata3"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csr_name"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("to_str"),..l),[(Id_aux(Id("csr_name"),..l))]));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Ustatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Ustatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Ustatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Ustatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Ustatus_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Ustatus_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Ustatus_bits"),..l));(Id_aux(Id("_set_Ustatus_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Ustatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Ustatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Ustatus_UPIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UPIE"),..l),[(Id_aux(Id("_update_Ustatus_UPIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_UPIE"),..l),[(Id_aux(Id("_get_Ustatus_UPIE"),..l));(Id_aux(Id("_set_Ustatus_UPIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Ustatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Ustatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Ustatus_UIE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UIE"),..l),[(Id_aux(Id("_update_Ustatus_UIE"),..l))]));(DEF_overload(Id_aux(Id("_mod_UIE"),..l),[(Id_aux(Id("_get_Ustatus_UIE"),..l));(Id_aux(Id("_set_Ustatus_UIE"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Ustatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_sstatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_ustatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Mstatus"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_ustatus"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_Uinterrupts"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_Uinterrupts"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_Uinterrupts_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_Uinterrupts_bits"),..l));(Id_aux(Id("_set_Uinterrupts_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_UEI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UEI"),..l),[(Id_aux(Id("_update_Uinterrupts_UEI"),..l))]));(DEF_overload(Id_aux(Id("_mod_UEI"),..l),[(Id_aux(Id("_get_Uinterrupts_UEI"),..l));(Id_aux(Id("_set_Uinterrupts_UEI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_UTI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_UTI"),..l),[(Id_aux(Id("_update_Uinterrupts_UTI"),..l))]));(DEF_overload(Id_aux(Id("_mod_UTI"),..l),[(Id_aux(Id("_get_Uinterrupts_UTI"),..l));(Id_aux(Id("_set_Uinterrupts_UTI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_Uinterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_Uinterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_Uinterrupts_USI"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_USI"),..l),[(Id_aux(Id("_update_Uinterrupts_USI"),..l))]));(DEF_overload(Id_aux(Id("_mod_USI"),..l),[(Id_aux(Id("_get_Uinterrupts_USI"),..l));(Id_aux(Id("_set_Uinterrupts_USI"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Uinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_sip"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Uinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lower_sie"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_uip"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_uip"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lift_uie"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Sinterrupts"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_uie"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Mtvec"),..l)),..l),Id_aux(Id("utvec"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("uscratch"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("uepc"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("Mcause"),..l)),..l),Id_aux(Id("ucause"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("utval"),..l)),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_check_xret_priv"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_fail_xret_priv"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_trap_extension"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("prepare_trap_vector"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_xret_target"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_xret_target"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("prepare_xret_target"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_mtvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_stvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("get_utvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_mtvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_stvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("set_utvec"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_sync_exception"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_is_CSR_defined"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_read_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("ext_write_CSR"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("csrRW"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csrAccess"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("priv_level"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("csrPriv"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_CSR_defined"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_CSR_access"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_TVM_SATP"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_Counteren"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_CSR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("Privilege"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exception_delegatee"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("InterruptType"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("findPendingInterrupt"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_interrupt_set"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("interrupt_set"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("processPending"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("Privilege"),..l)),..l))]),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("getPendingSet"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("InterruptType"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("Privilege"),..l)),..l))]),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("dispatchInterrupt"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_ctl_result"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tval"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_trap"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("trap_handler"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("exception_handler"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_mem_exception"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_interrupt"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_sys"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_MemoryOpResult"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("MemoryOpResult_add_meta"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("MemoryOpResult_drop_meta"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("plat_htif_tohost"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("phys_mem_segments"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_phys_mem"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_clint"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_htif_writable"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_htif_readable"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l),Id_aux(Id("mtimecmp"),..l)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),P_aux(P_id(Id_aux(Id("MSIP_BASE"),..l)),..annot)),..annot),E_aux(E_app(Id_aux(Id("EXTZ"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_hex("00000"),..l)),..annot))]),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),P_aux(P_id(Id_aux(Id("MTIMECMP_BASE"),..l)),..annot)),..annot),E_aux(E_app(Id_aux(Id("EXTZ"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_hex("04000"),..l)),..annot))]),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),P_aux(P_id(Id_aux(Id("MTIMECMP_BASE_HI"),..l)),..annot)),..annot),E_aux(E_app(Id_aux(Id("EXTZ"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_hex("04004"),..l)),..annot))]),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),P_aux(P_id(Id_aux(Id("MTIME_BASE"),..l)),..annot)),..annot),E_aux(E_app(Id_aux(Id("EXTZ"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_hex("0bff8"),..l)),..annot))]),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),P_aux(P_id(Id_aux(Id("MTIME_BASE_HI"),..l)),..annot)),..annot),E_aux(E_app(Id_aux(Id("EXTZ"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_hex("0bffc"),..l)),..annot))]),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("clint_load"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("clint_dispatch"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("clint_store"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tick_clock"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_htif_cmd"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_htif_cmd"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_htif_cmd_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_htif_cmd_bits"),..l));(Id_aux(Id("_set_htif_cmd_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_device"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_device"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_device"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_device"),..l),[(Id_aux(Id("_update_htif_cmd_device"),..l))]));(DEF_overload(Id_aux(Id("_mod_device"),..l),[(Id_aux(Id("_get_htif_cmd_device"),..l));(Id_aux(Id("_set_htif_cmd_device"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_cmd"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_cmd"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_cmd"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_cmd"),..l),[(Id_aux(Id("_update_htif_cmd_cmd"),..l))]));(DEF_overload(Id_aux(Id("_mod_cmd"),..l),[(Id_aux(Id("_get_htif_cmd_cmd"),..l));(Id_aux(Id("_set_htif_cmd_cmd"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_htif_cmd_payload"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_htif_cmd_payload"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_htif_cmd_payload"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_payload"),..l),[(Id_aux(Id("_update_htif_cmd_payload"),..l))]));(DEF_overload(Id_aux(Id("_mod_payload"),..l),[(Id_aux(Id("_get_htif_cmd_payload"),..l));(Id_aux(Id("_set_htif_cmd_payload"),..l))]));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l),Id_aux(Id("htif_tohost"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),Id_aux(Id("htif_done"),..l)),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(64),..l)),..l))]),..l),Id_aux(Id("htif_exit_code"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("htif_load"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("htif_store"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("htif_tick"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_mmio_readable"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("within_mmio_writable"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l)),..l))]),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mmio_read"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mmio_write"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_platform"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("tick_platform"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("handle_illegal"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("platform_wfi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("is_aligned_addr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("read_kind"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("read_kind_of_flags"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),..l)),..l))]),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("phys_mem_read"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),..l)),..l))]),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("checked_mem_read"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_times(Nexp_aux(Nexp_constant(8),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("mem_meta"),..l)),..l))]),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmp_mem_read"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_read"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_read"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_read_meta"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_write_ea"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("rvfi_write"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("phys_mem_write"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("checked_mem_write"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_tq([(QI_aux(QI_id(KOpt_aux(KOpt_kind(K_aux(K_int,..l),Kid_aux(Var("'n"),..l)),..l)),..l));(QI_aux(QI_constraint(NC_aux(NC_and(NC_aux(NC_bounded_lt(Nexp_aux(Nexp_constant(0),..l),Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l)),..l),NC_aux(NC_bounded_le(Nexp_aux(Nexp_var(Kid_aux(Var("'n"),..l)),..l),Nexp_aux(Nexp_id(Id_aux(Id("max_mem_access"),..l)),..l)),..l)),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("MemoryOpResult"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("pmp_mem_write"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_write_value_meta"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("mem_write_value"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTE_Bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_PTE_Bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_PTE_Bits_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_PTE_Bits_bits"),..l));(Id_aux(Id("_set_PTE_Bits_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_D"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_D"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_D"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_D"),..l),[(Id_aux(Id("_update_PTE_Bits_D"),..l))]));(DEF_overload(Id_aux(Id("_mod_D"),..l),[(Id_aux(Id("_get_PTE_Bits_D"),..l));(Id_aux(Id("_set_PTE_Bits_D"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_A"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_A"),..l),[(Id_aux(Id("_update_PTE_Bits_A"),..l))]));(DEF_overload(Id_aux(Id("_mod_A"),..l),[(Id_aux(Id("_get_PTE_Bits_A"),..l));(Id_aux(Id("_set_PTE_Bits_A"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_G"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_G"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_G"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_G"),..l),[(Id_aux(Id("_update_PTE_Bits_G"),..l))]));(DEF_overload(Id_aux(Id("_mod_G"),..l),[(Id_aux(Id("_get_PTE_Bits_G"),..l));(Id_aux(Id("_set_PTE_Bits_G"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_U"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_U"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_U"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_U"),..l),[(Id_aux(Id("_update_PTE_Bits_U"),..l))]));(DEF_overload(Id_aux(Id("_mod_U"),..l),[(Id_aux(Id("_get_PTE_Bits_U"),..l));(Id_aux(Id("_set_PTE_Bits_U"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_X"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_X"),..l),[(Id_aux(Id("_update_PTE_Bits_X"),..l))]));(DEF_overload(Id_aux(Id("_mod_X"),..l),[(Id_aux(Id("_get_PTE_Bits_X"),..l));(Id_aux(Id("_set_PTE_Bits_X"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_W"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_W"),..l),[(Id_aux(Id("_update_PTE_Bits_W"),..l))]));(DEF_overload(Id_aux(Id("_mod_W"),..l),[(Id_aux(Id("_get_PTE_Bits_W"),..l));(Id_aux(Id("_set_PTE_Bits_W"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_R"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_R"),..l),[(Id_aux(Id("_update_PTE_Bits_R"),..l))]));(DEF_overload(Id_aux(Id("_mod_R"),..l),[(Id_aux(Id("_get_PTE_Bits_R"),..l));(Id_aux(Id("_set_PTE_Bits_R"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_PTE_Bits_V"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_PTE_Bits_V"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_PTE_Bits_V"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_V"),..l),[(Id_aux(Id("_update_PTE_Bits_V"),..l))]));(DEF_overload(Id_aux(Id("_mod_V"),..l),[(Id_aux(Id("_get_PTE_Bits_V"),..l));(Id_aux(Id("_set_PTE_Bits_V"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("isPTEPtr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("isInvalidPTE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTE_Check"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("PTE_Check"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("to_pte_check"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("PTE_Check"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("checkPTEPermission"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("PTE_Bits"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("extPte"),..l)),..l))]),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("update_PTE_Bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTW_Error"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ptw_error_to_str"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("to_str"),..l),[(Id_aux(Id("ptw_error_to_str"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("ExceptionType"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translationException"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PAGESIZE_BITS"),..l)),..annot),E_aux(E_lit(L_aux(L_num(12),..l)),..annot)),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("asid32"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curAsid32"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("paddr32"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curPTB32"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV32_LEVEL_BITS"),..l)),..annot),E_aux(E_lit(L_aux(L_num(10),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV32_LEVELS"),..l)),..annot),E_aux(E_lit(L_aux(L_num(2),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE32_LOG_SIZE"),..l)),..annot),E_aux(E_lit(L_aux(L_num(2),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE32_SIZE"),..l)),..annot),E_aux(E_lit(L_aux(L_num(4),..l)),..annot)),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV32_Vaddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV32_Vaddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV32_Vaddr_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV32_Vaddr_bits"),..l));(Id_aux(Id("_set_SV32_Vaddr_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_VPNi"),..l),[(Id_aux(Id("_update_SV32_Vaddr_VPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_VPNi"),..l),[(Id_aux(Id("_get_SV32_Vaddr_VPNi"),..l));(Id_aux(Id("_set_SV32_Vaddr_VPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),..l),[(Id_aux(Id("_update_SV32_Vaddr_PgOfs"),..l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),..l),[(Id_aux(Id("_get_SV32_Vaddr_PgOfs"),..l));(Id_aux(Id("_set_SV32_Vaddr_PgOfs"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV32_Paddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV32_Paddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV32_Paddr_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV32_Paddr_bits"),..l));(Id_aux(Id("_set_SV32_Paddr_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPNi"),..l),[(Id_aux(Id("_update_SV32_Paddr_PPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),..l),[(Id_aux(Id("_get_SV32_Paddr_PPNi"),..l));(Id_aux(Id("_set_SV32_Paddr_PPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),..l),[(Id_aux(Id("_update_SV32_Paddr_PgOfs"),..l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),..l),[(Id_aux(Id("_get_SV32_Paddr_PgOfs"),..l));(Id_aux(Id("_set_SV32_Paddr_PgOfs"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV32_PTE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV32_PTE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV32_PTE_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV32_PTE_bits"),..l));(Id_aux(Id("_set_SV32_PTE_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPNi"),..l),[(Id_aux(Id("_update_SV32_PTE_PPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),..l),[(Id_aux(Id("_get_SV32_PTE_PPNi"),..l));(Id_aux(Id("_set_SV32_PTE_PPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_RSW"),..l),[(Id_aux(Id("_update_SV32_PTE_RSW"),..l))]));(DEF_overload(Id_aux(Id("_mod_RSW"),..l),[(Id_aux(Id("_get_SV32_PTE_RSW"),..l));(Id_aux(Id("_set_SV32_PTE_RSW"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV32_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV32_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV32_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_BITS"),..l),[(Id_aux(Id("_update_SV32_PTE_BITS"),..l))]));(DEF_overload(Id_aux(Id("_mod_BITS"),..l),[(Id_aux(Id("_get_SV32_PTE_BITS"),..l));(Id_aux(Id("_set_SV32_PTE_BITS"),..l))]));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("asid64"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curAsid64"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("paddr64"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("curPTB64"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV39_LEVEL_BITS"),..l)),..annot),E_aux(E_lit(L_aux(L_num(9),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV39_LEVELS"),..l)),..annot),E_aux(E_lit(L_aux(L_num(3),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE39_LOG_SIZE"),..l)),..annot),E_aux(E_lit(L_aux(L_num(3),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE39_SIZE"),..l)),..annot),E_aux(E_lit(L_aux(L_num(8),..l)),..annot)),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV39_Vaddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV39_Vaddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV39_Vaddr_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV39_Vaddr_bits"),..l));(Id_aux(Id("_set_SV39_Vaddr_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_VPNi"),..l),[(Id_aux(Id("_update_SV39_Vaddr_VPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_VPNi"),..l),[(Id_aux(Id("_get_SV39_Vaddr_VPNi"),..l));(Id_aux(Id("_set_SV39_Vaddr_VPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),..l),[(Id_aux(Id("_update_SV39_Vaddr_PgOfs"),..l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),..l),[(Id_aux(Id("_get_SV39_Vaddr_PgOfs"),..l));(Id_aux(Id("_set_SV39_Vaddr_PgOfs"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV39_Paddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV39_Paddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV39_Paddr_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV39_Paddr_bits"),..l));(Id_aux(Id("_set_SV39_Paddr_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPNi"),..l),[(Id_aux(Id("_update_SV39_Paddr_PPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),..l),[(Id_aux(Id("_get_SV39_Paddr_PPNi"),..l));(Id_aux(Id("_set_SV39_Paddr_PPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),..l),[(Id_aux(Id("_update_SV39_Paddr_PgOfs"),..l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),..l),[(Id_aux(Id("_get_SV39_Paddr_PgOfs"),..l));(Id_aux(Id("_set_SV39_Paddr_PgOfs"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV39_PTE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV39_PTE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV39_PTE_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV39_PTE_bits"),..l));(Id_aux(Id("_set_SV39_PTE_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_Ext"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_Ext"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_Ext"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Ext"),..l),[(Id_aux(Id("_update_SV39_PTE_Ext"),..l))]));(DEF_overload(Id_aux(Id("_mod_Ext"),..l),[(Id_aux(Id("_get_SV39_PTE_Ext"),..l));(Id_aux(Id("_set_SV39_PTE_Ext"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPNi"),..l),[(Id_aux(Id("_update_SV39_PTE_PPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),..l),[(Id_aux(Id("_get_SV39_PTE_PPNi"),..l));(Id_aux(Id("_set_SV39_PTE_PPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_RSW"),..l),[(Id_aux(Id("_update_SV39_PTE_RSW"),..l))]));(DEF_overload(Id_aux(Id("_mod_RSW"),..l),[(Id_aux(Id("_get_SV39_PTE_RSW"),..l));(Id_aux(Id("_set_SV39_PTE_RSW"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV39_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV39_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV39_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_BITS"),..l),[(Id_aux(Id("_update_SV39_PTE_BITS"),..l))]));(DEF_overload(Id_aux(Id("_mod_BITS"),..l),[(Id_aux(Id("_get_SV39_PTE_BITS"),..l));(Id_aux(Id("_set_SV39_PTE_BITS"),..l))]));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV48_LEVEL_BITS"),..l)),..annot),E_aux(E_lit(L_aux(L_num(9),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("SV48_LEVELS"),..l)),..annot),E_aux(E_lit(L_aux(L_num(4),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE48_LOG_SIZE"),..l)),..annot),E_aux(E_lit(L_aux(L_num(3),..l)),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("PTE48_SIZE"),..l)),..annot),E_aux(E_lit(L_aux(L_num(8),..l)),..annot)),..annot)));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV48_Vaddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV48_Vaddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Vaddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV48_Vaddr_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV48_Vaddr_bits"),..l));(Id_aux(Id("_set_SV48_Vaddr_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Vaddr_VPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_VPNi"),..l),[(Id_aux(Id("_update_SV48_Vaddr_VPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_VPNi"),..l),[(Id_aux(Id("_get_SV48_Vaddr_VPNi"),..l));(Id_aux(Id("_set_SV48_Vaddr_VPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Vaddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),..l),[(Id_aux(Id("_update_SV48_Vaddr_PgOfs"),..l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),..l),[(Id_aux(Id("_get_SV48_Vaddr_PgOfs"),..l));(Id_aux(Id("_set_SV48_Vaddr_PgOfs"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV48_Paddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV48_Paddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Paddr_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV48_Paddr_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV48_Paddr_bits"),..l));(Id_aux(Id("_set_SV48_Paddr_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Paddr_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPNi"),..l),[(Id_aux(Id("_update_SV48_Paddr_PPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),..l),[(Id_aux(Id("_get_SV48_Paddr_PPNi"),..l));(Id_aux(Id("_set_SV48_Paddr_PPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_Paddr_PgOfs"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PgOfs"),..l),[(Id_aux(Id("_update_SV48_Paddr_PgOfs"),..l))]));(DEF_overload(Id_aux(Id("_mod_PgOfs"),..l),[(Id_aux(Id("_get_SV48_Paddr_PgOfs"),..l));(Id_aux(Id("_set_SV48_Paddr_PgOfs"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_SV48_PTE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("Mk_SV48_PTE"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_bits"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_bits"),..l),[(Id_aux(Id("_update_SV48_PTE_bits"),..l))]));(DEF_overload(Id_aux(Id("_mod_bits"),..l),[(Id_aux(Id("_get_SV48_PTE_bits"),..l));(Id_aux(Id("_set_SV48_PTE_bits"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_Ext"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_Ext"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_Ext"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_Ext"),..l),[(Id_aux(Id("_update_SV48_PTE_Ext"),..l))]));(DEF_overload(Id_aux(Id("_mod_Ext"),..l),[(Id_aux(Id("_get_SV48_PTE_Ext"),..l));(Id_aux(Id("_set_SV48_PTE_Ext"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_PPNi"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_PPNi"),..l),[(Id_aux(Id("_update_SV48_PTE_PPNi"),..l))]));(DEF_overload(Id_aux(Id("_mod_PPNi"),..l),[(Id_aux(Id("_get_SV48_PTE_PPNi"),..l));(Id_aux(Id("_set_SV48_PTE_PPNi"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_RSW"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_RSW"),..l),[(Id_aux(Id("_update_SV48_PTE_RSW"),..l))]));(DEF_overload(Id_aux(Id("_mod_RSW"),..l),[(Id_aux(Id("_get_SV48_PTE_RSW"),..l));(Id_aux(Id("_set_SV48_PTE_RSW"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_get_SV48_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_set_SV48_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("_update_SV48_PTE_BITS"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("update_BITS"),..l),[(Id_aux(Id("_update_SV48_PTE_BITS"),..l))]));(DEF_overload(Id_aux(Id("_mod_BITS"),..l),[(Id_aux(Id("_get_SV48_PTE_BITS"),..l));(Id_aux(Id("_set_SV48_PTE_BITS"),..l))]));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_PTW_Result"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_TR_Result"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_TLB_Entry"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("make_TLB_Entry"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("match_TLB_Entry"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB_Entry"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("walk39"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("TLB39_Entry"),..l)),..l)),..l))]),..l),Id_aux(Id("tlb39"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lookup_TLB39"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("add_to_TLB39"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_TLB39"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB39"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translate39"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_vmem_sv39"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("walk48"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("option"),..l),[(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("TLB48_Entry"),..l)),..l)),..l))]),..l),Id_aux(Id("tlb48"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lookup_TLB48"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("add_to_TLB48"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("write_TLB48"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB48"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translate48"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_vmem_sv48"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_reg_dec(DEC_aux(DEC_reg(Effect_aux(Effect_set([(BE_aux(BE_rreg,..l))]),..l),Effect_aux(Effect_set([(BE_aux(BE_wreg,..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l),Id_aux(Id("satp"),..l)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("legalize_satp"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translationMode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("translateAddr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("flush_TLB"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_vmem"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_variant(Id_aux(Id("ast"),..l),TypQ_aux(TypQ_no_forall,..l)),..annot)));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_spec(val_spec));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(20),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("uop"),..l)),..l))]),..l),Id_aux(Id("UTYPE"),..l)),..l)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_uop"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("uop"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(7),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_LUI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0110111"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_AUIPC"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0010111"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("UTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(20),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("encdec_uop"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("utype_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("uop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_LUI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("lui"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_AUIPC"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("auipc"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("UTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("utype_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_20"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(21),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("RISCV_JAL"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JAL"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_19"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_7_0"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_8"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_18_13"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_12_9"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_19"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_18_13"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_12_9"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_8"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm_7_0"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1101111"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JAL"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("jal"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_21"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("RISCV_JALR"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JALR"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1100111"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RISCV_JALR"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("jalr"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(13),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bop"),..l)),..l))]),..l),Id_aux(Id("BTYPE"),..l)),..l)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_bop"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bop"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BEQ"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BNE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLT"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLTU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("110"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGEU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("111"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("BTYPE"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_0"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_5_0"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_4_1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7_5_0"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("encdec_bop"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_4_1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5_0"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1100011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("btype_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BEQ"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("beq"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BNE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bne"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLT"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("blt"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGE"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bge"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BLTU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bltu"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_BGEU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("bgeu"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("BTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("btype_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_13"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("iop"),..l)),..l))]),..l),Id_aux(Id("ITYPE"),..l)),..l)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_iop"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("iop"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADDI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("010"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTIU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ANDI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("111"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ORI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("110"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_XORI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ITYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("encdec_iop"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("itype_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("iop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADDI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("addi"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slti"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTIU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sltiu"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_XORI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("xori"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ORI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ori"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ANDI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("andi"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ITYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("itype_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("sop"),..l)),..l))]),..l),Id_aux(Id("SHIFTIOP"),..l)),..l)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_sop"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sop"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("or_bool"),..l),[(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_bit"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_access"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_num(5),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_zero,..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("or_bool"),..l),[(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_bit"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_access"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_num(5),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_zero,..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0010011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("or_bool"),..l),[(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_bit"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_access"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_num(5),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_zero,..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("shiftiop_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slli"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srli"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srai"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SHIFTIOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("shiftiop_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("rop"),..l)),..l))]),..l),Id_aux(Id("RTYPE"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_ADD"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLT"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("010"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLTU"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_AND"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("111"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_OR"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("110"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_XOR"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLL"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRL"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SUB"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRA"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("rtype_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("rop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADD"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("add"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLT"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slt"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLTU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sltu"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_AND"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("and"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_OR"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("or"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_XOR"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("xor"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLL"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sll"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRL"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srl"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SUB"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sub"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRA"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sra"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("RTYPE"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("rtype_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Id_aux(Id("LOAD"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("LOAD"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("is_unsigned"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("or_bool"),..l),[(E_aux(E_app(Id_aux(Id("lt_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("not_bool"),..l),[(E_aux(E_id(Id_aux(Id("is_unsigned"),..l)),..annot))]),..annot));(E_aux(E_cast(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("is_unsigned"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0000011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("or_bool"),..l),[(E_aux(E_app(Id_aux(Id("lt_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("not_bool"),..l),[(E_aux(E_id(Id_aux(Id("is_unsigned"),..l)),..annot))]),..annot));(E_aux(E_cast(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("extend_value"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("process_load"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("check_misaligned"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_aq"),..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(".aq"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_rl"),..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(".rl"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_u"),..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("u"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("LOAD"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("is_unsigned"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("l"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_u"),..l),[(MP_aux(MP_id(Id_aux(Id("is_unsigned"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string("("),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string(")"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Id_aux(Id("STORE"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("STORE"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(7),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm7"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(7),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0100011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("STORE"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("s"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string("("),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("opt_spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string(")"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("ADDIW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("ADDIW"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("ADDIW"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("addiw"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("sop"),..l)),..l))]),..l),Id_aux(Id("SHIFTW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("shiftw_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slli"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srli"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAI"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srai"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTW"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("shiftw_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_5"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("ropw"),..l)),..l))]),..l),Id_aux(Id("RTYPEW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_ADDW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SUBW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("rtypew_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("ropw"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_ADDW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("addw"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SUBW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("subw"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sllw"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srlw"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sraw"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("RTYPEW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("rtypew_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("sopw"),..l)),..l))]),..l),Id_aux(Id("SHIFTIWOP"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SLLIW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRLIW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("RISCV_SRAIW"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0100000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0011011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("shiftiwop_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("sopw"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SLLIW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("slliw"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRLIW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("srliw"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("RISCV_SRAIW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sraiw"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("SHIFTIWOP"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("shiftiwop_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_5"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l));(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l))]),..l),Id_aux(Id("FENCE"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE"),..l),[(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0001111"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_r"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("r"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_w"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("w"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_i"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("i"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("bit_maybe_o"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("o"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("fence_bits"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("o"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("r"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("w"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("bit_maybe_i"),..l),[(MP_aux(MP_id(Id_aux(Id("i"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("bit_maybe_o"),..l),[(MP_aux(MP_id(Id_aux(Id("o"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("bit_maybe_r"),..l),[(MP_aux(MP_id(Id_aux(Id("r"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("bit_maybe_w"),..l),[(MP_aux(MP_id(Id_aux(Id("w"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE"),..l),[(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("fence"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l));(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l))]),..l),Id_aux(Id("FENCE_TSO"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE_TSO"),..l),[(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("1000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0001111"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCE_TSO"),..l),[(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("fence.tso"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("pred"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("fence_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("succ"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("FENCEI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCEI"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000000000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0001111"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("FENCEI"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("fence.i"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("ECALL"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ECALL"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000000000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ECALL"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ecall"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("MRET"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MRET"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0011000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MRET"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mret"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("SRET"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SRET"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0001000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SRET"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("sret"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("EBREAK"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("EBREAK"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000000000001"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("EBREAK"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("ebreak"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("WFI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("WFI"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000100000101"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("WFI"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("wfi"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("SFENCE_VMA"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SFENCE_VMA"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0001001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("SFENCE_VMA"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("sfence.vma"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("aqrl_str"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("lrsc_width_str"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("LOADRES"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("LOADRES"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("00010"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0101111"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("process_loadres"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("LOADRES"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("lr."),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("STORECON"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("STORECON"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("00011"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0101111"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("STORECON"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("sc."),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("amoop"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("word_width"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("AMO"),..l)),..l)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_amoop"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("amoop"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOSWAP"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00001"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOADD"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOXOR"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("00100"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOAND"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01100"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOOR"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01000"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMIN"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10000"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAX"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10100"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMINU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11000"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAXU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11100"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("AMO"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_app(Id_aux(Id("encdec_amoop"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0101111"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("lteq_int"),..l),[(E_aux(E_app(Id_aux(Id("word_width_bytes"),..l),[(E_aux(E_id(Id_aux(Id("size"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_num(8),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("amo_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("amoop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOSWAP"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoswap"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOADD"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoadd"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOXOR"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoxor"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOAND"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoand"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOOR"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amoor"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMIN"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amomin"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAX"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amomax"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMINU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amominu"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("AMOMAXU"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("amomaxu"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("AMO"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("width"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("amo_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string("."),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("size_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("width"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_aq"),..l),[(MP_aux(MP_id(Id_aux(Id("aq"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_rl"),..l),[(MP_aux(MP_id(Id_aux(Id("rl"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string("("),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string(")"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("C_NOP"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_NOP"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_NOP"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("c.nop"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),..l)),..l))]),..l))]),..l),Id_aux(Id("C_ADDI4SPN"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI4SPN"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz96"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz54"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz3"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nz96"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nz54"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nz3"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nz2"),..l)),..annot))]),..annot))]),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("00000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz54"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz96"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nz3"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nz96"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nz54"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nz3"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nz2"),..l)),..annot))]),..annot))]),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("00000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI4SPN"),..l),[(MP_aux(MP_id(Id_aux(Id("rdc"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("nzimm"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("nzimm"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("00000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addi4spn"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rdc"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_10"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzimm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("nzimm"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("00000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_LW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_LW"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_LW"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsc"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rdc"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.lw"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rdc"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsc"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_7"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_LD"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LD"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LD"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsc"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rdc"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.ld"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rdc"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsc"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot))]),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_SW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SW"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("110"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SW"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsc1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsc2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sw"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsc1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsc2"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_7"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_SD"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SD"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("111"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SD"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsc1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsc2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sd"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsc1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsc2"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot))]),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_ADDI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzi40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzi40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI"),..l),[(MP_aux(MP_id(Id_aux(Id("nzi"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("nzi"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addi"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("nzi"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("nzi"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(11),..l)),..l))]),..l),Id_aux(Id("C_JAL"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JAL"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(32),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(32),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JAL"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(32),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.jal"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_12"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(11),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot))]),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(32),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_ADDIW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDIW"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDIW"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addiw"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_LI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LI"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LI"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.li"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l),Id_aux(Id("C_ADDI16SP"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI16SP"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi9"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi87"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi4"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi9"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi87"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi6"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzi4"),..l)),..annot))]),..annot))]),..annot))]),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi9"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi4"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi87"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzi5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi9"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi87"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi6"),..l)),..annot));(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzi5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzi4"),..l)),..annot))]),..annot))]),..annot))]),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDI16SP"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("imm"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addi16sp"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("imm"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_LUI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LUI"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm17"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm1612"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("sp"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("imm17"),..l)),..annot));(E_aux(E_id(Id_aux(Id("imm1612"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm17"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("imm1612"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("sp"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("imm17"),..l)),..annot));(E_aux(E_id(Id_aux(Id("imm1612"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LUI"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("sp"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("imm"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.lui"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("sp"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("imm"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_SRLI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRLI"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzui40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzui40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRLI"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.srli"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_SRAI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRAI"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzui40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzui40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SRAI"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.srai"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_ANDI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ANDI"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ANDI"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.andi"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_SUB"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SUB"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SUB"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sub"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_XOR"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_XOR"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_XOR"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.xor"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_OR"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_OR"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_OR"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.or"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_AND"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_AND"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_AND"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.and"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_SUBW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SUBW"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SUBW"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.subw"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_ADDW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDW"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADDW"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.addw"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(11),..l)),..l))]),..l),Id_aux(Id("C_J"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_J"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("101"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i11"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i4"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i98"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i10"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i6"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i7"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i31"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_J"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.j"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_11"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_BEQZ"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BEQZ"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("110"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BEQZ"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.beqz"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(8),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l))]),..l),Id_aux(Id("C_BNEZ"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BNEZ"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("111"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i8"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i43"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("cregidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i21"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("i5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_BNEZ"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.bnez"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("creg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_8"),..l),[(MP_aux(MP_id(Id_aux(Id("imm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_SLLI"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SLLI"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzui40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("or_bool"),..l),[(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_bits"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("0"),..l)),..annot))]),..annot))]),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("nzui40"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_app(Id_aux(Id("bitvector_concat"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_id(Id_aux(Id("nzui40"),..l)),..annot))]),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("or_bool"),..l),[(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_bits"),..l),[(E_aux(E_id(Id_aux(Id("nzui5"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("0"),..l)),..annot))]),..annot))]),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SLLI"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.slli"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("shamt"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("shamt"),..l)),..annot));(E_aux(E_lit(L_aux(L_bin("000000"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_LWSP"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LWSP"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui42"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("010"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui42"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LWSP"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.lwsp"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_LDSP"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LDSP"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui43"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui5"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(1),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui43"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_LDSP"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.ldsp"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_SWSP"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SWSP"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui52"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("110"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui52"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(4),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui76"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_SWSP"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.swsp"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(6),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_SDSP"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SDSP"),..l),[(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot))]),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("111"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui53"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("ui86"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_SDSP"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.sdsp"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_6"),..l),[(MP_aux(MP_id(Id_aux(Id("uimm"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l),Id_aux(Id("C_JR"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JR"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JR"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.jr"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l),Id_aux(Id("C_JALR"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JALR"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_JALR"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.jalr"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs1"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_MV"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_MV"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_MV"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.mv"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("C_EBREAK"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_EBREAK"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_EBREAK"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("c.ebreak"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("C_ADD"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADD"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("100"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("C_ADD"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.add"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rsd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("and_bool"),..l),[(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rsd"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot));(E_aux(E_app(Id_aux(Id("neq_bits"),..l),[(E_aux(E_id(Id_aux(Id("rs2"),..l)),..annot));(E_aux(E_id(Id_aux(Id("zreg"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Id_aux(Id("MUL"),..l)),..l)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_mul_op"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_false,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("001"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("010"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("011"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MUL"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("high"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_app(Id_aux(Id("encdec_mul_op"),..l),[(MP_aux(MP_id(Id_aux(Id("high"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed2"),..l)),..annot))]),..annot),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(3),..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("mul_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_false,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mul"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mulh"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mulhsu"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_tup([(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("mulhu"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("MUL"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("high"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed2"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("mul_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("high"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("signed2"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Id_aux(Id("DIV"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("DIV"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_not_u"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("u"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("DIV"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("div"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Id_aux(Id("REM"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("REM"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("REM"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("rem"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l))]),..l),Id_aux(Id("MULW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("MULW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("MULW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("mulw"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Id_aux(Id("DIVW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("DIVW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("DIVW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("div"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string("w"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l))]),..l),Id_aux(Id("REMW"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("REMW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000001"),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_not_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("0111011"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_when(MP_aux(MP_app(Id_aux(Id("REMW"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_when(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("rem"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("maybe_not_u"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string("w"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs2"),..l)),..annot))]),..annot))]),..annot),E_aux(E_app(Id_aux(Id("eq_int"),..l),[(E_aux(E_lit(L_aux(L_num(64),..l)),..annot));(E_aux(E_lit(L_aux(L_num(64),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_tup([(Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l))]),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regidx"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("csrop"),..l)),..l))]),..l),Id_aux(Id("CSR"),..l)),..l)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("encdec_csrop"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("csrop"),..l)),..l),Typ_aux(Typ_app(Id_aux(Id("bits"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(2),..l)),..l))]),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("01"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRS"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("10"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRC"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_bin("11"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("CSR"),..l),[(MP_aux(MP_id(Id_aux(Id("csr"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("is_imm"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("csr"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(12),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("bool_bits"),..l),[(MP_aux(MP_id(Id_aux(Id("is_imm"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("encdec_csrop"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_typ(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot),Typ_aux(Typ_app(Id_aux(Id("bitvector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(5),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l))]),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("xlenbits"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("readCSR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("writeCSR"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("maybe_i"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_true,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("i"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_false,..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string(""),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_mapdef(MD_aux(MD_mapping(Id_aux(Id("csr_mnemonic"),..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_bidir(Typ_aux(Typ_id(Id_aux(Id("csrop"),..l)),..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l)),..l),[(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRW"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("csrrw"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRS"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("csrrs"),..l)),..annot)),..annot)),..annot));(MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("CSRRC"),..l)),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("csrrc"),..l)),..annot)),..annot)),..annot))]),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("CSR"),..l),[(MP_aux(MP_id(Id_aux(Id("csr"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_true,..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("csr_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_lit(L_aux(L_string("i"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_5"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("csr_name_map"),..l),[(MP_aux(MP_id(Id_aux(Id("csr"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("CSR"),..l),[(MP_aux(MP_id(Id_aux(Id("csr"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot));(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_false,..l)),..annot));(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_app(Id_aux(Id("csr_mnemonic"),..l),[(MP_aux(MP_id(Id_aux(Id("op"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rd"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("reg_name"),..l),[(MP_aux(MP_id(Id_aux(Id("rs1"),..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("sep"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("csr_name_map"),..l),[(MP_aux(MP_id(Id_aux(Id("csr"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l),Id_aux(Id("URET"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("URET"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_vector_concat([(MP_aux(MP_lit(L_aux(L_bin("0000000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00010"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("00000"),..l)),..annot));(MP_aux(MP_lit(L_aux(L_bin("1110011"),..l)),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("URET"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_lit(L_aux(L_string("uret"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("word"),..l)),..l),Id_aux(Id("ILLEGAL"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ILLEGAL"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("ILLEGAL"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("illegal"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_32"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_unioncl(Id_aux(Id("ast"),..l),Tu_aux(Tu_ty_id(Typ_aux(Typ_id(Id_aux(Id("half"),..l)),..l),Id_aux(Id("C_ILLEGAL"),..l)),..l)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("encdec_compressed"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ILLEGAL"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot)),..annot)),..annot)),..annot)));(DEF_scattered(SD_aux(SD_funcl(FCL_aux(FCL_Funcl(Id_aux(Id("execute"),..l),..pexp_funcl),..annot)),..annot)));(DEF_scattered(SD_aux(SD_mapcl(Id_aux(Id("assembly"),..l),MCL_aux(MCL_bidir(MPat_aux(MPat_pat(MP_aux(MP_app(Id_aux(Id("C_ILLEGAL"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot)),..annot),MPat_aux(MPat_pat(MP_aux(MP_string_append([(MP_aux(MP_lit(L_aux(L_string("c.illegal"),..l)),..annot));(MP_aux(MP_app(Id_aux(Id("spc"),..l),[(MP_aux(MP_lit(L_aux(L_unit,..l)),..annot))]),..annot));(MP_aux(MP_app(Id_aux(Id("hex_bits_16"),..l),[(MP_aux(MP_id(Id_aux(Id("s"),..l)),..annot))]),..annot))]),..annot)),..annot)),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("print_insn"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_overload(Id_aux(Id("to_str"),..l),[(Id_aux(Id("print_insn"),..l))]));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("decode"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("decodeCompressed"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_type(..type_def));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("undefined_FetchResult"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_init"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("FetchResult"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_fetch_hook"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_pre_step_hook"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_post_step_hook"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("ext_post_decode_hook"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("isRVC"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("FetchResult"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("fetch"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("bool"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("step"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("loop"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("unit"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("init_model"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_typ(Typ_aux(Typ_app(Id_aux(Id("vector"),..l),[(A_aux(A_nexp(Nexp_aux(Nexp_constant(32),..l)),..l));(A_aux(A_order(Ord_aux(Ord_dec,..l)),..l));(A_aux(A_typ(Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l))]),..l),P_aux(P_id(Id_aux(Id("GPRstrs"),..l)),..annot)),..annot),E_aux(E_vector([(E_aux(E_lit(L_aux(L_string("x31"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x30"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x29"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x28"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x27"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x26"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x25"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x24"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x23"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x22"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x21"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x20"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x19"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x18"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x17"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x16"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x15"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x14"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x13"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x12"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x11"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x10"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x9"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x8"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x7"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x6"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x5"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x4"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x3"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x2"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x1"),..l)),..annot));(E_aux(E_lit(L_aux(L_string("x0"),..l)),..annot))]),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_id(Id_aux(Id("string"),..l)),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("GPRstr"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("CIA_fp"),..l)),..annot),E_aux(E_app(Id_aux(Id("RFull"),..l),[(E_aux(E_lit(L_aux(L_string("CIA"),..l)),..annot))]),..annot)),..annot)));(DEF_val(LB_aux(LB_val(P_aux(P_id(Id_aux(Id("NIA_fp"),..l)),..annot),E_aux(E_app(Id_aux(Id("RFull"),..l),[(E_aux(E_lit(L_aux(L_string("NIA"),..l)),..annot))]),..annot)),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_some(TypQ_aux(TypQ_no_forall,..l),Typ_aux(Typ_tup([(Typ_aux(Typ_id(Id_aux(Id("regfps"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regfps"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("regfps"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("niafps"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("diafp"),..l)),..l));(Typ_aux(Typ_id(Id_aux(Id("instruction_kind"),..l)),..l))]),..l)),..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("initial_analysis"),..l),..pexp_funcl),..annot))]),..annot)));(DEF_spec(val_spec));(DEF_fundef(FD_aux(FD_function(Rec_aux(Rec_nonrec,..l),Typ_annot_opt_aux(Typ_annot_opt_none,..l),Effect_opt_aux(Effect_opt_none,..l),[(FCL_aux(FCL_Funcl(Id_aux(Id("initialize_registers"),..l),..pexp_funcl),..annot))]),..annot)))]) \ No newline at end of file