aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Campbell <Brian.Campbell@ed.ac.uk>2021-07-26 22:02:47 +0100
committerBrian Campbell <Brian.Campbell@ed.ac.uk>2021-07-26 22:02:47 +0100
commit6602f61f41e18e43245ec14d649c620ff9205341 (patch)
tree17783ec0a58d0e2e9dfa211aee9a1c1c73f7692c
parentc6c1e38d07f69f3ef438eb743fe76179959dc6b5 (diff)
downloadsail-riscv-6602f61f41e18e43245ec14d649c620ff9205341.zip
sail-riscv-6602f61f41e18e43245ec14d649c620ff9205341.tar.gz
sail-riscv-6602f61f41e18e43245ec14d649c620ff9205341.tar.bz2
Update Coq snapshot
Also tweak Makefile to remove new Coq generated files
-rw-r--r--Makefile4
-rw-r--r--prover_snapshots/coq/RV32/riscv.v29895
-rw-r--r--prover_snapshots/coq/RV32/riscv_extras.v1
-rw-r--r--prover_snapshots/coq/RV32/riscv_types.v686
-rw-r--r--prover_snapshots/coq/RV64/riscv.v39332
-rw-r--r--prover_snapshots/coq/RV64/riscv_extras.v1
-rw-r--r--prover_snapshots/coq/RV64/riscv_types.v690
-rwxr-xr-xprover_snapshots/coq/clean6
-rw-r--r--prover_snapshots/coq/duopod/riscv_duopod.v6
-rw-r--r--prover_snapshots/coq/duopod/riscv_extras.v1
-rw-r--r--prover_snapshots/coq/lib/sail/Hoare.v13
-rw-r--r--prover_snapshots/coq/lib/sail/Makefile2
-rw-r--r--prover_snapshots/coq/lib/sail/Operators_mwords.v65
-rw-r--r--prover_snapshots/coq/lib/sail/Prompt.v3
-rw-r--r--prover_snapshots/coq/lib/sail/Real.v13
-rw-r--r--prover_snapshots/coq/lib/sail/State_lemmas.v37
-rw-r--r--prover_snapshots/coq/lib/sail/Values.v96
-rw-r--r--prover_snapshots/coq/lib/sail/_CoqProject1
18 files changed, 37188 insertions, 33664 deletions
diff --git a/Makefile b/Makefile
index e5f291d..6312746 100644
--- a/Makefile
+++ b/Makefile
@@ -450,6 +450,6 @@ clean:
-rm -f *.gcno *.gcda
-rm -f z3_problems
-Holmake cleanAll
- -rm -f handwritten_support/riscv_extras.vo handwritten_support/riscv_extras.glob handwritten_support/.riscv_extras.aux
- -rm -f handwritten_support/mem_metadata.vo handwritten_support/mem_metadata.glob handwritten_support/.mem_metadata.aux
+ -rm -f handwritten_support/riscv_extras.vo handwritten_support/riscv_extras.vos handwritten_support/riscv_extras.vok handwritten_support/riscv_extras.glob handwritten_support/.riscv_extras.aux
+ -rm -f handwritten_support/mem_metadata.vo handwritten_support/mem_metadata.vos handwritten_support/mem_metadata.vok handwritten_support/mem_metadata.glob handwritten_support/.mem_metadata.aux
ocamlbuild -clean
diff --git a/prover_snapshots/coq/RV32/riscv.v b/prover_snapshots/coq/RV32/riscv.v
index 4e52368..b68d88d 100644
--- a/prover_snapshots/coq/RV32/riscv.v
+++ b/prover_snapshots/coq/RV32/riscv.v
@@ -25,6 +25,12 @@ Definition neq_bool (x : bool) (y : bool) : bool := negb (Bool.eqb x y).
Definition __id (x : Z) : {_retval : Z & ArithFact (_retval =? x)} := build_ex (x).
+Definition _shl_int_general (m : Z) (n : Z) : Z :=
+ if sumbool_of_bool (Z.geb n 0) then shl_int m n else shr_int m (Z.opp n).
+
+Definition _shr_int_general (m : Z) (n : Z) : Z :=
+ if sumbool_of_bool (Z.geb n 0) then shr_int m n else shl_int m (Z.opp n).
+
Definition fdiv_int (n : Z) (m : Z) : Z :=
if sumbool_of_bool (andb (Z.ltb n 0) (Z.gtb m 0)) then Z.sub (Z.quot (Z.add n 1) m) 1
else if sumbool_of_bool (andb (Z.gtb n 0) (Z.ltb m 0)) then Z.sub (Z.quot (Z.sub n 1) m) 1
@@ -52,18 +58,18 @@ Definition slice_mask (n : Z) (i : Z) (l : Z) `{ArithFact (n >=? 0)} : mword n :
shiftl (sub_vec (shiftl one l) one) i.
Definition read_kind_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 11))} : read_kind :=
- let l__297 := arg_ in
- if sumbool_of_bool (Z.eqb l__297 0) then Read_plain
- else if sumbool_of_bool (Z.eqb l__297 1) then Read_reserve
- else if sumbool_of_bool (Z.eqb l__297 2) then Read_acquire
- else if sumbool_of_bool (Z.eqb l__297 3) then Read_exclusive
- else if sumbool_of_bool (Z.eqb l__297 4) then Read_exclusive_acquire
- else if sumbool_of_bool (Z.eqb l__297 5) then Read_stream
- else if sumbool_of_bool (Z.eqb l__297 6) then Read_RISCV_acquire
- else if sumbool_of_bool (Z.eqb l__297 7) then Read_RISCV_strong_acquire
- else if sumbool_of_bool (Z.eqb l__297 8) then Read_RISCV_reserved
- else if sumbool_of_bool (Z.eqb l__297 9) then Read_RISCV_reserved_acquire
- else if sumbool_of_bool (Z.eqb l__297 10) then Read_RISCV_reserved_strong_acquire
+ let l__299 := arg_ in
+ if sumbool_of_bool (Z.eqb l__299 0) then Read_plain
+ else if sumbool_of_bool (Z.eqb l__299 1) then Read_reserve
+ else if sumbool_of_bool (Z.eqb l__299 2) then Read_acquire
+ else if sumbool_of_bool (Z.eqb l__299 3) then Read_exclusive
+ else if sumbool_of_bool (Z.eqb l__299 4) then Read_exclusive_acquire
+ else if sumbool_of_bool (Z.eqb l__299 5) then Read_stream
+ else if sumbool_of_bool (Z.eqb l__299 6) then Read_RISCV_acquire
+ else if sumbool_of_bool (Z.eqb l__299 7) then Read_RISCV_strong_acquire
+ else if sumbool_of_bool (Z.eqb l__299 8) then Read_RISCV_reserved
+ else if sumbool_of_bool (Z.eqb l__299 9) then Read_RISCV_reserved_acquire
+ else if sumbool_of_bool (Z.eqb l__299 10) then Read_RISCV_reserved_strong_acquire
else Read_X86_locked.
Definition num_of_read_kind (arg_ : read_kind) : {e : Z & ArithFact ((0 <=? e) && (e <=? 11))} :=
@@ -85,17 +91,17 @@ Definition num_of_read_kind (arg_ : read_kind) : {e : Z & ArithFact ((0 <=? e) &
).
Definition write_kind_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 10))} : write_kind :=
- let l__287 := arg_ in
- if sumbool_of_bool (Z.eqb l__287 0) then Write_plain
- else if sumbool_of_bool (Z.eqb l__287 1) then Write_conditional
- else if sumbool_of_bool (Z.eqb l__287 2) then Write_release
- else if sumbool_of_bool (Z.eqb l__287 3) then Write_exclusive
- else if sumbool_of_bool (Z.eqb l__287 4) then Write_exclusive_release
- else if sumbool_of_bool (Z.eqb l__287 5) then Write_RISCV_release
- else if sumbool_of_bool (Z.eqb l__287 6) then Write_RISCV_strong_release
- else if sumbool_of_bool (Z.eqb l__287 7) then Write_RISCV_conditional
- else if sumbool_of_bool (Z.eqb l__287 8) then Write_RISCV_conditional_release
- else if sumbool_of_bool (Z.eqb l__287 9) then Write_RISCV_conditional_strong_release
+ let l__289 := arg_ in
+ if sumbool_of_bool (Z.eqb l__289 0) then Write_plain
+ else if sumbool_of_bool (Z.eqb l__289 1) then Write_conditional
+ else if sumbool_of_bool (Z.eqb l__289 2) then Write_release
+ else if sumbool_of_bool (Z.eqb l__289 3) then Write_exclusive
+ else if sumbool_of_bool (Z.eqb l__289 4) then Write_exclusive_release
+ else if sumbool_of_bool (Z.eqb l__289 5) then Write_RISCV_release
+ else if sumbool_of_bool (Z.eqb l__289 6) then Write_RISCV_strong_release
+ else if sumbool_of_bool (Z.eqb l__289 7) then Write_RISCV_conditional
+ else if sumbool_of_bool (Z.eqb l__289 8) then Write_RISCV_conditional_release
+ else if sumbool_of_bool (Z.eqb l__289 9) then Write_RISCV_conditional_strong_release
else Write_X86_locked.
Definition num_of_write_kind (arg_ : write_kind) : {e : Z & ArithFact ((0 <=? e) && (e <=? 10))} :=
@@ -117,10 +123,10 @@ Definition num_of_write_kind (arg_ : write_kind) : {e : Z & ArithFact ((0 <=? e)
Definition a64_barrier_domain_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))}
: a64_barrier_domain :=
- let l__284 := arg_ in
- if sumbool_of_bool (Z.eqb l__284 0) then A64_FullShare
- else if sumbool_of_bool (Z.eqb l__284 1) then A64_InnerShare
- else if sumbool_of_bool (Z.eqb l__284 2) then A64_OuterShare
+ let l__286 := arg_ in
+ if sumbool_of_bool (Z.eqb l__286 0) then A64_FullShare
+ else if sumbool_of_bool (Z.eqb l__286 1) then A64_InnerShare
+ else if sumbool_of_bool (Z.eqb l__286 2) then A64_OuterShare
else A64_NonShare.
Definition num_of_a64_barrier_domain (arg_ : a64_barrier_domain)
@@ -136,9 +142,9 @@ Definition num_of_a64_barrier_domain (arg_ : a64_barrier_domain)
Definition a64_barrier_type_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))}
: a64_barrier_type :=
- let l__282 := arg_ in
- if sumbool_of_bool (Z.eqb l__282 0) then A64_barrier_all
- else if sumbool_of_bool (Z.eqb l__282 1) then A64_barrier_LD
+ let l__284 := arg_ in
+ if sumbool_of_bool (Z.eqb l__284 0) then A64_barrier_all
+ else if sumbool_of_bool (Z.eqb l__284 1) then A64_barrier_LD
else A64_barrier_ST.
Definition num_of_a64_barrier_type (arg_ : a64_barrier_type)
@@ -146,9 +152,9 @@ Definition num_of_a64_barrier_type (arg_ : a64_barrier_type)
build_ex (match arg_ with | A64_barrier_all => 0 | A64_barrier_LD => 1 | A64_barrier_ST => 2 end).
Definition trans_kind_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : trans_kind :=
- let l__280 := arg_ in
- if sumbool_of_bool (Z.eqb l__280 0) then Transaction_start
- else if sumbool_of_bool (Z.eqb l__280 1) then Transaction_commit
+ let l__282 := arg_ in
+ if sumbool_of_bool (Z.eqb l__282 0) then Transaction_start
+ else if sumbool_of_bool (Z.eqb l__282 1) then Transaction_commit
else Transaction_abort.
Definition num_of_trans_kind (arg_ : trans_kind) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
@@ -162,17 +168,17 @@ Definition num_of_trans_kind (arg_ : trans_kind) : {e : Z & ArithFact ((0 <=? e)
Definition cache_op_kind_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 10))}
: cache_op_kind :=
- let l__270 := arg_ in
- if sumbool_of_bool (Z.eqb l__270 0) then Cache_op_D_IVAC
- else if sumbool_of_bool (Z.eqb l__270 1) then Cache_op_D_ISW
- else if sumbool_of_bool (Z.eqb l__270 2) then Cache_op_D_CSW
- else if sumbool_of_bool (Z.eqb l__270 3) then Cache_op_D_CISW
- else if sumbool_of_bool (Z.eqb l__270 4) then Cache_op_D_ZVA
- else if sumbool_of_bool (Z.eqb l__270 5) then Cache_op_D_CVAC
- else if sumbool_of_bool (Z.eqb l__270 6) then Cache_op_D_CVAU
- else if sumbool_of_bool (Z.eqb l__270 7) then Cache_op_D_CIVAC
- else if sumbool_of_bool (Z.eqb l__270 8) then Cache_op_I_IALLUIS
- else if sumbool_of_bool (Z.eqb l__270 9) then Cache_op_I_IALLU
+ let l__272 := arg_ in
+ if sumbool_of_bool (Z.eqb l__272 0) then Cache_op_D_IVAC
+ else if sumbool_of_bool (Z.eqb l__272 1) then Cache_op_D_ISW
+ else if sumbool_of_bool (Z.eqb l__272 2) then Cache_op_D_CSW
+ else if sumbool_of_bool (Z.eqb l__272 3) then Cache_op_D_CISW
+ else if sumbool_of_bool (Z.eqb l__272 4) then Cache_op_D_ZVA
+ else if sumbool_of_bool (Z.eqb l__272 5) then Cache_op_D_CVAC
+ else if sumbool_of_bool (Z.eqb l__272 6) then Cache_op_D_CVAU
+ else if sumbool_of_bool (Z.eqb l__272 7) then Cache_op_D_CIVAC
+ else if sumbool_of_bool (Z.eqb l__272 8) then Cache_op_I_IALLUIS
+ else if sumbool_of_bool (Z.eqb l__272 9) then Cache_op_I_IALLU
else Cache_op_I_IVAU.
Definition num_of_cache_op_kind (arg_ : cache_op_kind)
@@ -306,8 +312,8 @@ Definition spc_backwards (s : string) : unit := tt.
Definition spc_matches_prefix (s : string) : M (option ((unit * {n : Z & ArithFact (n >=? 0)}))) :=
(n_leading_spaces s) >>= fun '(existT _ n _) =>
- let l__269 := n in
- returnm (if sumbool_of_bool (Z.eqb l__269 0) then None else Some (tt, build_ex n)).
+ let l__271 := n in
+ returnm (if sumbool_of_bool (Z.eqb l__271 0) then None else Some (tt, build_ex n)).
Definition opt_spc_forwards '(tt : unit) : string := "".
@@ -330,7 +336,7 @@ Definition hex_bits_1_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_1_matches_prefix s) with
- | Some (g__348, existT _ n _) =>
+ | Some (g__362, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -358,7 +364,7 @@ Definition hex_bits_2_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_2_matches_prefix s) with
- | Some (g__347, existT _ n _) =>
+ | Some (g__361, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -386,7 +392,7 @@ Definition hex_bits_3_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_3_matches_prefix s) with
- | Some (g__346, existT _ n _) =>
+ | Some (g__360, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -414,7 +420,7 @@ Definition hex_bits_4_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_4_matches_prefix s) with
- | Some (g__345, existT _ n _) =>
+ | Some (g__359, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -442,7 +448,7 @@ Definition hex_bits_5_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_5_matches_prefix s) with
- | Some (g__344, existT _ n _) =>
+ | Some (g__358, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -470,7 +476,7 @@ Definition hex_bits_6_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_6_matches_prefix s) with
- | Some (g__343, existT _ n _) =>
+ | Some (g__357, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -498,7 +504,7 @@ Definition hex_bits_7_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_7_matches_prefix s) with
- | Some (g__342, existT _ n _) =>
+ | Some (g__356, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -526,7 +532,7 @@ Definition hex_bits_8_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_8_matches_prefix s) with
- | Some (g__341, existT _ n _) =>
+ | Some (g__355, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -554,7 +560,7 @@ Definition hex_bits_9_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_9_matches_prefix s) with
- | Some (g__340, existT _ n _) =>
+ | Some (g__354, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -582,7 +588,7 @@ Definition hex_bits_10_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_10_matches_prefix s) with
- | Some (g__339, existT _ n _) =>
+ | Some (g__353, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -610,7 +616,7 @@ Definition hex_bits_11_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_11_matches_prefix s) with
- | Some (g__338, existT _ n _) =>
+ | Some (g__352, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -642,7 +648,7 @@ Definition hex_bits_12_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_12_matches_prefix s) with
- | Some (g__337, existT _ n _) =>
+ | Some (g__351, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -670,7 +676,7 @@ Definition hex_bits_13_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_13_matches_prefix s) with
- | Some (g__336, existT _ n _) =>
+ | Some (g__350, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -698,7 +704,7 @@ Definition hex_bits_14_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_14_matches_prefix s) with
- | Some (g__335, existT _ n _) =>
+ | Some (g__349, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -726,7 +732,7 @@ Definition hex_bits_15_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_15_matches_prefix s) with
- | Some (g__334, existT _ n _) =>
+ | Some (g__348, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -754,7 +760,7 @@ Definition hex_bits_16_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_16_matches_prefix s) with
- | Some (g__333, existT _ n _) =>
+ | Some (g__347, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -782,7 +788,7 @@ Definition hex_bits_17_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_17_matches_prefix s) with
- | Some (g__332, existT _ n _) =>
+ | Some (g__346, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -810,7 +816,7 @@ Definition hex_bits_18_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_18_matches_prefix s) with
- | Some (g__331, existT _ n _) =>
+ | Some (g__345, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -838,7 +844,7 @@ Definition hex_bits_19_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_19_matches_prefix s) with
- | Some (g__330, existT _ n _) =>
+ | Some (g__344, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -866,7 +872,7 @@ Definition hex_bits_20_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_20_matches_prefix s) with
- | Some (g__329, existT _ n _) =>
+ | Some (g__343, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -894,7 +900,7 @@ Definition hex_bits_21_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_21_matches_prefix s) with
- | Some (g__328, existT _ n _) =>
+ | Some (g__342, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -922,7 +928,7 @@ Definition hex_bits_22_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_22_matches_prefix s) with
- | Some (g__327, existT _ n _) =>
+ | Some (g__341, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -950,7 +956,7 @@ Definition hex_bits_23_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_23_matches_prefix s) with
- | Some (g__326, existT _ n _) =>
+ | Some (g__340, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -978,7 +984,7 @@ Definition hex_bits_24_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_24_matches_prefix s) with
- | Some (g__325, existT _ n _) =>
+ | Some (g__339, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1006,7 +1012,7 @@ Definition hex_bits_25_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_25_matches_prefix s) with
- | Some (g__324, existT _ n _) =>
+ | Some (g__338, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1034,7 +1040,7 @@ Definition hex_bits_26_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_26_matches_prefix s) with
- | Some (g__323, existT _ n _) =>
+ | Some (g__337, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1062,7 +1068,7 @@ Definition hex_bits_27_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_27_matches_prefix s) with
- | Some (g__322, existT _ n _) =>
+ | Some (g__336, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1090,7 +1096,7 @@ Definition hex_bits_28_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_28_matches_prefix s) with
- | Some (g__321, existT _ n _) =>
+ | Some (g__335, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1118,7 +1124,7 @@ Definition hex_bits_29_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_29_matches_prefix s) with
- | Some (g__320, existT _ n _) =>
+ | Some (g__334, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1146,7 +1152,7 @@ Definition hex_bits_30_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_30_matches_prefix s) with
- | Some (g__319, existT _ n _) =>
+ | Some (g__333, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1174,7 +1180,7 @@ Definition hex_bits_31_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_31_matches_prefix s) with
- | Some (g__318, existT _ n _) =>
+ | Some (g__332, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1202,7 +1208,7 @@ Definition hex_bits_32_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_32_matches_prefix s) with
- | Some (g__317, existT _ n _) =>
+ | Some (g__331, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1230,7 +1236,7 @@ Definition hex_bits_33_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_33_matches_prefix s) with
- | Some (g__316, existT _ n _) =>
+ | Some (g__330, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1258,7 +1264,7 @@ Definition hex_bits_48_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_48_matches_prefix s) with
- | Some (g__315, existT _ n _) =>
+ | Some (g__329, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1286,7 +1292,7 @@ Definition hex_bits_64_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_64_matches_prefix s) with
- | Some (g__314, existT _ n _) =>
+ | Some (g__328, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1361,9 +1367,9 @@ Hint Unfold ra : sail.
Definition sp : regidx := 'b"00010" : mword 5.
Hint Unfold sp : sail.
Definition Architecture_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : Architecture :=
- let l__267 := arg_ in
- if sumbool_of_bool (Z.eqb l__267 0) then RV32
- else if sumbool_of_bool (Z.eqb l__267 1) then RV64
+ let l__269 := arg_ in
+ if sumbool_of_bool (Z.eqb l__269 0) then RV32
+ else if sumbool_of_bool (Z.eqb l__269 1) then RV64
else RV128.
Definition num_of_Architecture (arg_ : Architecture) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
@@ -1384,9 +1390,9 @@ Definition arch_to_bits (a : Architecture) : mword 2 :=
end.
Definition Privilege_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : Privilege :=
- let l__265 := arg_ in
- if sumbool_of_bool (Z.eqb l__265 0) then User
- else if sumbool_of_bool (Z.eqb l__265 1) then Supervisor
+ let l__267 := arg_ in
+ if sumbool_of_bool (Z.eqb l__267 0) then User
+ else if sumbool_of_bool (Z.eqb l__267 1) then Supervisor
else Machine.
Definition num_of_Privilege (arg_ : Privilege) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
@@ -1413,18 +1419,18 @@ Definition privLevel_to_str (p : Privilege) : string :=
match p with | User => "U" | Supervisor => "S" | Machine => "M" end.
Definition Retired_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 1))} : Retired :=
- let l__264 := arg_ in
- if sumbool_of_bool (Z.eqb l__264 0) then RETIRE_SUCCESS
+ let l__266 := arg_ in
+ if sumbool_of_bool (Z.eqb l__266 0) then RETIRE_SUCCESS
else RETIRE_FAIL.
Definition num_of_Retired (arg_ : Retired) : {e : Z & ArithFact ((0 <=? e) && (e <=? 1))} :=
build_ex (match arg_ with | RETIRE_SUCCESS => 0 | RETIRE_FAIL => 1 end).
Definition word_width_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))} : word_width :=
- let l__261 := arg_ in
- if sumbool_of_bool (Z.eqb l__261 0) then BYTE
- else if sumbool_of_bool (Z.eqb l__261 1) then HALF
- else if sumbool_of_bool (Z.eqb l__261 2) then WORD
+ let l__263 := arg_ in
+ if sumbool_of_bool (Z.eqb l__263 0) then BYTE
+ else if sumbool_of_bool (Z.eqb l__263 1) then HALF
+ else if sumbool_of_bool (Z.eqb l__263 2) then WORD
else DOUBLE.
Definition num_of_word_width (arg_ : word_width) : {e : Z & ArithFact ((0 <=? e) && (e <=? 3))} :=
@@ -1432,15 +1438,15 @@ Definition num_of_word_width (arg_ : word_width) : {e : Z & ArithFact ((0 <=? e)
Definition InterruptType_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 8))}
: InterruptType :=
- let l__253 := arg_ in
- if sumbool_of_bool (Z.eqb l__253 0) then I_U_Software
- else if sumbool_of_bool (Z.eqb l__253 1) then I_S_Software
- else if sumbool_of_bool (Z.eqb l__253 2) then I_M_Software
- else if sumbool_of_bool (Z.eqb l__253 3) then I_U_Timer
- else if sumbool_of_bool (Z.eqb l__253 4) then I_S_Timer
- else if sumbool_of_bool (Z.eqb l__253 5) then I_M_Timer
- else if sumbool_of_bool (Z.eqb l__253 6) then I_U_External
- else if sumbool_of_bool (Z.eqb l__253 7) then I_S_External
+ let l__255 := arg_ in
+ if sumbool_of_bool (Z.eqb l__255 0) then I_U_Software
+ else if sumbool_of_bool (Z.eqb l__255 1) then I_S_Software
+ else if sumbool_of_bool (Z.eqb l__255 2) then I_M_Software
+ else if sumbool_of_bool (Z.eqb l__255 3) then I_U_Timer
+ else if sumbool_of_bool (Z.eqb l__255 4) then I_S_Timer
+ else if sumbool_of_bool (Z.eqb l__255 5) then I_M_Timer
+ else if sumbool_of_bool (Z.eqb l__255 6) then I_U_External
+ else if sumbool_of_bool (Z.eqb l__255 7) then I_S_External
else I_M_External.
Definition num_of_InterruptType (arg_ : InterruptType)
@@ -1545,9 +1551,9 @@ Definition internal_error {a : Type} (s : string) : M (a) :=
Definition TrapVectorMode_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))}
: TrapVectorMode :=
- let l__251 := arg_ in
- if sumbool_of_bool (Z.eqb l__251 0) then TV_Direct
- else if sumbool_of_bool (Z.eqb l__251 1) then TV_Vector
+ let l__253 := arg_ in
+ if sumbool_of_bool (Z.eqb l__253 0) then TV_Direct
+ else if sumbool_of_bool (Z.eqb l__253 1) then TV_Vector
else TV_Reserved.
Definition num_of_TrapVectorMode (arg_ : TrapVectorMode)
@@ -1561,10 +1567,10 @@ Definition trapVectorMode_of_bits (m : mword 2) : TrapVectorMode :=
else TV_Reserved.
Definition ExtStatus_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))} : ExtStatus :=
- let l__248 := arg_ in
- if sumbool_of_bool (Z.eqb l__248 0) then Off
- else if sumbool_of_bool (Z.eqb l__248 1) then Initial
- else if sumbool_of_bool (Z.eqb l__248 2) then Clean
+ let l__250 := arg_ in
+ if sumbool_of_bool (Z.eqb l__250 0) then Off
+ else if sumbool_of_bool (Z.eqb l__250 1) then Initial
+ else if sumbool_of_bool (Z.eqb l__250 2) then Clean
else Dirty.
Definition num_of_ExtStatus (arg_ : ExtStatus) : {e : Z & ArithFact ((0 <=? e) && (e <=? 3))} :=
@@ -1590,10 +1596,10 @@ Definition extStatus_of_bits (e : mword 2) : M (ExtStatus) :=
: M (ExtStatus).
Definition SATPMode_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))} : SATPMode :=
- let l__245 := arg_ in
- if sumbool_of_bool (Z.eqb l__245 0) then Sbare
- else if sumbool_of_bool (Z.eqb l__245 1) then Sv32
- else if sumbool_of_bool (Z.eqb l__245 2) then Sv39
+ let l__247 := arg_ in
+ if sumbool_of_bool (Z.eqb l__247 0) then Sbare
+ else if sumbool_of_bool (Z.eqb l__247 1) then Sv32
+ else if sumbool_of_bool (Z.eqb l__247 2) then Sv39
else Sv48.
Definition num_of_SATPMode (arg_ : SATPMode) : {e : Z & ArithFact ((0 <=? e) && (e <=? 3))} :=
@@ -1601,10 +1607,10 @@ Definition num_of_SATPMode (arg_ : SATPMode) : {e : Z & ArithFact ((0 <=? e) &&
Definition satp64Mode_of_bits (a : Architecture) (m : mword 4) : option SATPMode :=
match (a, m) with
- | (g__313, b__0) =>
+ | (g__327, b__0) =>
if eq_vec b__0 (Ox"0" : mword 4) then Some Sbare
else
- match (g__313, b__0) with
+ match (g__327, b__0) with
| (RV32, b__0) =>
if eq_vec b__0 (Ox"1" : mword 4) then Some Sv32
else match (RV32, b__0) with | (_, _) => None end
@@ -1617,20 +1623,20 @@ Definition satp64Mode_of_bits (a : Architecture) (m : mword 4) : option SATPMode
end.
Definition uop_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 1))} : uop :=
- let l__244 := arg_ in
- if sumbool_of_bool (Z.eqb l__244 0) then RISCV_LUI
+ let l__246 := arg_ in
+ if sumbool_of_bool (Z.eqb l__246 0) then RISCV_LUI
else RISCV_AUIPC.
Definition num_of_uop (arg_ : uop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 1))} :=
build_ex (match arg_ with | RISCV_LUI => 0 | RISCV_AUIPC => 1 end).
Definition bop_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 5))} : bop :=
- let l__239 := arg_ in
- if sumbool_of_bool (Z.eqb l__239 0) then RISCV_BEQ
- else if sumbool_of_bool (Z.eqb l__239 1) then RISCV_BNE
- else if sumbool_of_bool (Z.eqb l__239 2) then RISCV_BLT
- else if sumbool_of_bool (Z.eqb l__239 3) then RISCV_BGE
- else if sumbool_of_bool (Z.eqb l__239 4) then RISCV_BLTU
+ let l__241 := arg_ in
+ if sumbool_of_bool (Z.eqb l__241 0) then RISCV_BEQ
+ else if sumbool_of_bool (Z.eqb l__241 1) then RISCV_BNE
+ else if sumbool_of_bool (Z.eqb l__241 2) then RISCV_BLT
+ else if sumbool_of_bool (Z.eqb l__241 3) then RISCV_BGE
+ else if sumbool_of_bool (Z.eqb l__241 4) then RISCV_BLTU
else RISCV_BGEU.
Definition num_of_bop (arg_ : bop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 5))} :=
@@ -1646,12 +1652,12 @@ Definition num_of_bop (arg_ : bop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 5))
).
Definition iop_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 5))} : iop :=
- let l__234 := arg_ in
- if sumbool_of_bool (Z.eqb l__234 0) then RISCV_ADDI
- else if sumbool_of_bool (Z.eqb l__234 1) then RISCV_SLTI
- else if sumbool_of_bool (Z.eqb l__234 2) then RISCV_SLTIU
- else if sumbool_of_bool (Z.eqb l__234 3) then RISCV_XORI
- else if sumbool_of_bool (Z.eqb l__234 4) then RISCV_ORI
+ let l__236 := arg_ in
+ if sumbool_of_bool (Z.eqb l__236 0) then RISCV_ADDI
+ else if sumbool_of_bool (Z.eqb l__236 1) then RISCV_SLTI
+ else if sumbool_of_bool (Z.eqb l__236 2) then RISCV_SLTIU
+ else if sumbool_of_bool (Z.eqb l__236 3) then RISCV_XORI
+ else if sumbool_of_bool (Z.eqb l__236 4) then RISCV_ORI
else RISCV_ANDI.
Definition num_of_iop (arg_ : iop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 5))} :=
@@ -1667,25 +1673,25 @@ Definition num_of_iop (arg_ : iop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 5))
).
Definition sop_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : sop :=
- let l__232 := arg_ in
- if sumbool_of_bool (Z.eqb l__232 0) then RISCV_SLLI
- else if sumbool_of_bool (Z.eqb l__232 1) then RISCV_SRLI
+ let l__234 := arg_ in
+ if sumbool_of_bool (Z.eqb l__234 0) then RISCV_SLLI
+ else if sumbool_of_bool (Z.eqb l__234 1) then RISCV_SRLI
else RISCV_SRAI.
Definition num_of_sop (arg_ : sop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
build_ex (match arg_ with | RISCV_SLLI => 0 | RISCV_SRLI => 1 | RISCV_SRAI => 2 end).
Definition rop_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 9))} : rop :=
- let l__223 := arg_ in
- if sumbool_of_bool (Z.eqb l__223 0) then RISCV_ADD
- else if sumbool_of_bool (Z.eqb l__223 1) then RISCV_SUB
- else if sumbool_of_bool (Z.eqb l__223 2) then RISCV_SLL
- else if sumbool_of_bool (Z.eqb l__223 3) then RISCV_SLT
- else if sumbool_of_bool (Z.eqb l__223 4) then RISCV_SLTU
- else if sumbool_of_bool (Z.eqb l__223 5) then RISCV_XOR
- else if sumbool_of_bool (Z.eqb l__223 6) then RISCV_SRL
- else if sumbool_of_bool (Z.eqb l__223 7) then RISCV_SRA
- else if sumbool_of_bool (Z.eqb l__223 8) then RISCV_OR
+ let l__225 := arg_ in
+ if sumbool_of_bool (Z.eqb l__225 0) then RISCV_ADD
+ else if sumbool_of_bool (Z.eqb l__225 1) then RISCV_SUB
+ else if sumbool_of_bool (Z.eqb l__225 2) then RISCV_SLL
+ else if sumbool_of_bool (Z.eqb l__225 3) then RISCV_SLT
+ else if sumbool_of_bool (Z.eqb l__225 4) then RISCV_SLTU
+ else if sumbool_of_bool (Z.eqb l__225 5) then RISCV_XOR
+ else if sumbool_of_bool (Z.eqb l__225 6) then RISCV_SRL
+ else if sumbool_of_bool (Z.eqb l__225 7) then RISCV_SRA
+ else if sumbool_of_bool (Z.eqb l__225 8) then RISCV_OR
else RISCV_AND.
Definition num_of_rop (arg_ : rop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 9))} :=
@@ -1705,11 +1711,11 @@ Definition num_of_rop (arg_ : rop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 9))
).
Definition ropw_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 4))} : ropw :=
- let l__219 := arg_ in
- if sumbool_of_bool (Z.eqb l__219 0) then RISCV_ADDW
- else if sumbool_of_bool (Z.eqb l__219 1) then RISCV_SUBW
- else if sumbool_of_bool (Z.eqb l__219 2) then RISCV_SLLW
- else if sumbool_of_bool (Z.eqb l__219 3) then RISCV_SRLW
+ let l__221 := arg_ in
+ if sumbool_of_bool (Z.eqb l__221 0) then RISCV_ADDW
+ else if sumbool_of_bool (Z.eqb l__221 1) then RISCV_SUBW
+ else if sumbool_of_bool (Z.eqb l__221 2) then RISCV_SLLW
+ else if sumbool_of_bool (Z.eqb l__221 3) then RISCV_SRLW
else RISCV_SRAW.
Definition num_of_ropw (arg_ : ropw) : {e : Z & ArithFact ((0 <=? e) && (e <=? 4))} :=
@@ -1724,24 +1730,24 @@ Definition num_of_ropw (arg_ : ropw) : {e : Z & ArithFact ((0 <=? e) && (e <=? 4
).
Definition sopw_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : sopw :=
- let l__217 := arg_ in
- if sumbool_of_bool (Z.eqb l__217 0) then RISCV_SLLIW
- else if sumbool_of_bool (Z.eqb l__217 1) then RISCV_SRLIW
+ let l__219 := arg_ in
+ if sumbool_of_bool (Z.eqb l__219 0) then RISCV_SLLIW
+ else if sumbool_of_bool (Z.eqb l__219 1) then RISCV_SRLIW
else RISCV_SRAIW.
Definition num_of_sopw (arg_ : sopw) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
build_ex (match arg_ with | RISCV_SLLIW => 0 | RISCV_SRLIW => 1 | RISCV_SRAIW => 2 end).
Definition amoop_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 8))} : amoop :=
- let l__209 := arg_ in
- if sumbool_of_bool (Z.eqb l__209 0) then AMOSWAP
- else if sumbool_of_bool (Z.eqb l__209 1) then AMOADD
- else if sumbool_of_bool (Z.eqb l__209 2) then AMOXOR
- else if sumbool_of_bool (Z.eqb l__209 3) then AMOAND
- else if sumbool_of_bool (Z.eqb l__209 4) then AMOOR
- else if sumbool_of_bool (Z.eqb l__209 5) then AMOMIN
- else if sumbool_of_bool (Z.eqb l__209 6) then AMOMAX
- else if sumbool_of_bool (Z.eqb l__209 7) then AMOMINU
+ let l__211 := arg_ in
+ if sumbool_of_bool (Z.eqb l__211 0) then AMOSWAP
+ else if sumbool_of_bool (Z.eqb l__211 1) then AMOADD
+ else if sumbool_of_bool (Z.eqb l__211 2) then AMOXOR
+ else if sumbool_of_bool (Z.eqb l__211 3) then AMOAND
+ else if sumbool_of_bool (Z.eqb l__211 4) then AMOOR
+ else if sumbool_of_bool (Z.eqb l__211 5) then AMOMIN
+ else if sumbool_of_bool (Z.eqb l__211 6) then AMOMAX
+ else if sumbool_of_bool (Z.eqb l__211 7) then AMOMINU
else AMOMAXU.
Definition num_of_amoop (arg_ : amoop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 8))} :=
@@ -1760,9 +1766,9 @@ Definition num_of_amoop (arg_ : amoop) : {e : Z & ArithFact ((0 <=? e) && (e <=?
).
Definition csrop_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : csrop :=
- let l__207 := arg_ in
- if sumbool_of_bool (Z.eqb l__207 0) then CSRRW
- else if sumbool_of_bool (Z.eqb l__207 1) then CSRRS
+ let l__209 := arg_ in
+ if sumbool_of_bool (Z.eqb l__209 0) then CSRRW
+ else if sumbool_of_bool (Z.eqb l__209 1) then CSRRS
else CSRRC.
Definition num_of_csrop (arg_ : csrop) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
@@ -2067,12 +2073,7 @@ Hint Unfold Data : sail.
Definition default_write_acc : ext_access_type := Data.
Hint Unfold default_write_acc : sail.
Definition accessType_to_str (a : AccessType unit) : string :=
- match a with
- | Read Data => "R"
- | Write Data => "W"
- | ReadWrite Data => "RW"
- | Execute tt => "X"
- end.
+ match a with | Read _ => "R" | Write _ => "W" | ReadWrite (_, _) => "RW" | Execute tt => "X" end.
Definition zero_reg : regtype := EXTZ 32 (Ox"0" : mword 4).
Hint Unfold zero_reg : sail.
@@ -2092,12 +2093,12 @@ Definition fregval_into_freg (v : mword 32) : mword 32 := v.
Definition rounding_mode_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 5))}
: rounding_mode :=
- let l__202 := arg_ in
- if sumbool_of_bool (Z.eqb l__202 0) then RM_RNE
- else if sumbool_of_bool (Z.eqb l__202 1) then RM_RTZ
- else if sumbool_of_bool (Z.eqb l__202 2) then RM_RDN
- else if sumbool_of_bool (Z.eqb l__202 3) then RM_RUP
- else if sumbool_of_bool (Z.eqb l__202 4) then RM_RMM
+ let l__204 := arg_ in
+ if sumbool_of_bool (Z.eqb l__204 0) then RM_RNE
+ else if sumbool_of_bool (Z.eqb l__204 1) then RM_RTZ
+ else if sumbool_of_bool (Z.eqb l__204 2) then RM_RDN
+ else if sumbool_of_bool (Z.eqb l__204 3) then RM_RUP
+ else if sumbool_of_bool (Z.eqb l__204 4) then RM_RMM
else RM_DYN.
Definition num_of_rounding_mode (arg_ : rounding_mode)
@@ -2114,10 +2115,10 @@ Definition num_of_rounding_mode (arg_ : rounding_mode)
).
Definition f_madd_op_S_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))} : f_madd_op_S :=
- let l__199 := arg_ in
- if sumbool_of_bool (Z.eqb l__199 0) then FMADD_S
- else if sumbool_of_bool (Z.eqb l__199 1) then FMSUB_S
- else if sumbool_of_bool (Z.eqb l__199 2) then FNMSUB_S
+ let l__201 := arg_ in
+ if sumbool_of_bool (Z.eqb l__201 0) then FMADD_S
+ else if sumbool_of_bool (Z.eqb l__201 1) then FMSUB_S
+ else if sumbool_of_bool (Z.eqb l__201 2) then FNMSUB_S
else FNMADD_S.
Definition num_of_f_madd_op_S (arg_ : f_madd_op_S) : {e : Z & ArithFact ((0 <=? e) && (e <=? 3))} :=
@@ -2125,10 +2126,10 @@ Definition num_of_f_madd_op_S (arg_ : f_madd_op_S) : {e : Z & ArithFact ((0 <=?
Definition f_bin_rm_op_S_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))}
: f_bin_rm_op_S :=
- let l__196 := arg_ in
- if sumbool_of_bool (Z.eqb l__196 0) then FADD_S
- else if sumbool_of_bool (Z.eqb l__196 1) then FSUB_S
- else if sumbool_of_bool (Z.eqb l__196 2) then FMUL_S
+ let l__198 := arg_ in
+ if sumbool_of_bool (Z.eqb l__198 0) then FADD_S
+ else if sumbool_of_bool (Z.eqb l__198 1) then FSUB_S
+ else if sumbool_of_bool (Z.eqb l__198 2) then FMUL_S
else FDIV_S.
Definition num_of_f_bin_rm_op_S (arg_ : f_bin_rm_op_S)
@@ -2136,15 +2137,15 @@ Definition num_of_f_bin_rm_op_S (arg_ : f_bin_rm_op_S)
build_ex (match arg_ with | FADD_S => 0 | FSUB_S => 1 | FMUL_S => 2 | FDIV_S => 3 end).
Definition f_un_rm_op_S_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 8))} : f_un_rm_op_S :=
- let l__188 := arg_ in
- if sumbool_of_bool (Z.eqb l__188 0) then FSQRT_S
- else if sumbool_of_bool (Z.eqb l__188 1) then FCVT_W_S
- else if sumbool_of_bool (Z.eqb l__188 2) then FCVT_WU_S
- else if sumbool_of_bool (Z.eqb l__188 3) then FCVT_S_W
- else if sumbool_of_bool (Z.eqb l__188 4) then FCVT_S_WU
- else if sumbool_of_bool (Z.eqb l__188 5) then FCVT_L_S
- else if sumbool_of_bool (Z.eqb l__188 6) then FCVT_LU_S
- else if sumbool_of_bool (Z.eqb l__188 7) then FCVT_S_L
+ let l__190 := arg_ in
+ if sumbool_of_bool (Z.eqb l__190 0) then FSQRT_S
+ else if sumbool_of_bool (Z.eqb l__190 1) then FCVT_W_S
+ else if sumbool_of_bool (Z.eqb l__190 2) then FCVT_WU_S
+ else if sumbool_of_bool (Z.eqb l__190 3) then FCVT_S_W
+ else if sumbool_of_bool (Z.eqb l__190 4) then FCVT_S_WU
+ else if sumbool_of_bool (Z.eqb l__190 5) then FCVT_L_S
+ else if sumbool_of_bool (Z.eqb l__190 6) then FCVT_LU_S
+ else if sumbool_of_bool (Z.eqb l__190 7) then FCVT_S_L
else FCVT_S_LU.
Definition num_of_f_un_rm_op_S (arg_ : f_un_rm_op_S) : {e : Z & ArithFact ((0 <=? e) && (e <=? 8))} :=
@@ -2163,23 +2164,23 @@ Definition num_of_f_un_rm_op_S (arg_ : f_un_rm_op_S) : {e : Z & ArithFact ((0 <=
).
Definition f_un_op_S_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : f_un_op_S :=
- let l__186 := arg_ in
- if sumbool_of_bool (Z.eqb l__186 0) then FCLASS_S
- else if sumbool_of_bool (Z.eqb l__186 1) then FMV_X_W
+ let l__188 := arg_ in
+ if sumbool_of_bool (Z.eqb l__188 0) then FCLASS_S
+ else if sumbool_of_bool (Z.eqb l__188 1) then FMV_X_W
else FMV_W_X.
Definition num_of_f_un_op_S (arg_ : f_un_op_S) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
build_ex (match arg_ with | FCLASS_S => 0 | FMV_X_W => 1 | FMV_W_X => 2 end).
Definition f_bin_op_S_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 7))} : f_bin_op_S :=
- let l__179 := arg_ in
- if sumbool_of_bool (Z.eqb l__179 0) then FSGNJ_S
- else if sumbool_of_bool (Z.eqb l__179 1) then FSGNJN_S
- else if sumbool_of_bool (Z.eqb l__179 2) then FSGNJX_S
- else if sumbool_of_bool (Z.eqb l__179 3) then FMIN_S
- else if sumbool_of_bool (Z.eqb l__179 4) then FMAX_S
- else if sumbool_of_bool (Z.eqb l__179 5) then FEQ_S
- else if sumbool_of_bool (Z.eqb l__179 6) then FLT_S
+ let l__181 := arg_ in
+ if sumbool_of_bool (Z.eqb l__181 0) then FSGNJ_S
+ else if sumbool_of_bool (Z.eqb l__181 1) then FSGNJN_S
+ else if sumbool_of_bool (Z.eqb l__181 2) then FSGNJX_S
+ else if sumbool_of_bool (Z.eqb l__181 3) then FMIN_S
+ else if sumbool_of_bool (Z.eqb l__181 4) then FMAX_S
+ else if sumbool_of_bool (Z.eqb l__181 5) then FEQ_S
+ else if sumbool_of_bool (Z.eqb l__181 6) then FLT_S
else FLE_S.
Definition num_of_f_bin_op_S (arg_ : f_bin_op_S) : {e : Z & ArithFact ((0 <=? e) && (e <=? 7))} :=
@@ -2197,10 +2198,10 @@ Definition num_of_f_bin_op_S (arg_ : f_bin_op_S) : {e : Z & ArithFact ((0 <=? e)
).
Definition f_madd_op_D_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))} : f_madd_op_D :=
- let l__176 := arg_ in
- if sumbool_of_bool (Z.eqb l__176 0) then FMADD_D
- else if sumbool_of_bool (Z.eqb l__176 1) then FMSUB_D
- else if sumbool_of_bool (Z.eqb l__176 2) then FNMSUB_D
+ let l__178 := arg_ in
+ if sumbool_of_bool (Z.eqb l__178 0) then FMADD_D
+ else if sumbool_of_bool (Z.eqb l__178 1) then FMSUB_D
+ else if sumbool_of_bool (Z.eqb l__178 2) then FNMSUB_D
else FNMADD_D.
Definition num_of_f_madd_op_D (arg_ : f_madd_op_D) : {e : Z & ArithFact ((0 <=? e) && (e <=? 3))} :=
@@ -2208,10 +2209,10 @@ Definition num_of_f_madd_op_D (arg_ : f_madd_op_D) : {e : Z & ArithFact ((0 <=?
Definition f_bin_rm_op_D_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))}
: f_bin_rm_op_D :=
- let l__173 := arg_ in
- if sumbool_of_bool (Z.eqb l__173 0) then FADD_D
- else if sumbool_of_bool (Z.eqb l__173 1) then FSUB_D
- else if sumbool_of_bool (Z.eqb l__173 2) then FMUL_D
+ let l__175 := arg_ in
+ if sumbool_of_bool (Z.eqb l__175 0) then FADD_D
+ else if sumbool_of_bool (Z.eqb l__175 1) then FSUB_D
+ else if sumbool_of_bool (Z.eqb l__175 2) then FMUL_D
else FDIV_D.
Definition num_of_f_bin_rm_op_D (arg_ : f_bin_rm_op_D)
@@ -2220,17 +2221,17 @@ Definition num_of_f_bin_rm_op_D (arg_ : f_bin_rm_op_D)
Definition f_un_rm_op_D_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 10))}
: f_un_rm_op_D :=
- let l__163 := arg_ in
- if sumbool_of_bool (Z.eqb l__163 0) then FSQRT_D
- else if sumbool_of_bool (Z.eqb l__163 1) then FCVT_W_D
- else if sumbool_of_bool (Z.eqb l__163 2) then FCVT_WU_D
- else if sumbool_of_bool (Z.eqb l__163 3) then FCVT_D_W
- else if sumbool_of_bool (Z.eqb l__163 4) then FCVT_D_WU
- else if sumbool_of_bool (Z.eqb l__163 5) then FCVT_S_D
- else if sumbool_of_bool (Z.eqb l__163 6) then FCVT_D_S
- else if sumbool_of_bool (Z.eqb l__163 7) then FCVT_L_D
- else if sumbool_of_bool (Z.eqb l__163 8) then FCVT_LU_D
- else if sumbool_of_bool (Z.eqb l__163 9) then FCVT_D_L
+ let l__165 := arg_ in
+ if sumbool_of_bool (Z.eqb l__165 0) then FSQRT_D
+ else if sumbool_of_bool (Z.eqb l__165 1) then FCVT_W_D
+ else if sumbool_of_bool (Z.eqb l__165 2) then FCVT_WU_D
+ else if sumbool_of_bool (Z.eqb l__165 3) then FCVT_D_W
+ else if sumbool_of_bool (Z.eqb l__165 4) then FCVT_D_WU
+ else if sumbool_of_bool (Z.eqb l__165 5) then FCVT_S_D
+ else if sumbool_of_bool (Z.eqb l__165 6) then FCVT_D_S
+ else if sumbool_of_bool (Z.eqb l__165 7) then FCVT_L_D
+ else if sumbool_of_bool (Z.eqb l__165 8) then FCVT_LU_D
+ else if sumbool_of_bool (Z.eqb l__165 9) then FCVT_D_L
else FCVT_D_LU.
Definition num_of_f_un_rm_op_D (arg_ : f_un_rm_op_D) : {e : Z & ArithFact ((0 <=? e) && (e <=? 10))} :=
@@ -2251,14 +2252,14 @@ Definition num_of_f_un_rm_op_D (arg_ : f_un_rm_op_D) : {e : Z & ArithFact ((0 <=
).
Definition f_bin_op_D_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 7))} : f_bin_op_D :=
- let l__156 := arg_ in
- if sumbool_of_bool (Z.eqb l__156 0) then FSGNJ_D
- else if sumbool_of_bool (Z.eqb l__156 1) then FSGNJN_D
- else if sumbool_of_bool (Z.eqb l__156 2) then FSGNJX_D
- else if sumbool_of_bool (Z.eqb l__156 3) then FMIN_D
- else if sumbool_of_bool (Z.eqb l__156 4) then FMAX_D
- else if sumbool_of_bool (Z.eqb l__156 5) then FEQ_D
- else if sumbool_of_bool (Z.eqb l__156 6) then FLT_D
+ let l__158 := arg_ in
+ if sumbool_of_bool (Z.eqb l__158 0) then FSGNJ_D
+ else if sumbool_of_bool (Z.eqb l__158 1) then FSGNJN_D
+ else if sumbool_of_bool (Z.eqb l__158 2) then FSGNJX_D
+ else if sumbool_of_bool (Z.eqb l__158 3) then FMIN_D
+ else if sumbool_of_bool (Z.eqb l__158 4) then FMAX_D
+ else if sumbool_of_bool (Z.eqb l__158 5) then FEQ_D
+ else if sumbool_of_bool (Z.eqb l__158 6) then FLT_D
else FLE_D.
Definition num_of_f_bin_op_D (arg_ : f_bin_op_D) : {e : Z & ArithFact ((0 <=? e) && (e <=? 7))} :=
@@ -2276,108 +2277,108 @@ Definition num_of_f_bin_op_D (arg_ : f_bin_op_D) : {e : Z & ArithFact ((0 <=? e)
).
Definition f_un_op_D_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : f_un_op_D :=
- let l__154 := arg_ in
- if sumbool_of_bool (Z.eqb l__154 0) then FCLASS_D
- else if sumbool_of_bool (Z.eqb l__154 1) then FMV_X_D
+ let l__156 := arg_ in
+ if sumbool_of_bool (Z.eqb l__156 0) then FCLASS_D
+ else if sumbool_of_bool (Z.eqb l__156 1) then FMV_X_D
else FMV_D_X.
Definition num_of_f_un_op_D (arg_ : f_un_op_D) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
build_ex (match arg_ with | FCLASS_D => 0 | FMV_X_D => 1 | FMV_D_X => 2 end).
Definition rX (r : Z) `{ArithFact ((0 <=? r) && (r <? 32))} : M (mword 32) :=
- let l__122 := r in
- (if sumbool_of_bool (Z.eqb l__122 0) then returnm zero_reg
- else if sumbool_of_bool (Z.eqb l__122 1) then
+ let l__124 := r in
+ (if sumbool_of_bool (Z.eqb l__124 0) then returnm zero_reg
+ else if sumbool_of_bool (Z.eqb l__124 1) then
((read_reg x1_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 2) then
+ else if sumbool_of_bool (Z.eqb l__124 2) then
((read_reg x2_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 3) then
+ else if sumbool_of_bool (Z.eqb l__124 3) then
((read_reg x3_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 4) then
+ else if sumbool_of_bool (Z.eqb l__124 4) then
((read_reg x4_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 5) then
+ else if sumbool_of_bool (Z.eqb l__124 5) then
((read_reg x5_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 6) then
+ else if sumbool_of_bool (Z.eqb l__124 6) then
((read_reg x6_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 7) then
+ else if sumbool_of_bool (Z.eqb l__124 7) then
((read_reg x7_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 8) then
+ else if sumbool_of_bool (Z.eqb l__124 8) then
((read_reg x8_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 9) then
+ else if sumbool_of_bool (Z.eqb l__124 9) then
((read_reg x9_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 10) then
+ else if sumbool_of_bool (Z.eqb l__124 10) then
((read_reg x10_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 11) then
+ else if sumbool_of_bool (Z.eqb l__124 11) then
((read_reg x11_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 12) then
+ else if sumbool_of_bool (Z.eqb l__124 12) then
((read_reg x12_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 13) then
+ else if sumbool_of_bool (Z.eqb l__124 13) then
((read_reg x13_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 14) then
+ else if sumbool_of_bool (Z.eqb l__124 14) then
((read_reg x14_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 15) then
+ else if sumbool_of_bool (Z.eqb l__124 15) then
((read_reg x15_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 16) then
+ else if sumbool_of_bool (Z.eqb l__124 16) then
((read_reg x16_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 17) then
+ else if sumbool_of_bool (Z.eqb l__124 17) then
((read_reg x17_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 18) then
+ else if sumbool_of_bool (Z.eqb l__124 18) then
((read_reg x18_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 19) then
+ else if sumbool_of_bool (Z.eqb l__124 19) then
((read_reg x19_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 20) then
+ else if sumbool_of_bool (Z.eqb l__124 20) then
((read_reg x20_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 21) then
+ else if sumbool_of_bool (Z.eqb l__124 21) then
((read_reg x21_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 22) then
+ else if sumbool_of_bool (Z.eqb l__124 22) then
((read_reg x22_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 23) then
+ else if sumbool_of_bool (Z.eqb l__124 23) then
((read_reg x23_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 24) then
+ else if sumbool_of_bool (Z.eqb l__124 24) then
((read_reg x24_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 25) then
+ else if sumbool_of_bool (Z.eqb l__124 25) then
((read_reg x25_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 26) then
+ else if sumbool_of_bool (Z.eqb l__124 26) then
((read_reg x26_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 27) then
+ else if sumbool_of_bool (Z.eqb l__124 27) then
((read_reg x27_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 28) then
+ else if sumbool_of_bool (Z.eqb l__124 28) then
((read_reg x28_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 29) then
+ else if sumbool_of_bool (Z.eqb l__124 29) then
((read_reg x29_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 30) then
+ else if sumbool_of_bool (Z.eqb l__124 30) then
((read_reg x30_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__122 31) then
+ else if sumbool_of_bool (Z.eqb l__124 31) then
((read_reg x31_ref) : M (mword 32))
: M (mword 32)
else assert_exp' false "invalid register number" >>= fun _ => exit tt) >>= fun v : regtype =>
@@ -2387,39 +2388,39 @@ Definition rvfi_wX (r : Z) (v : mword 32) `{ArithFact ((0 <=? r) && (r <? 32))}
Definition wX (r : Z) (in_v : mword 32) `{ArithFact ((0 <=? r) && (r <? 32))} : M (unit) :=
let v := regval_into_reg in_v in
- let l__90 := r in
- (if sumbool_of_bool (Z.eqb l__90 0) then returnm tt
- else if sumbool_of_bool (Z.eqb l__90 1) then write_reg x1_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 2) then write_reg x2_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 3) then write_reg x3_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 4) then write_reg x4_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 5) then write_reg x5_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 6) then write_reg x6_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 7) then write_reg x7_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 8) then write_reg x8_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 9) then write_reg x9_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 10) then write_reg x10_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 11) then write_reg x11_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 12) then write_reg x12_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 13) then write_reg x13_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 14) then write_reg x14_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 15) then write_reg x15_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 16) then write_reg x16_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 17) then write_reg x17_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 18) then write_reg x18_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 19) then write_reg x19_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 20) then write_reg x20_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 21) then write_reg x21_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 22) then write_reg x22_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 23) then write_reg x23_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 24) then write_reg x24_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 25) then write_reg x25_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 26) then write_reg x26_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 27) then write_reg x27_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 28) then write_reg x28_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 29) then write_reg x29_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 30) then write_reg x30_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__90 31) then write_reg x31_ref v : M (unit)
+ let l__92 := r in
+ (if sumbool_of_bool (Z.eqb l__92 0) then returnm tt
+ else if sumbool_of_bool (Z.eqb l__92 1) then write_reg x1_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 2) then write_reg x2_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 3) then write_reg x3_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 4) then write_reg x4_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 5) then write_reg x5_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 6) then write_reg x6_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 7) then write_reg x7_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 8) then write_reg x8_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 9) then write_reg x9_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 10) then write_reg x10_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 11) then write_reg x11_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 12) then write_reg x12_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 13) then write_reg x13_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 14) then write_reg x14_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 15) then write_reg x15_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 16) then write_reg x16_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 17) then write_reg x17_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 18) then write_reg x18_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 19) then write_reg x19_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 20) then write_reg x20_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 21) then write_reg x21_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 22) then write_reg x22_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 23) then write_reg x23_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 24) then write_reg x24_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 25) then write_reg x25_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 26) then write_reg x26_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 27) then write_reg x27_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 28) then write_reg x28_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 29) then write_reg x29_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 30) then write_reg x30_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__92 31) then write_reg x31_ref v : M (unit)
else assert_exp' false "invalid register number" >>= fun _ => exit tt) >>
returnm (if sumbool_of_bool (projT1 (neq_int r 0)) then
let '_ := (rvfi_wX r in_v) : unit in
@@ -2470,7 +2471,7 @@ Definition reg_name_abi (r : mword 5) : M (string) :=
else if eq_vec b__0 ('b"11110" : mword 5) then returnm "t5"
else if eq_vec b__0 ('b"11111" : mword 5) then returnm "t6"
else
- assert_exp' false "Pattern match failure at model/riscv_regs.sail 155:2 - 188:3" >>= fun _ =>
+ assert_exp' false "Pattern match failure at model/riscv_regs.sail 154:2 - 187:3" >>= fun _ =>
exit tt)
: M (string).
@@ -3928,6 +3929,66 @@ Definition haveUsrMode '(tt : unit) : M (bool) :=
Definition haveNExt '(tt : unit) : M (bool) :=
read_reg misa_ref >>= fun w__0 : Misa => returnm (eq_vec (_get_Misa_N w__0) ('b"1" : mword 1)).
+Definition Mk_Mstatush (v : mword 32) : Mstatush :=
+ {| Mstatush_Mstatush_chunk_0 := (subrange_vec_dec v 31 0) |}.
+
+Definition _get_Mstatush_bits (v : Mstatush) : mword 32 :=
+ subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 31 0.
+
+Definition _set_Mstatush_bits (r_ref : register_ref regstate register_value Mstatush) (v : mword 32)
+: M (unit) :=
+ (reg_deref r_ref) >>= fun r =>
+ let r :=
+ {[ r with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec r.(Mstatush_Mstatush_chunk_0) 31 0 (subrange_vec_dec v 31 0)) ]}
+ : Mstatush in
+ write_reg r_ref r
+ : M (unit).
+
+Definition _update_Mstatush_bits (v : Mstatush) (x : mword 32) : Mstatush :=
+ {[ v with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 31 0 (subrange_vec_dec x 31 0)) ]}.
+
+Definition _get_Mstatush_MBE (v : Mstatush) : mword 1 :=
+ subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 5 5.
+
+Definition _set_Mstatush_MBE (r_ref : register_ref regstate register_value Mstatush) (v : mword 1)
+: M (unit) :=
+ (reg_deref r_ref) >>= fun r =>
+ let r :=
+ {[ r with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec r.(Mstatush_Mstatush_chunk_0) 5 5 (subrange_vec_dec v 0 0)) ]}
+ : Mstatush in
+ write_reg r_ref r
+ : M (unit).
+
+Definition _update_Mstatush_MBE (v : Mstatush) (x : mword 1) : Mstatush :=
+ {[ v with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 5 5 (subrange_vec_dec x 0 0)) ]}.
+
+Definition _get_Mstatush_SBE (v : Mstatush) : mword 1 :=
+ subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 4 4.
+
+Definition _set_Mstatush_SBE (r_ref : register_ref regstate register_value Mstatush) (v : mword 1)
+: M (unit) :=
+ (reg_deref r_ref) >>= fun r =>
+ let r :=
+ {[ r with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec r.(Mstatush_Mstatush_chunk_0) 4 4 (subrange_vec_dec v 0 0)) ]}
+ : Mstatush in
+ write_reg r_ref r
+ : M (unit).
+
+Definition _update_Mstatush_SBE (v : Mstatush) (x : mword 1) : Mstatush :=
+ {[ v with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 4 4 (subrange_vec_dec x 0 0)) ]}.
+
Definition Mk_Mstatus (v : mword 32) : Mstatus :=
{| Mstatus_Mstatus_chunk_0 := (subrange_vec_dec v 31 0) |}.
@@ -4275,10 +4336,9 @@ Definition _update_Mstatus_UIE (v : Mstatus) (x : mword 1) : Mstatus :=
Definition effectivePrivilege (t : AccessType unit) (m : Mstatus) (priv : Privilege) : M (Privilege) :=
(if andb (generic_neq t (Execute tt)) (eq_vec (_get_Mstatus_MPRV m) ('b"1" : mword 1)) then
- read_reg mstatus_ref >>= fun w__0 : Mstatus =>
- (privLevel_of_bits (_get_Mstatus_MPP w__0))
+ (privLevel_of_bits (_get_Mstatus_MPP m))
: M (Privilege)
- else read_reg cur_privilege_ref : M (Privilege))
+ else returnm priv)
: M (Privilege).
Definition get_mstatus_SXL (m : Mstatus) : mword 2 := arch_to_bits RV32.
@@ -4290,7 +4350,15 @@ Definition get_mstatus_UXL (m : Mstatus) : mword 2 := arch_to_bits RV32.
Definition set_mstatus_UXL (m : Mstatus) (a : mword 2) : Mstatus := m.
Definition legalize_mstatus (o : Mstatus) (v : mword 32) : M (Mstatus) :=
- let m : Mstatus := Mk_Mstatus v in
+ let m : Mstatus :=
+ Mk_Mstatus
+ (EXTZ 32
+ (concat_vec (subrange_vec_dec v 22 11)
+ (concat_vec ('b"00" : mword 2)
+ (concat_vec (subrange_vec_dec v 8 7)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec (subrange_vec_dec v 5 3)
+ (concat_vec ('b"0" : mword 1) (subrange_vec_dec v 1 0)))))))) in
let m := _update_Mstatus_XS m (extStatus_to_bits Off) in
(or_boolM
((extStatus_of_bits (_get_Mstatus_FS m)) >>= fun w__0 : ExtStatus =>
@@ -4300,6 +4368,7 @@ Definition legalize_mstatus (o : Mstatus) (v : mword 32) : M (Mstatus) :=
let m := _update_Mstatus_SD m (bool_to_bits dirty) in
let m := set_mstatus_SXL m (get_mstatus_SXL o) in
let m := set_mstatus_UXL m (get_mstatus_UXL o) in
+ let m := m in
(haveNExt tt) >>= fun w__2 : bool =>
let m :=
if sumbool_of_bool (negb w__2) then
@@ -5213,9 +5282,12 @@ Definition retire_instruction '(tt : unit) : M (unit) :=
read_reg minstret_written_ref >>= fun w__0 : bool =>
(if Bool.eqb w__0 true then write_reg minstret_written_ref false : M (unit)
else
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
- write_reg minstret_ref (add_vec_int w__1 1)
- : M (unit))
+ read_reg mcountinhibit_ref >>= fun w__1 : Counterin =>
+ if eq_vec (_get_Counterin_IR w__1) ('b"0" : mword 1) then
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__2 : mword 64 =>
+ write_reg minstret_ref (add_vec_int w__2 1)
+ : M (unit)
+ else returnm tt)
: M (unit).
Definition Mk_Sstatus (v : mword 32) : Sstatus :=
@@ -5472,7 +5544,9 @@ Definition lift_sstatus (m : Mstatus) (s : Sstatus) : M (Mstatus) :=
returnm m.
Definition legalize_sstatus (m : Mstatus) (v : mword 32) : M (Mstatus) :=
- (lift_sstatus m (Mk_Sstatus v)) : M (Mstatus).
+ (lift_sstatus m (Mk_Sstatus v)) >>= fun w__0 : Mstatus =>
+ (legalize_mstatus m (_get_Mstatus_bits w__0))
+ : M (Mstatus).
Definition Mk_Sedeleg (v : mword 32) : Sedeleg :=
{| Sedeleg_Sedeleg_chunk_0 := (subrange_vec_dec v 31 0) |}.
@@ -5842,7 +5916,10 @@ Definition lower_mie (m : Minterrupts) (d : Minterrupts) : Sinterrupts :=
Definition lift_sip (o : Minterrupts) (d : Minterrupts) (s : Sinterrupts) : M (Minterrupts) :=
let m : Minterrupts := o in
- let m := _update_Minterrupts_SSI m (and_vec (_get_Sinterrupts_SSI s) (_get_Minterrupts_SSI d)) in
+ let m :=
+ if eq_vec (_get_Minterrupts_SSI d) ('b"1" : mword 1) then
+ _update_Minterrupts_SSI m (_get_Sinterrupts_SSI s)
+ else m in
(haveNExt tt) >>= fun w__0 : bool =>
returnm (if sumbool_of_bool w__0 then
let m :=
@@ -6059,10 +6136,10 @@ Definition legalize_satp32 (a : Architecture) (o : mword 32) (v : mword 32) : mw
Definition PmpAddrMatchType_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 3))}
: PmpAddrMatchType :=
- let l__87 := arg_ in
- if sumbool_of_bool (Z.eqb l__87 0) then OFF
- else if sumbool_of_bool (Z.eqb l__87 1) then TOR
- else if sumbool_of_bool (Z.eqb l__87 2) then NA4
+ let l__89 := arg_ in
+ if sumbool_of_bool (Z.eqb l__89 0) then OFF
+ else if sumbool_of_bool (Z.eqb l__89 1) then TOR
+ else if sumbool_of_bool (Z.eqb l__89 2) then NA4
else NAPOT.
Definition num_of_PmpAddrMatchType (arg_ : PmpAddrMatchType)
@@ -6207,8 +6284,8 @@ Definition _update_Pmpcfg_ent_R (v : Pmpcfg_ent) (x : mword 1) : Pmpcfg_ent :=
(update_subrange_vec_dec v.(Pmpcfg_ent_Pmpcfg_ent_chunk_0) 0 0 (subrange_vec_dec x 0 0)) ]}.
Definition pmpReadCfgReg (n : Z) `{ArithFact ((0 <=? n) && (n <? 4))} : M (mword 32) :=
- let l__83 := n in
- (if sumbool_of_bool (Z.eqb l__83 0) then
+ let l__85 := n in
+ (if sumbool_of_bool (Z.eqb l__85 0) then
read_reg pmp3cfg_ref >>= fun w__0 : Pmpcfg_ent =>
read_reg pmp2cfg_ref >>= fun w__1 : Pmpcfg_ent =>
read_reg pmp1cfg_ref >>= fun w__2 : Pmpcfg_ent =>
@@ -6216,7 +6293,7 @@ Definition pmpReadCfgReg (n : Z) `{ArithFact ((0 <=? n) && (n <? 4))} : M (mword
returnm (concat_vec (_get_Pmpcfg_ent_bits w__0)
(concat_vec (_get_Pmpcfg_ent_bits w__1)
(concat_vec (_get_Pmpcfg_ent_bits w__2) (_get_Pmpcfg_ent_bits w__3))))
- else if sumbool_of_bool (Z.eqb l__83 1) then
+ else if sumbool_of_bool (Z.eqb l__85 1) then
read_reg pmp7cfg_ref >>= fun w__4 : Pmpcfg_ent =>
read_reg pmp6cfg_ref >>= fun w__5 : Pmpcfg_ent =>
read_reg pmp5cfg_ref >>= fun w__6 : Pmpcfg_ent =>
@@ -6224,7 +6301,7 @@ Definition pmpReadCfgReg (n : Z) `{ArithFact ((0 <=? n) && (n <? 4))} : M (mword
returnm (concat_vec (_get_Pmpcfg_ent_bits w__4)
(concat_vec (_get_Pmpcfg_ent_bits w__5)
(concat_vec (_get_Pmpcfg_ent_bits w__6) (_get_Pmpcfg_ent_bits w__7))))
- else if sumbool_of_bool (Z.eqb l__83 2) then
+ else if sumbool_of_bool (Z.eqb l__85 2) then
read_reg pmp11cfg_ref >>= fun w__8 : Pmpcfg_ent =>
read_reg pmp10cfg_ref >>= fun w__9 : Pmpcfg_ent =>
read_reg pmp9cfg_ref >>= fun w__10 : Pmpcfg_ent =>
@@ -6232,7 +6309,7 @@ Definition pmpReadCfgReg (n : Z) `{ArithFact ((0 <=? n) && (n <? 4))} : M (mword
returnm (concat_vec (_get_Pmpcfg_ent_bits w__8)
(concat_vec (_get_Pmpcfg_ent_bits w__9)
(concat_vec (_get_Pmpcfg_ent_bits w__10) (_get_Pmpcfg_ent_bits w__11))))
- else if sumbool_of_bool (Z.eqb l__83 3) then
+ else if sumbool_of_bool (Z.eqb l__85 3) then
read_reg pmp15cfg_ref >>= fun w__12 : Pmpcfg_ent =>
read_reg pmp14cfg_ref >>= fun w__13 : Pmpcfg_ent =>
read_reg pmp13cfg_ref >>= fun w__14 : Pmpcfg_ent =>
@@ -6257,8 +6334,8 @@ Definition pmpWriteCfg (cfg : Pmpcfg_ent) (v : mword 8) : Pmpcfg_ent :=
if pmpLocked cfg then cfg else Mk_Pmpcfg_ent (and_vec v (Ox"9F" : mword 8)).
Definition pmpWriteCfgReg (n : Z) (v : mword 32) `{ArithFact ((0 <=? n) && (n <? 4))} : M (unit) :=
- let l__79 := n in
- (if sumbool_of_bool (Z.eqb l__79 0) then
+ let l__81 := n in
+ (if sumbool_of_bool (Z.eqb l__81 0) then
read_reg pmp0cfg_ref >>= fun w__0 : Pmpcfg_ent =>
write_reg pmp0cfg_ref (pmpWriteCfg w__0 (subrange_vec_dec v 7 0)) >>
read_reg pmp1cfg_ref >>= fun w__1 : Pmpcfg_ent =>
@@ -6268,7 +6345,7 @@ Definition pmpWriteCfgReg (n : Z) (v : mword 32) `{ArithFact ((0 <=? n) && (n <?
read_reg pmp3cfg_ref >>= fun w__3 : Pmpcfg_ent =>
write_reg pmp3cfg_ref (pmpWriteCfg w__3 (subrange_vec_dec v 31 24))
: M (unit)
- else if sumbool_of_bool (Z.eqb l__79 1) then
+ else if sumbool_of_bool (Z.eqb l__81 1) then
read_reg pmp4cfg_ref >>= fun w__4 : Pmpcfg_ent =>
write_reg pmp4cfg_ref (pmpWriteCfg w__4 (subrange_vec_dec v 7 0)) >>
read_reg pmp5cfg_ref >>= fun w__5 : Pmpcfg_ent =>
@@ -6278,7 +6355,7 @@ Definition pmpWriteCfgReg (n : Z) (v : mword 32) `{ArithFact ((0 <=? n) && (n <?
read_reg pmp7cfg_ref >>= fun w__7 : Pmpcfg_ent =>
write_reg pmp7cfg_ref (pmpWriteCfg w__7 (subrange_vec_dec v 31 24))
: M (unit)
- else if sumbool_of_bool (Z.eqb l__79 2) then
+ else if sumbool_of_bool (Z.eqb l__81 2) then
read_reg pmp8cfg_ref >>= fun w__8 : Pmpcfg_ent =>
write_reg pmp8cfg_ref (pmpWriteCfg w__8 (subrange_vec_dec v 7 0)) >>
read_reg pmp9cfg_ref >>= fun w__9 : Pmpcfg_ent =>
@@ -6288,7 +6365,7 @@ Definition pmpWriteCfgReg (n : Z) (v : mword 32) `{ArithFact ((0 <=? n) && (n <?
read_reg pmp11cfg_ref >>= fun w__11 : Pmpcfg_ent =>
write_reg pmp11cfg_ref (pmpWriteCfg w__11 (subrange_vec_dec v 31 24))
: M (unit)
- else if sumbool_of_bool (Z.eqb l__79 3) then
+ else if sumbool_of_bool (Z.eqb l__81 3) then
read_reg pmp12cfg_ref >>= fun w__12 : Pmpcfg_ent =>
write_reg pmp12cfg_ref (pmpWriteCfg w__12 (subrange_vec_dec v 7 0)) >>
read_reg pmp13cfg_ref >>= fun w__13 : Pmpcfg_ent =>
@@ -6340,9 +6417,9 @@ Definition pmpCheckPerms (ent : Pmpcfg_ent) (acc : AccessType unit) (priv : Priv
end.
Definition pmpAddrMatch_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : pmpAddrMatch :=
- let l__77 := arg_ in
- if sumbool_of_bool (Z.eqb l__77 0) then PMP_NoMatch
- else if sumbool_of_bool (Z.eqb l__77 1) then PMP_PartialMatch
+ let l__79 := arg_ in
+ if sumbool_of_bool (Z.eqb l__79 0) then PMP_NoMatch
+ else if sumbool_of_bool (Z.eqb l__79 1) then PMP_PartialMatch
else PMP_Match.
Definition num_of_pmpAddrMatch (arg_ : pmpAddrMatch) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
@@ -6354,15 +6431,15 @@ Definition pmpMatchAddr (addr : mword 32) (width : mword 32) (rng : option ((mwo
| None => PMP_NoMatch
| Some (lo, hi) =>
if zopz0zI_u hi lo then PMP_NoMatch
- else if orb (zopz0zI_u (add_vec addr width) lo) (zopz0zI_u hi addr) then PMP_NoMatch
+ else if orb (zopz0zIzJ_u (add_vec addr width) lo) (zopz0zIzJ_u hi addr) then PMP_NoMatch
else if andb (zopz0zIzJ_u lo addr) (zopz0zIzJ_u (add_vec addr width) hi) then PMP_Match
else PMP_PartialMatch
end.
Definition pmpMatch_of_num (arg_ : Z) `{ArithFact ((0 <=? arg_) && (arg_ <=? 2))} : pmpMatch :=
- let l__75 := arg_ in
- if sumbool_of_bool (Z.eqb l__75 0) then PMP_Success
- else if sumbool_of_bool (Z.eqb l__75 1) then PMP_Continue
+ let l__77 := arg_ in
+ if sumbool_of_bool (Z.eqb l__77 0) then PMP_Success
+ else if sumbool_of_bool (Z.eqb l__77 1) then PMP_Continue
else PMP_Fail.
Definition num_of_pmpMatch (arg_ : pmpMatch) : {e : Z & ArithFact ((0 <=? e) && (e <=? 2))} :=
@@ -6625,6 +6702,18 @@ Definition ext_data_get_addr
Definition ext_handle_data_check_error (err : unit) : unit := tt.
+Definition ext_check_phys_mem_read
+(access_type : AccessType unit) (paddr : mword 32) (size : Z) (aquire : bool) (release : bool)
+(reserved : bool) (read_meta : bool) `{ArithFact ((0 <? size) && (size <=? 16))}
+: Ext_PhysAddr_Check :=
+ Ext_PhysAddr_OK tt.
+
+Definition ext_check_phys_mem_write
+(write_kind : write_kind) (paddr : mword 32) (size : Z) (data : mword (8 * size)) (metadata : unit)
+`{ArithFact ((0 <? size) && (size <=? 16))}
+: Ext_PhysAddr_Check :=
+ Ext_PhysAddr_OK tt.
+
Definition Mk_Ustatus (v : mword 32) : Ustatus :=
{| Ustatus_Ustatus_chunk_0 := (subrange_vec_dec v 31 0) |}.
@@ -7182,81 +7271,81 @@ Definition dirty_fd_context '(tt : unit) : M (unit) :=
: M (unit).
Definition rF (r : Z) `{ArithFact ((0 <=? r) && (r <? 32))} : M (mword 32) :=
- let l__43 := r in
- (if sumbool_of_bool (Z.eqb l__43 0) then ((read_reg f0_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 1) then ((read_reg f1_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 2) then ((read_reg f2_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 3) then ((read_reg f3_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 4) then ((read_reg f4_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 5) then ((read_reg f5_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 6) then ((read_reg f6_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 7) then ((read_reg f7_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 8) then ((read_reg f8_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 9) then ((read_reg f9_ref) : M (mword 32)) : M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 10) then
+ let l__45 := r in
+ (if sumbool_of_bool (Z.eqb l__45 0) then ((read_reg f0_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 1) then ((read_reg f1_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 2) then ((read_reg f2_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 3) then ((read_reg f3_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 4) then ((read_reg f4_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 5) then ((read_reg f5_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 6) then ((read_reg f6_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 7) then ((read_reg f7_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 8) then ((read_reg f8_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 9) then ((read_reg f9_ref) : M (mword 32)) : M (mword 32)
+ else if sumbool_of_bool (Z.eqb l__45 10) then
((read_reg f10_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 11) then
+ else if sumbool_of_bool (Z.eqb l__45 11) then
((read_reg f11_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 12) then
+ else if sumbool_of_bool (Z.eqb l__45 12) then
((read_reg f12_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 13) then
+ else if sumbool_of_bool (Z.eqb l__45 13) then
((read_reg f13_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 14) then
+ else if sumbool_of_bool (Z.eqb l__45 14) then
((read_reg f14_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 15) then
+ else if sumbool_of_bool (Z.eqb l__45 15) then
((read_reg f15_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 16) then
+ else if sumbool_of_bool (Z.eqb l__45 16) then
((read_reg f16_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 17) then
+ else if sumbool_of_bool (Z.eqb l__45 17) then
((read_reg f17_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 18) then
+ else if sumbool_of_bool (Z.eqb l__45 18) then
((read_reg f18_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 19) then
+ else if sumbool_of_bool (Z.eqb l__45 19) then
((read_reg f19_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 20) then
+ else if sumbool_of_bool (Z.eqb l__45 20) then
((read_reg f20_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 21) then
+ else if sumbool_of_bool (Z.eqb l__45 21) then
((read_reg f21_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 22) then
+ else if sumbool_of_bool (Z.eqb l__45 22) then
((read_reg f22_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 23) then
+ else if sumbool_of_bool (Z.eqb l__45 23) then
((read_reg f23_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 24) then
+ else if sumbool_of_bool (Z.eqb l__45 24) then
((read_reg f24_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 25) then
+ else if sumbool_of_bool (Z.eqb l__45 25) then
((read_reg f25_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 26) then
+ else if sumbool_of_bool (Z.eqb l__45 26) then
((read_reg f26_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 27) then
+ else if sumbool_of_bool (Z.eqb l__45 27) then
((read_reg f27_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 28) then
+ else if sumbool_of_bool (Z.eqb l__45 28) then
((read_reg f28_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 29) then
+ else if sumbool_of_bool (Z.eqb l__45 29) then
((read_reg f29_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 30) then
+ else if sumbool_of_bool (Z.eqb l__45 30) then
((read_reg f30_ref) : M (mword 32))
: M (mword 32)
- else if sumbool_of_bool (Z.eqb l__43 31) then
+ else if sumbool_of_bool (Z.eqb l__45 31) then
((read_reg f31_ref) : M (mword 32))
: M (mword 32)
else assert_exp' false "invalid floating point register number" >>= fun _ => exit tt) >>= fun v : fregtype =>
@@ -7264,39 +7353,39 @@ Definition rF (r : Z) `{ArithFact ((0 <=? r) && (r <? 32))} : M (mword 32) :=
Definition wF (r : Z) (in_v : mword 32) `{ArithFact ((0 <=? r) && (r <? 32))} : M (unit) :=
let v := fregval_into_freg in_v in
- let l__11 := r in
- (if sumbool_of_bool (Z.eqb l__11 0) then write_reg f0_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 1) then write_reg f1_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 2) then write_reg f2_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 3) then write_reg f3_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 4) then write_reg f4_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 5) then write_reg f5_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 6) then write_reg f6_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 7) then write_reg f7_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 8) then write_reg f8_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 9) then write_reg f9_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 10) then write_reg f10_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 11) then write_reg f11_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 12) then write_reg f12_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 13) then write_reg f13_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 14) then write_reg f14_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 15) then write_reg f15_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 16) then write_reg f16_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 17) then write_reg f17_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 18) then write_reg f18_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 19) then write_reg f19_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 20) then write_reg f20_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 21) then write_reg f21_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 22) then write_reg f22_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 23) then write_reg f23_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 24) then write_reg f24_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 25) then write_reg f25_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 26) then write_reg f26_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 27) then write_reg f27_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 28) then write_reg f28_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 29) then write_reg f29_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 30) then write_reg f30_ref v : M (unit)
- else if sumbool_of_bool (Z.eqb l__11 31) then write_reg f31_ref v : M (unit)
+ let l__13 := r in
+ (if sumbool_of_bool (Z.eqb l__13 0) then write_reg f0_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 1) then write_reg f1_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 2) then write_reg f2_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 3) then write_reg f3_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 4) then write_reg f4_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 5) then write_reg f5_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 6) then write_reg f6_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 7) then write_reg f7_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 8) then write_reg f8_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 9) then write_reg f9_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 10) then write_reg f10_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 11) then write_reg f11_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 12) then write_reg f12_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 13) then write_reg f13_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 14) then write_reg f14_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 15) then write_reg f15_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 16) then write_reg f16_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 17) then write_reg f17_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 18) then write_reg f18_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 19) then write_reg f19_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 20) then write_reg f20_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 21) then write_reg f21_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 22) then write_reg f22_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 23) then write_reg f23_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 24) then write_reg f24_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 25) then write_reg f25_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 26) then write_reg f26_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 27) then write_reg f27_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 28) then write_reg f28_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 29) then write_reg f29_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 30) then write_reg f30_ref v : M (unit)
+ else if sumbool_of_bool (Z.eqb l__13 31) then write_reg f31_ref v : M (unit)
else assert_exp' false "invalid floating point register number" >>= fun _ => exit tt) >>
(dirty_fd_context tt) >>
returnm (if get_config_print_reg tt then
@@ -8855,6 +8944,7 @@ Definition csr_name_map_forwards (arg_ : mword 12) : string :=
else if eq_vec b__0 (Ox"304" : mword 12) then "mie"
else if eq_vec b__0 (Ox"305" : mword 12) then "mtvec"
else if eq_vec b__0 (Ox"306" : mword 12) then "mcounteren"
+ else if eq_vec b__0 (Ox"320" : mword 12) then "mcountinhibit"
else if eq_vec b__0 (Ox"340" : mword 12) then "mscratch"
else if eq_vec b__0 (Ox"341" : mword 12) then "mepc"
else if eq_vec b__0 (Ox"342" : mword 12) then "mcause"
@@ -8932,6 +9022,7 @@ Definition csr_name_map_backwards (arg_ : string) : M (mword 12) :=
else if generic_eq p0_ "mie" then returnm (Ox"304" : mword 12)
else if generic_eq p0_ "mtvec" then returnm (Ox"305" : mword 12)
else if generic_eq p0_ "mcounteren" then returnm (Ox"306" : mword 12)
+ else if generic_eq p0_ "mcountinhibit" then returnm (Ox"320" : mword 12)
else if generic_eq p0_ "mscratch" then returnm (Ox"340" : mword 12)
else if generic_eq p0_ "mepc" then returnm (Ox"341" : mword 12)
else if generic_eq p0_ "mcause" then returnm (Ox"342" : mword 12)
@@ -8965,15 +9056,8 @@ Definition csr_name_map_backwards (arg_ : string) : M (mword 12) :=
else if generic_eq p0_ "tdata1" then returnm (Ox"7A1" : mword 12)
else if generic_eq p0_ "tdata2" then returnm (Ox"7A2" : mword 12)
else if generic_eq p0_ "tdata3" then returnm (Ox"7A3" : mword 12)
- else
- (and_boolM (returnm ((hex_bits_12_backwards_matches p0_) : bool))
- ((if hex_bits_12_backwards_matches p0_ then
- (hex_bits_12_backwards p0_) >>= fun reg => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- (if sumbool_of_bool w__1 then hex_bits_12_backwards p0_
- else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
- : M (mword 12))
+ else if hex_bits_12_backwards_matches p0_ then hex_bits_12_backwards p0_
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 12).
Definition csr_name_map_forwards_matches (arg_ : mword 12) : bool :=
@@ -9018,6 +9102,7 @@ Definition csr_name_map_forwards_matches (arg_ : mword 12) : bool :=
else if eq_vec b__0 (Ox"304" : mword 12) then true
else if eq_vec b__0 (Ox"305" : mword 12) then true
else if eq_vec b__0 (Ox"306" : mword 12) then true
+ else if eq_vec b__0 (Ox"320" : mword 12) then true
else if eq_vec b__0 (Ox"340" : mword 12) then true
else if eq_vec b__0 (Ox"341" : mword 12) then true
else if eq_vec b__0 (Ox"342" : mword 12) then true
@@ -9095,6 +9180,7 @@ Definition csr_name_map_backwards_matches (arg_ : string) : M (bool) :=
else if generic_eq p0_ "mie" then returnm true
else if generic_eq p0_ "mtvec" then returnm true
else if generic_eq p0_ "mcounteren" then returnm true
+ else if generic_eq p0_ "mcountinhibit" then returnm true
else if generic_eq p0_ "mscratch" then returnm true
else if generic_eq p0_ "mepc" then returnm true
else if generic_eq p0_ "mcause" then returnm true
@@ -9128,222 +9214,223 @@ Definition csr_name_map_backwards_matches (arg_ : string) : M (bool) :=
else if generic_eq p0_ "tdata1" then returnm true
else if generic_eq p0_ "tdata2" then returnm true
else if generic_eq p0_ "tdata3" then returnm true
- else
- (and_boolM (returnm ((hex_bits_12_backwards_matches p0_) : bool))
- ((if hex_bits_12_backwards_matches p0_ then
- (hex_bits_12_backwards p0_) >>= fun reg => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- if sumbool_of_bool w__1 then (hex_bits_12_backwards p0_) >>= fun reg => returnm true
- else returnm false)
+ else if hex_bits_12_backwards_matches p0_ then
+ (hex_bits_12_backwards p0_) >>= fun reg => returnm true
+ else returnm false)
: M (bool).
-Definition _s748_ (_s749_ : string) : option ((mword 12 * string)) :=
- match _s749_ with
- | _s750_ =>
- match (hex_bits_12_matches_prefix _s750_) with
- | Some (reg, existT _ _s751_ _) =>
- match (string_drop _s750_ _s751_) with | s_ => Some (reg, s_) end
+Definition _s752_ (_s753_ : string) : option ((mword 12 * string)) :=
+ match _s753_ with
+ | _s754_ =>
+ match (hex_bits_12_matches_prefix _s754_) with
+ | Some (reg, existT _ _s755_ _) =>
+ match (string_drop _s754_ _s755_) with | s_ => Some (reg, s_) end
| _ => None
end
end.
+Definition _s748_ (_s749_ : string) : option string :=
+ let _s750_ := _s749_ in
+ if string_startswith _s750_ "tdata3" then
+ match (string_drop _s750_ (projT1 (string_length "tdata3"))) with | s_ => Some s_ end
+ else None.
+
Definition _s744_ (_s745_ : string) : option string :=
let _s746_ := _s745_ in
- if string_startswith _s746_ "tdata3" then
- match (string_drop _s746_ (projT1 (string_length "tdata3"))) with | s_ => Some s_ end
+ if string_startswith _s746_ "tdata2" then
+ match (string_drop _s746_ (projT1 (string_length "tdata2"))) with | s_ => Some s_ end
else None.
Definition _s740_ (_s741_ : string) : option string :=
let _s742_ := _s741_ in
- if string_startswith _s742_ "tdata2" then
- match (string_drop _s742_ (projT1 (string_length "tdata2"))) with | s_ => Some s_ end
+ if string_startswith _s742_ "tdata1" then
+ match (string_drop _s742_ (projT1 (string_length "tdata1"))) with | s_ => Some s_ end
else None.
Definition _s736_ (_s737_ : string) : option string :=
let _s738_ := _s737_ in
- if string_startswith _s738_ "tdata1" then
- match (string_drop _s738_ (projT1 (string_length "tdata1"))) with | s_ => Some s_ end
+ if string_startswith _s738_ "tselect" then
+ match (string_drop _s738_ (projT1 (string_length "tselect"))) with | s_ => Some s_ end
else None.
Definition _s732_ (_s733_ : string) : option string :=
let _s734_ := _s733_ in
- if string_startswith _s734_ "tselect" then
- match (string_drop _s734_ (projT1 (string_length "tselect"))) with | s_ => Some s_ end
+ if string_startswith _s734_ "minstreth" then
+ match (string_drop _s734_ (projT1 (string_length "minstreth"))) with | s_ => Some s_ end
else None.
Definition _s728_ (_s729_ : string) : option string :=
let _s730_ := _s729_ in
- if string_startswith _s730_ "minstreth" then
- match (string_drop _s730_ (projT1 (string_length "minstreth"))) with | s_ => Some s_ end
+ if string_startswith _s730_ "mcycleh" then
+ match (string_drop _s730_ (projT1 (string_length "mcycleh"))) with | s_ => Some s_ end
else None.
Definition _s724_ (_s725_ : string) : option string :=
let _s726_ := _s725_ in
- if string_startswith _s726_ "mcycleh" then
- match (string_drop _s726_ (projT1 (string_length "mcycleh"))) with | s_ => Some s_ end
+ if string_startswith _s726_ "minstret" then
+ match (string_drop _s726_ (projT1 (string_length "minstret"))) with | s_ => Some s_ end
else None.
Definition _s720_ (_s721_ : string) : option string :=
let _s722_ := _s721_ in
- if string_startswith _s722_ "minstret" then
- match (string_drop _s722_ (projT1 (string_length "minstret"))) with | s_ => Some s_ end
+ if string_startswith _s722_ "mcycle" then
+ match (string_drop _s722_ (projT1 (string_length "mcycle"))) with | s_ => Some s_ end
else None.
Definition _s716_ (_s717_ : string) : option string :=
let _s718_ := _s717_ in
- if string_startswith _s718_ "mcycle" then
- match (string_drop _s718_ (projT1 (string_length "mcycle"))) with | s_ => Some s_ end
+ if string_startswith _s718_ "pmpaddr15" then
+ match (string_drop _s718_ (projT1 (string_length "pmpaddr15"))) with | s_ => Some s_ end
else None.
Definition _s712_ (_s713_ : string) : option string :=
let _s714_ := _s713_ in
- if string_startswith _s714_ "pmpaddr15" then
- match (string_drop _s714_ (projT1 (string_length "pmpaddr15"))) with | s_ => Some s_ end
+ if string_startswith _s714_ "pmpaddr14" then
+ match (string_drop _s714_ (projT1 (string_length "pmpaddr14"))) with | s_ => Some s_ end
else None.
Definition _s708_ (_s709_ : string) : option string :=
let _s710_ := _s709_ in
- if string_startswith _s710_ "pmpaddr14" then
- match (string_drop _s710_ (projT1 (string_length "pmpaddr14"))) with | s_ => Some s_ end
+ if string_startswith _s710_ "pmpaddr13" then
+ match (string_drop _s710_ (projT1 (string_length "pmpaddr13"))) with | s_ => Some s_ end
else None.
Definition _s704_ (_s705_ : string) : option string :=
let _s706_ := _s705_ in
- if string_startswith _s706_ "pmpaddr13" then
- match (string_drop _s706_ (projT1 (string_length "pmpaddr13"))) with | s_ => Some s_ end
+ if string_startswith _s706_ "pmpaddr12" then
+ match (string_drop _s706_ (projT1 (string_length "pmpaddr12"))) with | s_ => Some s_ end
else None.
Definition _s700_ (_s701_ : string) : option string :=
let _s702_ := _s701_ in
- if string_startswith _s702_ "pmpaddr12" then
- match (string_drop _s702_ (projT1 (string_length "pmpaddr12"))) with | s_ => Some s_ end
+ if string_startswith _s702_ "pmpaddr11" then
+ match (string_drop _s702_ (projT1 (string_length "pmpaddr11"))) with | s_ => Some s_ end
else None.
Definition _s696_ (_s697_ : string) : option string :=
let _s698_ := _s697_ in
- if string_startswith _s698_ "pmpaddr11" then
- match (string_drop _s698_ (projT1 (string_length "pmpaddr11"))) with | s_ => Some s_ end
+ if string_startswith _s698_ "pmpaddr10" then
+ match (string_drop _s698_ (projT1 (string_length "pmpaddr10"))) with | s_ => Some s_ end
else None.
Definition _s692_ (_s693_ : string) : option string :=
let _s694_ := _s693_ in
- if string_startswith _s694_ "pmpaddr10" then
- match (string_drop _s694_ (projT1 (string_length "pmpaddr10"))) with | s_ => Some s_ end
+ if string_startswith _s694_ "pmpaddr9" then
+ match (string_drop _s694_ (projT1 (string_length "pmpaddr9"))) with | s_ => Some s_ end
else None.
Definition _s688_ (_s689_ : string) : option string :=
let _s690_ := _s689_ in
- if string_startswith _s690_ "pmpaddr9" then
- match (string_drop _s690_ (projT1 (string_length "pmpaddr9"))) with | s_ => Some s_ end
+ if string_startswith _s690_ "pmpaddr8" then
+ match (string_drop _s690_ (projT1 (string_length "pmpaddr8"))) with | s_ => Some s_ end
else None.
Definition _s684_ (_s685_ : string) : option string :=
let _s686_ := _s685_ in
- if string_startswith _s686_ "pmpaddr8" then
- match (string_drop _s686_ (projT1 (string_length "pmpaddr8"))) with | s_ => Some s_ end
+ if string_startswith _s686_ "pmpaddr7" then
+ match (string_drop _s686_ (projT1 (string_length "pmpaddr7"))) with | s_ => Some s_ end
else None.
Definition _s680_ (_s681_ : string) : option string :=
let _s682_ := _s681_ in
- if string_startswith _s682_ "pmpaddr7" then
- match (string_drop _s682_ (projT1 (string_length "pmpaddr7"))) with | s_ => Some s_ end
+ if string_startswith _s682_ "pmpaddr6" then
+ match (string_drop _s682_ (projT1 (string_length "pmpaddr6"))) with | s_ => Some s_ end
else None.
Definition _s676_ (_s677_ : string) : option string :=
let _s678_ := _s677_ in
- if string_startswith _s678_ "pmpaddr6" then
- match (string_drop _s678_ (projT1 (string_length "pmpaddr6"))) with | s_ => Some s_ end
+ if string_startswith _s678_ "pmpaddr5" then
+ match (string_drop _s678_ (projT1 (string_length "pmpaddr5"))) with | s_ => Some s_ end
else None.
Definition _s672_ (_s673_ : string) : option string :=
let _s674_ := _s673_ in
- if string_startswith _s674_ "pmpaddr5" then
- match (string_drop _s674_ (projT1 (string_length "pmpaddr5"))) with | s_ => Some s_ end
+ if string_startswith _s674_ "pmpaddr4" then
+ match (string_drop _s674_ (projT1 (string_length "pmpaddr4"))) with | s_ => Some s_ end
else None.
Definition _s668_ (_s669_ : string) : option string :=
let _s670_ := _s669_ in
- if string_startswith _s670_ "pmpaddr4" then
- match (string_drop _s670_ (projT1 (string_length "pmpaddr4"))) with | s_ => Some s_ end
+ if string_startswith _s670_ "pmpaddr3" then
+ match (string_drop _s670_ (projT1 (string_length "pmpaddr3"))) with | s_ => Some s_ end
else None.
Definition _s664_ (_s665_ : string) : option string :=
let _s666_ := _s665_ in
- if string_startswith _s666_ "pmpaddr3" then
- match (string_drop _s666_ (projT1 (string_length "pmpaddr3"))) with | s_ => Some s_ end
+ if string_startswith _s666_ "pmpaddr2" then
+ match (string_drop _s666_ (projT1 (string_length "pmpaddr2"))) with | s_ => Some s_ end
else None.
Definition _s660_ (_s661_ : string) : option string :=
let _s662_ := _s661_ in
- if string_startswith _s662_ "pmpaddr2" then
- match (string_drop _s662_ (projT1 (string_length "pmpaddr2"))) with | s_ => Some s_ end
+ if string_startswith _s662_ "pmpaddr1" then
+ match (string_drop _s662_ (projT1 (string_length "pmpaddr1"))) with | s_ => Some s_ end
else None.
Definition _s656_ (_s657_ : string) : option string :=
let _s658_ := _s657_ in
- if string_startswith _s658_ "pmpaddr1" then
- match (string_drop _s658_ (projT1 (string_length "pmpaddr1"))) with | s_ => Some s_ end
+ if string_startswith _s658_ "pmpaddr0" then
+ match (string_drop _s658_ (projT1 (string_length "pmpaddr0"))) with | s_ => Some s_ end
else None.
Definition _s652_ (_s653_ : string) : option string :=
let _s654_ := _s653_ in
- if string_startswith _s654_ "pmpaddr0" then
- match (string_drop _s654_ (projT1 (string_length "pmpaddr0"))) with | s_ => Some s_ end
+ if string_startswith _s654_ "pmpcfg3" then
+ match (string_drop _s654_ (projT1 (string_length "pmpcfg3"))) with | s_ => Some s_ end
else None.
Definition _s648_ (_s649_ : string) : option string :=
let _s650_ := _s649_ in
- if string_startswith _s650_ "pmpcfg3" then
- match (string_drop _s650_ (projT1 (string_length "pmpcfg3"))) with | s_ => Some s_ end
+ if string_startswith _s650_ "pmpcfg2" then
+ match (string_drop _s650_ (projT1 (string_length "pmpcfg2"))) with | s_ => Some s_ end
else None.
Definition _s644_ (_s645_ : string) : option string :=
let _s646_ := _s645_ in
- if string_startswith _s646_ "pmpcfg2" then
- match (string_drop _s646_ (projT1 (string_length "pmpcfg2"))) with | s_ => Some s_ end
+ if string_startswith _s646_ "pmpcfg1" then
+ match (string_drop _s646_ (projT1 (string_length "pmpcfg1"))) with | s_ => Some s_ end
else None.
Definition _s640_ (_s641_ : string) : option string :=
let _s642_ := _s641_ in
- if string_startswith _s642_ "pmpcfg1" then
- match (string_drop _s642_ (projT1 (string_length "pmpcfg1"))) with | s_ => Some s_ end
+ if string_startswith _s642_ "pmpcfg0" then
+ match (string_drop _s642_ (projT1 (string_length "pmpcfg0"))) with | s_ => Some s_ end
else None.
Definition _s636_ (_s637_ : string) : option string :=
let _s638_ := _s637_ in
- if string_startswith _s638_ "pmpcfg0" then
- match (string_drop _s638_ (projT1 (string_length "pmpcfg0"))) with | s_ => Some s_ end
+ if string_startswith _s638_ "mip" then
+ match (string_drop _s638_ (projT1 (string_length "mip"))) with | s_ => Some s_ end
else None.
Definition _s632_ (_s633_ : string) : option string :=
let _s634_ := _s633_ in
- if string_startswith _s634_ "mip" then
- match (string_drop _s634_ (projT1 (string_length "mip"))) with | s_ => Some s_ end
+ if string_startswith _s634_ "mtval" then
+ match (string_drop _s634_ (projT1 (string_length "mtval"))) with | s_ => Some s_ end
else None.
Definition _s628_ (_s629_ : string) : option string :=
let _s630_ := _s629_ in
- if string_startswith _s630_ "mtval" then
- match (string_drop _s630_ (projT1 (string_length "mtval"))) with | s_ => Some s_ end
+ if string_startswith _s630_ "mcause" then
+ match (string_drop _s630_ (projT1 (string_length "mcause"))) with | s_ => Some s_ end
else None.
Definition _s624_ (_s625_ : string) : option string :=
let _s626_ := _s625_ in
- if string_startswith _s626_ "mcause" then
- match (string_drop _s626_ (projT1 (string_length "mcause"))) with | s_ => Some s_ end
+ if string_startswith _s626_ "mepc" then
+ match (string_drop _s626_ (projT1 (string_length "mepc"))) with | s_ => Some s_ end
else None.
Definition _s620_ (_s621_ : string) : option string :=
let _s622_ := _s621_ in
- if string_startswith _s622_ "mepc" then
- match (string_drop _s622_ (projT1 (string_length "mepc"))) with | s_ => Some s_ end
+ if string_startswith _s622_ "mscratch" then
+ match (string_drop _s622_ (projT1 (string_length "mscratch"))) with | s_ => Some s_ end
else None.
Definition _s616_ (_s617_ : string) : option string :=
let _s618_ := _s617_ in
- if string_startswith _s618_ "mscratch" then
- match (string_drop _s618_ (projT1 (string_length "mscratch"))) with | s_ => Some s_ end
+ if string_startswith _s618_ "mcountinhibit" then
+ match (string_drop _s618_ (projT1 (string_length "mcountinhibit"))) with | s_ => Some s_ end
else None.
Definition _s612_ (_s613_ : string) : option string :=
@@ -10033,7 +10120,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s616_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"340"
+ (Ox"320"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10044,7 +10131,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s620_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"341"
+ (Ox"340"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10055,7 +10142,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s624_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"342"
+ (Ox"341"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10066,7 +10153,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s628_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"343"
+ (Ox"342"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10077,7 +10164,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s632_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"344"
+ (Ox"343"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10088,7 +10175,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s636_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A0"
+ (Ox"344"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10099,7 +10186,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s640_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A1"
+ (Ox"3A0"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10110,7 +10197,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s644_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A2"
+ (Ox"3A1"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10121,7 +10208,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s648_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A3"
+ (Ox"3A2"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10132,7 +10219,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s652_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B0"
+ (Ox"3A3"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10143,7 +10230,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s656_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B1"
+ (Ox"3B0"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10154,7 +10241,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s660_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B2"
+ (Ox"3B1"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10165,7 +10252,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s664_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B3"
+ (Ox"3B2"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10176,7 +10263,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s668_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B4"
+ (Ox"3B3"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10187,7 +10274,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s672_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B5"
+ (Ox"3B4"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10198,7 +10285,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s676_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B6"
+ (Ox"3B5"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10209,7 +10296,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s680_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B7"
+ (Ox"3B6"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10220,7 +10307,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s684_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B8"
+ (Ox"3B7"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10231,7 +10318,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s688_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B9"
+ (Ox"3B8"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10242,7 +10329,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s692_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BA"
+ (Ox"3B9"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10253,7 +10340,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s696_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BB"
+ (Ox"3BA"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10264,7 +10351,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s700_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BC"
+ (Ox"3BB"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10275,7 +10362,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s704_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BD"
+ (Ox"3BC"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10286,7 +10373,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s708_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BE"
+ (Ox"3BD"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10297,7 +10384,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s712_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BF"
+ (Ox"3BE"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10308,7 +10395,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s716_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B00"
+ (Ox"3BF"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10319,7 +10406,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s720_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B02"
+ (Ox"B00"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10330,7 +10417,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s724_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B80"
+ (Ox"B02"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10341,7 +10428,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s728_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B82"
+ (Ox"B80"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10352,7 +10439,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s732_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A0"
+ (Ox"B82"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10363,7 +10450,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s736_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A1"
+ (Ox"7A0"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10374,7 +10461,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s740_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A2"
+ (Ox"7A1"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10385,15 +10472,26 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s744_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A3"
+ (Ox"7A2"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
| _ => exit tt : M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s748_ _s459_) with | Some (reg, s_) => true | _ => false end then
+ else if match (_s748_ _s459_) with | Some s_ => true | _ => false end then
(match (_s748_ _s459_) with
+ | Some s_ =>
+ returnm (Some
+ (Ox"7A3"
+ : mword 12, build_ex
+ (projT1
+ (sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
+ | _ => exit tt : M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
+ end)
+ : M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
+ else if match (_s752_ _s459_) with | Some (reg, s_) => true | _ => false end then
+ (match (_s752_ _s459_) with
| Some (reg, s_) =>
returnm (Some
(reg, build_ex
@@ -10407,7 +10505,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
Definition csr_name (csr : mword 12) : string := csr_name_map_forwards csr.
-Definition ext_is_CSR_defined (b__0 : mword 12) (g__312 : Privilege) : M (bool) :=
+Definition ext_is_CSR_defined (b__0 : mword 12) (g__326 : Privilege) : M (bool) :=
(if eq_vec b__0 (Ox"000" : mword 12) then
(and_boolM ((haveUsrMode tt) : M (bool)) ((haveNExt tt) : M (bool)))
: M (bool)
@@ -10543,11 +10641,24 @@ Definition is_CSR_defined (csr : mword 12) (p : Privilege) : M (bool) :=
else if eq_vec b__0 (Ox"F14" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"300" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"301" : mword 12) then returnm (generic_eq p Machine)
- else if eq_vec b__0 (Ox"302" : mword 12) then returnm (generic_eq p Machine)
- else if eq_vec b__0 (Ox"303" : mword 12) then returnm (generic_eq p Machine)
+ else if eq_vec b__0 (Ox"302" : mword 12) then
+ (and_boolM (returnm ((generic_eq p Machine) : bool))
+ ((or_boolM ((haveSupMode tt) : M (bool)) ((haveNExt tt) : M (bool)))
+ : M (bool)))
+ : M (bool)
+ else if eq_vec b__0 (Ox"303" : mword 12) then
+ (and_boolM (returnm ((generic_eq p Machine) : bool))
+ ((or_boolM ((haveSupMode tt) : M (bool)) ((haveNExt tt) : M (bool)))
+ : M (bool)))
+ : M (bool)
else if eq_vec b__0 (Ox"304" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"305" : mword 12) then returnm (generic_eq p Machine)
- else if eq_vec b__0 (Ox"306" : mword 12) then returnm (generic_eq p Machine)
+ else if eq_vec b__0 (Ox"306" : mword 12) then
+ (and_boolM (returnm ((generic_eq p Machine) : bool)) ((haveUsrMode tt) : M (bool)))
+ : M (bool)
+ else if eq_vec b__0 (Ox"310" : mword 12) then
+ returnm (andb (generic_eq p Machine) (Z.eqb 32 32))
+ else if eq_vec b__0 (Ox"320" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"340" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"341" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"342" : mword 12) then returnm (generic_eq p Machine)
@@ -10588,11 +10699,15 @@ Definition is_CSR_defined (csr : mword 12) (p : Privilege) : M (bool) :=
: M (bool)
else if eq_vec b__0 (Ox"102" : mword 12) then
(and_boolM ((haveSupMode tt) : M (bool))
- (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ ((and_boolM ((haveNExt tt) : M (bool))
+ (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ : M (bool)))
: M (bool)
else if eq_vec b__0 (Ox"103" : mword 12) then
(and_boolM ((haveSupMode tt) : M (bool))
- (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ ((and_boolM ((haveNExt tt) : M (bool))
+ (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ : M (bool)))
: M (bool)
else if eq_vec b__0 (Ox"104" : mword 12) then
(and_boolM ((haveSupMode tt) : M (bool))
@@ -10630,12 +10745,42 @@ Definition is_CSR_defined (csr : mword 12) (p : Privilege) : M (bool) :=
(and_boolM ((haveSupMode tt) : M (bool))
(returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
: M (bool)
- else if eq_vec b__0 (Ox"C00" : mword 12) then returnm (generic_eq p User)
- else if eq_vec b__0 (Ox"C01" : mword 12) then returnm (generic_eq p User)
- else if eq_vec b__0 (Ox"C02" : mword 12) then returnm (generic_eq p User)
- else if eq_vec b__0 (Ox"C80" : mword 12) then returnm (andb (generic_eq p User) (Z.eqb 32 32))
- else if eq_vec b__0 (Ox"C81" : mword 12) then returnm (andb (generic_eq p User) (Z.eqb 32 32))
- else if eq_vec b__0 (Ox"C82" : mword 12) then returnm (andb (generic_eq p User) (Z.eqb 32 32))
+ else if eq_vec b__0 (Ox"C00" : mword 12) then (haveUsrMode tt) : M (bool)
+ else if eq_vec b__0 (Ox"C01" : mword 12) then (haveUsrMode tt) : M (bool)
+ else if eq_vec b__0 (Ox"C02" : mword 12) then (haveUsrMode tt) : M (bool)
+ else if eq_vec b__0 (Ox"C80" : mword 12) then
+ projT1_m
+ ((and_boolMP (build_trivial_ex ((haveUsrMode tt) : M (bool)))
+ ((returnm (build_ex
+ (projT1
+ (build_ex
+ (Z.eqb 32 32)
+ : {_bool : bool & ArithFact (Bool.eqb (32 =? 32) _bool)})))) : M ({_bool : bool & ArithFact (Bool.eqb (32 =?
+ 32) _bool)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (32 =? 32)) _bool = true)}))
+ : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (32 =? 32)) _bool = true)}))
+ else if eq_vec b__0 (Ox"C81" : mword 12) then
+ projT1_m
+ ((and_boolMP (build_trivial_ex ((haveUsrMode tt) : M (bool)))
+ ((returnm (build_ex
+ (projT1
+ (build_ex
+ (Z.eqb 32 32)
+ : {_bool : bool & ArithFact (Bool.eqb (32 =? 32) _bool)})))) : M ({_bool : bool & ArithFact (Bool.eqb (32 =?
+ 32) _bool)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (32 =? 32)) _bool = true)}))
+ : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (32 =? 32)) _bool = true)}))
+ else if eq_vec b__0 (Ox"C82" : mword 12) then
+ projT1_m
+ ((and_boolMP (build_trivial_ex ((haveUsrMode tt) : M (bool)))
+ ((returnm (build_ex
+ (projT1
+ (build_ex
+ (Z.eqb 32 32)
+ : {_bool : bool & ArithFact (Bool.eqb (32 =? 32) _bool)})))) : M ({_bool : bool & ArithFact (Bool.eqb (32 =?
+ 32) _bool)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (32 =? 32)) _bool = true)}))
+ : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (32 =? 32)) _bool = true)}))
else (ext_is_CSR_defined csr p) : M (bool))
: M (bool).
@@ -11124,6 +11269,7 @@ Definition init_sys '(tt : unit) : M (unit) :=
read_reg misa_ref >>= fun w__3 : Misa =>
write_reg mstatus_ref (set_mstatus_UXL w__2 (_get_Misa_MXL w__3)) >>
(_set_Mstatus_SD mstatus_ref ('b"0" : mword 1)) >>
+ (_set_Mstatush_bits mstatush_ref (EXTZ 32 ('b"0" : mword 1))) >>
(_set_Minterrupts_bits mip_ref (EXTZ 32 ('b"0" : mword 1))) >>
(_set_Minterrupts_bits mie_ref (EXTZ 32 ('b"0" : mword 1))) >>
(_set_Minterrupts_bits mideleg_ref (EXTZ 32 ('b"0" : mword 1))) >>
@@ -11521,6 +11667,12 @@ Definition _update_htif_cmd_payload (v : htif_cmd) (x : mword 48) : htif_cmd :=
htif_cmd_htif_cmd_chunk_0 :=
(update_subrange_vec_dec v.(htif_cmd_htif_cmd_chunk_0) 47 0 (subrange_vec_dec x 47 0)) ]}.
+Definition reset_htif '(tt : unit) : M (unit) :=
+ write_reg htif_cmd_write_ref B0 >>
+ write_reg htif_payload_writes_ref (Ox"0" : mword 4) >>
+ write_reg htif_tohost_ref (EXTZ 64 ('b"0" : mword 1))
+ : M (unit).
+
Definition htif_load (t : AccessType unit) (paddr : mword 32) (width : Z) `{ArithFact (width >? 0)}
: M (MemoryOpResult (mword (8 * width))) :=
(if get_config_print_platform tt then
@@ -11558,48 +11710,80 @@ Definition htif_store (paddr : mword 32) (width : Z) (data : mword (8 * width))
(String.append (string_of_bits paddr) (String.append "] <- " (string_of_bits data))))
else tt)
: unit in
- (if sumbool_of_bool (Z.eqb width 8) then write_reg htif_tohost_ref (EXTZ 64 data) : M (unit)
+ (if sumbool_of_bool (Z.eqb width 8) then
+ write_reg htif_cmd_write_ref B1 >>
+ ((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__0 : mword 4 =>
+ write_reg htif_payload_writes_ref (add_vec_int w__0 1) >>
+ write_reg htif_tohost_ref (EXTZ 64 data)
+ : M (unit)
else if sumbool_of_bool (andb (Z.eqb width 4) (eq_vec paddr (plat_htif_tohost tt))) then
- ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__0 : mword 64 =>
- write_reg htif_tohost_ref (update_subrange_vec_dec w__0 31 0 (autocast (autocast data)))
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
+ (if eq_vec data (autocast (autocast (subrange_vec_dec w__1 31 0))) then
+ ((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__2 : mword 4 =>
+ write_reg htif_payload_writes_ref (add_vec_int w__2 1)
+ : M (unit)
+ else write_reg htif_payload_writes_ref (Ox"1" : mword 4) : M (unit)) >>
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__3 : mword 64 =>
+ write_reg htif_tohost_ref (update_subrange_vec_dec w__3 31 0 (autocast (autocast data)))
: M (unit)
else if sumbool_of_bool
(andb (Z.eqb width 4) (eq_vec paddr (add_vec_int (plat_htif_tohost tt) 4))) then
- ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
- write_reg htif_tohost_ref (update_subrange_vec_dec w__1 63 32 (autocast (autocast data)))
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__4 : mword 64 =>
+ (if eq_vec (subrange_vec_dec data 15 0) (subrange_vec_dec w__4 47 32) then
+ ((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__5 : mword 4 =>
+ write_reg htif_payload_writes_ref (add_vec_int w__5 1)
+ : M (unit)
+ else write_reg htif_payload_writes_ref (Ox"1" : mword 4) : M (unit)) >>
+ write_reg htif_cmd_write_ref B1 >>
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__6 : mword 64 =>
+ write_reg htif_tohost_ref (update_subrange_vec_dec w__6 63 32 (autocast (autocast data)))
: M (unit)
else write_reg htif_tohost_ref (EXTZ 64 data) : M (unit)) >>
- ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__2 : mword 64 =>
- let cmd := Mk_htif_cmd w__2 in
- let b__0 := _get_htif_cmd_device cmd in
- (if eq_vec b__0 (Ox"00" : mword 8) then
- let '_ :=
- (if get_config_print_platform tt then
- print_endline
- (String.append "htif-syscall-proxy cmd: " (string_of_bits (_get_htif_cmd_payload cmd)))
- else tt)
- : unit in
- (if eq_bit (access_vec_dec (_get_htif_cmd_payload cmd) 0) B1 then
- write_reg htif_done_ref true >>
- write_reg htif_exit_code_ref (shiftr (zero_extend (_get_htif_cmd_payload cmd) 64) 1)
+ (or_boolM
+ ((and_boolM
+ (read_reg htif_cmd_write_ref >>= fun w__7 : bitU => returnm ((eq_bit w__7 B1) : bool))
+ (((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__8 : mword 4 =>
+ returnm ((Z.gtb (projT1 (uint w__8)) 0) : bool)))
+ : M (bool))
+ (((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__10 : mword 4 =>
+ returnm ((Z.gtb (projT1 (uint w__10)) 2) : bool))) >>= fun w__11 : bool =>
+ (if sumbool_of_bool w__11 then
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__12 : mword 64 =>
+ let cmd := Mk_htif_cmd w__12 in
+ let b__0 := _get_htif_cmd_device cmd in
+ (if eq_vec b__0 (Ox"00" : mword 8) then
+ let '_ :=
+ (if get_config_print_platform tt then
+ print_endline
+ (String.append "htif-syscall-proxy cmd: "
+ (string_of_bits (_get_htif_cmd_payload cmd)))
+ else tt)
+ : unit in
+ (if eq_bit (access_vec_dec (_get_htif_cmd_payload cmd) 0) B1 then
+ write_reg htif_done_ref true >>
+ write_reg htif_exit_code_ref (shiftr (zero_extend (_get_htif_cmd_payload cmd) 64) 1)
+ : M (unit)
+ else returnm tt)
+ : M (unit)
+ else if eq_vec b__0 (Ox"01" : mword 8) then
+ let '_ :=
+ (if get_config_print_platform tt then
+ print_endline
+ (String.append "htif-term cmd: " (string_of_bits (_get_htif_cmd_payload cmd)))
+ else tt)
+ : unit in
+ let b__2 := _get_htif_cmd_cmd cmd in
+ let '_ :=
+ (if eq_vec b__2 (Ox"00" : mword 8) then tt
+ else if eq_vec b__2 (Ox"01" : mword 8) then
+ plat_term_write (subrange_vec_dec (_get_htif_cmd_payload cmd) 7 0)
+ else print_endline (String.append "Unknown term cmd: " (string_of_bits b__2)))
+ : unit in
+ (reset_htif tt)
: M (unit)
- else returnm tt)
+ else returnm (print_endline (String.append "htif-???? cmd: " (string_of_bits data))))
: M (unit)
- else
- returnm (if eq_vec b__0 (Ox"01" : mword 8) then
- let '_ :=
- (if get_config_print_platform tt then
- print_endline
- (String.append "htif-term cmd: "
- (string_of_bits (_get_htif_cmd_payload cmd)))
- else tt)
- : unit in
- let b__2 := _get_htif_cmd_cmd cmd in
- if eq_vec b__2 (Ox"00" : mword 8) then tt
- else if eq_vec b__2 (Ox"01" : mword 8) then
- plat_term_write (subrange_vec_dec (_get_htif_cmd_payload cmd) 7 0)
- else print_endline (String.append "Unknown term cmd: " (string_of_bits b__2))
- else print_endline (String.append "htif-???? cmd: " (string_of_bits data)))) >>
+ else returnm tt) >>
returnm (MemValue true).
Definition htif_tick '(tt : unit) : M (unit) :=
@@ -11607,7 +11791,8 @@ Definition htif_tick '(tt : unit) : M (unit) :=
((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__0 : mword 64 =>
returnm (print_endline (String.append "htif::tick " (string_of_bits w__0)))
else returnm tt) >>
- write_reg htif_tohost_ref (EXTZ 64 ('b"0" : mword 1))
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
+ write_reg htif_tohost_ref w__1
: M (unit).
Definition within_mmio_readable (addr : mword 32) (width : Z)
@@ -11654,7 +11839,9 @@ Definition mmio_write (paddr : mword 32) (width : Z) (data : mword (8 * width))
Definition init_platform '(tt : unit) : M (unit) :=
write_reg htif_tohost_ref (EXTZ 64 ('b"0" : mword 1)) >>
write_reg htif_done_ref false >>
- write_reg htif_exit_code_ref (EXTZ 64 ('b"0" : mword 1))
+ write_reg htif_exit_code_ref (EXTZ 64 ('b"0" : mword 1)) >>
+ write_reg htif_cmd_write_ref B0 >>
+ write_reg htif_payload_writes_ref (EXTZ 4 ('b"0" : mword 1))
: M (unit).
Definition tick_platform '(tt : unit) : M (unit) := (htif_tick tt) : M (unit).
@@ -11738,7 +11925,12 @@ Definition checked_mem_read
(mmio_read t paddr width) >>= fun w__0 : MemoryOpResult (mword (8 * width)) =>
returnm (MemoryOpResult_add_meta w__0 default_meta)
else if within_phys_mem paddr width then
- (phys_mem_read t paddr width aq rl res meta)
+ (match (ext_check_phys_mem_read t paddr width aq rl res meta) with
+ | Ext_PhysAddr_OK tt =>
+ (phys_mem_read t paddr width aq rl res meta)
+ : M (MemoryOpResult ((mword (8 * width) * unit)))
+ | Ext_PhysAddr_Error e => returnm (MemException e)
+ end)
: M (MemoryOpResult ((mword (8 * width) * unit)))
else
returnm (match t with
@@ -11749,18 +11941,15 @@ Definition checked_mem_read
: M (MemoryOpResult ((mword (8 * width) * unit))).
Definition pmp_mem_read
-(t : AccessType unit) (paddr : mword 32) (width : Z) (aq : bool) (rl : bool) (res : bool)
-(meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+(t : AccessType unit) (p : Privilege) (paddr : mword 32) (width : Z) (aq : bool) (rl : bool)
+(res : bool) (meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult ((mword (8 * width) * unit))) :=
(if negb (plat_enable_pmp tt) then
(checked_mem_read t paddr width aq rl res meta)
: M (MemoryOpResult ((mword (8 * width) * unit)))
else
- read_reg mstatus_ref >>= fun w__1 : Mstatus =>
- read_reg cur_privilege_ref >>= fun w__2 : Privilege =>
- (effectivePrivilege t w__1 w__2) >>= fun w__3 : Privilege =>
- (pmpCheck paddr width t w__3) >>= fun w__4 : option ExceptionType =>
- (match w__4 with
+ (pmpCheck paddr width t p) >>= fun w__1 : option ExceptionType =>
+ (match w__1 with
| None =>
(checked_mem_read t paddr width aq rl res meta)
: M (MemoryOpResult ((mword (8 * width) * unit)))
@@ -11769,14 +11958,15 @@ Definition pmp_mem_read
: M (MemoryOpResult ((mword (8 * width) * unit))))
: M (MemoryOpResult ((mword (8 * width) * unit))).
-Definition rvfi_read (addr : mword 32) (width : Z) (value : MemoryOpResult (mword (8 * width)))
+Definition rvfi_read
+(addr : mword 32) (width : Z) (result : MemoryOpResult ((mword (8 * width) * unit)))
`{ArithFact (width >? 0)}
: unit :=
tt.
-Definition mem_read_meta
-(typ : AccessType unit) (paddr : mword 32) (width : Z) (aq : bool) (rl : bool) (res : bool)
-(meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+Definition mem_read_priv_meta
+(typ : AccessType unit) (priv : Privilege) (paddr : mword 32) (width : Z) (aq : bool) (rl : bool)
+(res : bool) (meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult ((mword (8 * width) * unit))) :=
(if sumbool_of_bool (andb (orb aq res) (negb (is_aligned_addr paddr width))) then
returnm (MemException (E_Load_Addr_Align tt))
@@ -11785,20 +11975,40 @@ Definition mem_read_meta
| (false, true, false) => throw (Error_not_implemented "load.rl")
| (false, true, true) => throw (Error_not_implemented "lr.rl")
| (_, _, _) =>
- (pmp_mem_read typ paddr width aq rl res meta)
+ (pmp_mem_read typ priv paddr width aq rl res meta)
: M (MemoryOpResult ((mword (8 * width) * unit)))
end)
: M (MemoryOpResult ((mword (8 * width) * unit)))) >>= fun result : MemoryOpResult ((bits (8 * width) * mem_meta)) =>
- let '_ := (rvfi_read paddr width (MemoryOpResult_drop_meta result)) : unit in
+ let '_ := (rvfi_read paddr width result) : unit in
returnm result.
-Definition mem_read
+Definition mem_read_meta
(typ : AccessType unit) (paddr : mword 32) (width : Z) (aq : bool) (rl : bool) (res : bool)
-`{ArithFact ((0 <? width) && (width <=? 16))}
+(meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult ((mword (8 * width) * unit))) :=
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege typ w__0 w__1) >>= fun w__2 : Privilege =>
+ (mem_read_priv_meta typ w__2 paddr width aq rl res meta)
+ : M (MemoryOpResult ((mword (8 * width) * unit))).
+
+Definition mem_read_priv
+(typ : AccessType unit) (priv : Privilege) (paddr : mword 32) (width : Z) (aq : bool) (rl : bool)
+(res : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult (mword (8 * width))) :=
- (mem_read_meta typ paddr width aq rl res false) >>= fun w__0 : MemoryOpResult ((mword (8 * width) * unit)) =>
+ (mem_read_priv_meta typ priv paddr width aq rl res false) >>= fun w__0 : MemoryOpResult ((mword (8 * width) * unit)) =>
returnm (MemoryOpResult_drop_meta w__0).
+Definition mem_read
+(typ : AccessType unit) (paddr : mword 32) (width : Z) (aq : bool) (rel : bool) (res : bool)
+`{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult (mword (8 * width))) :=
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege typ w__0 w__1) >>= fun w__2 : Privilege =>
+ (mem_read_priv typ w__2 paddr width aq rel res)
+ : M (MemoryOpResult (mword (8 * width))).
+
Definition mem_write_ea (addr : mword 32) (width : Z) (aq : bool) (rl : bool) (con : bool)
`{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult unit) :=
@@ -11823,7 +12033,7 @@ Definition mem_write_ea (addr : mword 32) (width : Z) (aq : bool) (rl : bool) (c
: M (MemoryOpResult unit))
: M (MemoryOpResult unit).
-Definition rvfi_write (addr : mword 32) (width : Z) (value : mword (8 * width))
+Definition rvfi_write (addr : mword 32) (width : Z) (value : mword (8 * width)) (meta : unit)
`{ArithFact (width >? 0)}
: unit :=
tt.
@@ -11832,7 +12042,7 @@ Definition phys_mem_write
(wk : write_kind) (paddr : mword 32) (width : Z) (data : mword (8 * width)) (meta : unit)
`{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult bool) :=
- let '_ := (rvfi_write paddr width data) : unit in
+ let '_ := (rvfi_write paddr width data meta) : unit in
(write_ram wk paddr width data meta) >>= fun w__0 : bool =>
let result := MemValue w__0 in
let '_ :=
@@ -11852,63 +12062,72 @@ Definition checked_mem_write
(mmio_write paddr width data)
: M (MemoryOpResult bool)
else if within_phys_mem paddr width then
- (phys_mem_write wk paddr width data meta)
+ (match (ext_check_phys_mem_write wk paddr width data meta) with
+ | Ext_PhysAddr_OK tt => (phys_mem_write wk paddr width data meta) : M (MemoryOpResult bool)
+ | Ext_PhysAddr_Error e => returnm (MemException e)
+ end)
: M (MemoryOpResult bool)
else returnm (MemException (E_SAMO_Access_Fault tt)))
: M (MemoryOpResult bool).
Definition pmp_mem_write
-(wk : write_kind) (paddr : mword 32) (width : Z) (data : mword (8 * width)) (ext_acc : unit)
-(meta : unit) `{ArithFact ((0 <? width) && (width <=? 16))}
+(wk : write_kind) (paddr : mword 32) (width : Z) (data : mword (8 * width)) (typ : AccessType unit)
+(priv : Privilege) (meta : unit) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult bool) :=
(if negb (plat_enable_pmp tt) then
(checked_mem_write wk paddr width data meta)
: M (MemoryOpResult bool)
else
- let typ : AccessType ext_access_type := Write ext_acc in
- read_reg mstatus_ref >>= fun w__1 : Mstatus =>
- read_reg cur_privilege_ref >>= fun w__2 : Privilege =>
- (effectivePrivilege typ w__1 w__2) >>= fun w__3 : Privilege =>
- (pmpCheck paddr width typ w__3) >>= fun w__4 : option ExceptionType =>
- (match w__4 with
+ (pmpCheck paddr width typ priv) >>= fun w__1 : option ExceptionType =>
+ (match w__1 with
| None => (checked_mem_write wk paddr width data meta) : M (MemoryOpResult bool)
| Some e => returnm (MemException e)
end)
: M (MemoryOpResult bool))
: M (MemoryOpResult bool).
-Definition mem_write_value_meta
-(paddr : mword 32) (width : Z) (value : mword (8 * width)) (ext_acc : unit) (meta : unit)
-(aq : bool) (rl : bool) (con : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+Definition mem_write_value_priv_meta
+(paddr : mword 32) (width : Z) (value : mword (8 * width)) (typ : AccessType unit)
+(priv : Privilege) (meta : unit) (aq : bool) (rl : bool) (con : bool)
+`{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult bool) :=
- let '_ := (rvfi_write paddr width value) : unit in
+ let '_ := (rvfi_write paddr width value meta) : unit in
(if sumbool_of_bool (andb (orb rl con) (negb (is_aligned_addr paddr width))) then
returnm (MemException (E_SAMO_Addr_Align tt))
else
(match (aq, rl, con) with
- | (false, false, false) =>
- (pmp_mem_write Write_plain paddr width value ext_acc meta) : M (MemoryOpResult bool)
- | (false, true, false) =>
- (pmp_mem_write Write_RISCV_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (false, false, true) =>
- (pmp_mem_write Write_RISCV_conditional paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (false, true, true) =>
- (pmp_mem_write Write_RISCV_conditional_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (true, true, false) =>
- (pmp_mem_write Write_RISCV_strong_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (true, true, true) =>
- (pmp_mem_write Write_RISCV_conditional_strong_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
+ | (false, false, false) => returnm Write_plain
+ | (false, true, false) => returnm Write_RISCV_release
+ | (false, false, true) => returnm Write_RISCV_conditional
+ | (false, true, true) => returnm Write_RISCV_conditional_release
+ | (true, true, false) => returnm Write_RISCV_strong_release
+ | (true, true, true) => returnm Write_RISCV_conditional_strong_release
| (true, false, false) => throw (Error_not_implemented "store.aq")
| (true, false, true) => throw (Error_not_implemented "sc.aq")
- end)
+ end) >>= fun wk : write_kind =>
+ (pmp_mem_write wk paddr width value typ priv meta)
: M (MemoryOpResult bool))
: M (MemoryOpResult bool).
+Definition mem_write_value_priv
+(paddr : mword 32) (width : Z) (value : mword (8 * width)) (priv : Privilege) (aq : bool)
+(rl : bool) (con : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult bool) :=
+ (mem_write_value_priv_meta paddr width value (Write default_write_acc) priv default_meta aq rl
+ con)
+ : M (MemoryOpResult bool).
+
+Definition mem_write_value_meta
+(paddr : mword 32) (width : Z) (value : mword (8 * width)) (ext_acc : unit) (meta : unit)
+(aq : bool) (rl : bool) (con : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult bool) :=
+ let typ := Write ext_acc in
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege typ w__0 w__1) >>= fun ep =>
+ (mem_write_value_priv_meta paddr width value typ ep meta aq rl con)
+ : M (MemoryOpResult bool).
+
Definition mem_write_value
(paddr : mword 32) (width : Z) (value : mword (8 * width)) (aq : bool) (rl : bool) (con : bool)
`{ArithFact ((0 <? width) && (width <=? 16))}
@@ -11916,6 +12135,8 @@ Definition mem_write_value
(mem_write_value_meta paddr width value default_write_acc default_meta aq rl con)
: M (MemoryOpResult bool).
+Definition default_sv32_ext_pte : extPte := zeros_implicit 10.
+Hint Unfold default_sv32_ext_pte : sail.
Definition Mk_PTE_Bits (v : mword 8) : PTE_Bits :=
{| PTE_Bits_PTE_Bits_chunk_0 := (subrange_vec_dec v 7 0) |}.
@@ -12103,23 +12324,23 @@ Definition isInvalidPTE (p : mword 8) (ext : mword 10) : bool :=
(eq_vec (_get_PTE_Bits_R a) ('b"0" : mword 1))).
Definition to_pte_check (b : bool) : PTE_Check :=
- if sumbool_of_bool b then PTE_Check_Success tt else PTE_Check_Failure tt.
+ if sumbool_of_bool b then PTE_Check_Success tt else PTE_Check_Failure (tt, tt).
Definition checkPTEPermission
(ac : AccessType unit) (priv : Privilege) (mxr : bool) (do_sum : bool) (p : PTE_Bits)
(ext : mword 10) (ext_ptw : unit)
: M (PTE_Check) :=
(match (ac, priv) with
- | (Read Data, User) =>
+ | (Read _, User) =>
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(orb (eq_vec (_get_PTE_Bits_R p) ('b"1" : mword 1))
(andb (eq_vec (_get_PTE_Bits_X p) ('b"1" : mword 1)) mxr))))
- | (Write Data, User) =>
+ | (Write _, User) =>
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))))
- | (ReadWrite Data, User) =>
+ | (ReadWrite (_, _), User) =>
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(andb (eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))
@@ -12129,16 +12350,16 @@ Definition checkPTEPermission
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(eq_vec (_get_PTE_Bits_X p) ('b"1" : mword 1))))
- | (Read Data, Supervisor) =>
+ | (Read _, Supervisor) =>
returnm (to_pte_check
(andb (orb (eq_vec (_get_PTE_Bits_U p) ('b"0" : mword 1)) do_sum)
(orb (eq_vec (_get_PTE_Bits_R p) ('b"1" : mword 1))
(andb (eq_vec (_get_PTE_Bits_X p) ('b"1" : mword 1)) mxr))))
- | (Write Data, Supervisor) =>
+ | (Write _, Supervisor) =>
returnm (to_pte_check
(andb (orb (eq_vec (_get_PTE_Bits_U p) ('b"0" : mword 1)) do_sum)
(eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))))
- | (ReadWrite Data, Supervisor) =>
+ | (ReadWrite (_, _), Supervisor) =>
returnm (to_pte_check
(andb (orb (eq_vec (_get_PTE_Bits_U p) ('b"0" : mword 1)) do_sum)
(andb (eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))
@@ -12155,8 +12376,14 @@ Definition checkPTEPermission
Definition update_PTE_Bits (p : PTE_Bits) (a : AccessType unit) (ext : mword 10)
: option ((PTE_Bits * mword 10)) :=
let update_d :=
- andb (orb (generic_eq a (Write Data)) (generic_eq a (ReadWrite Data)))
- (eq_vec (_get_PTE_Bits_D p) ('b"0" : mword 1)) in
+ andb (eq_vec (_get_PTE_Bits_D p) ('b"0" : mword 1))
+ ((match a with
+ | Execute tt => false
+ | Read tt => false
+ | Write _ => true
+ | ReadWrite (_, _) => true
+ end)
+ : bool) in
let update_a := eq_vec (_get_PTE_Bits_A p) ('b"0" : mword 1) in
if sumbool_of_bool (orb update_d update_a) then
let np := _update_PTE_Bits_A p ('b"1" : mword 1) in
@@ -12175,15 +12402,17 @@ Definition ptw_error_to_str (e : PTW_Error) : string :=
| PTW_Ext_Error e => "extension-error"
end.
+Definition ext_get_ptw_error (eptwf : unit) : PTW_Error := PTW_No_Permission tt.
+
Definition translationException (a : AccessType unit) (f : PTW_Error) : ExceptionType :=
match (a, f) with
| (_, PTW_Ext_Error e) => E_Extension (ext_translate_exception e)
- | (ReadWrite Data, PTW_Access tt) => E_SAMO_Access_Fault tt
- | (ReadWrite Data, _) => E_SAMO_Page_Fault tt
- | (Read Data, PTW_Access tt) => E_Load_Access_Fault tt
- | (Read Data, _) => E_Load_Page_Fault tt
- | (Write Data, PTW_Access tt) => E_SAMO_Access_Fault tt
- | (Write Data, _) => E_SAMO_Page_Fault tt
+ | (ReadWrite _, PTW_Access tt) => E_SAMO_Access_Fault tt
+ | (ReadWrite _, _) => E_SAMO_Page_Fault tt
+ | (Read _, PTW_Access tt) => E_Load_Access_Fault tt
+ | (Read _, _) => E_Load_Page_Fault tt
+ | (Write _, PTW_Access tt) => E_SAMO_Access_Fault tt
+ | (Write _, _) => E_SAMO_Page_Fault tt
| (Execute tt, PTW_Access tt) => E_Fetch_Access_Fault tt
| (Execute tt, _) => E_Fetch_Page_Fault tt
end.
@@ -12941,13 +13170,13 @@ exact (
(subrange_vec_dec (shiftr (_get_SV32_Vaddr_VPNi va) (Z.mul level SV32_LEVEL_BITS))
(Z.sub SV32_LEVEL_BITS 1) 0)) PTE32_LOG_SIZE in
let pte_addr := add_vec ptb pt_ofs in
- (mem_read ac (to_phys_addr pte_addr) 4 false false false) >>= fun w__0 : MemoryOpResult (mword (8 * 4)) =>
+ (mem_read_priv (Read Data) Supervisor (to_phys_addr pte_addr) 4 false false false) >>= fun w__0 : MemoryOpResult (mword (8 * 4)) =>
(match w__0 with
| MemException _ => returnm (PTW_Failure (PTW_Access tt, ext_ptw))
| MemValue v =>
let pte := Mk_SV32_PTE v in
let pbits := _get_SV32_PTE_BITS pte in
- let ext_pte : extPte := zeros_implicit 10 in
+ let ext_pte : extPte := default_sv32_ext_pte in
let pattr := Mk_PTE_Bits pbits in
let is_global := orb global (eq_vec (_get_PTE_Bits_G pattr) ('b"1" : mword 1)) in
(if isInvalidPTE pbits ext_pte then returnm (PTW_Failure (PTW_Invalid_PTE tt, ext_ptw))
@@ -12962,7 +13191,8 @@ exact (
else
(checkPTEPermission ac priv mxr do_sum pattr ext_pte ext_ptw) >>= fun w__3 : PTE_Check =>
returnm (match w__3 with
- | PTE_Check_Failure ext_ptw => PTW_Failure (PTW_No_Permission tt, ext_ptw)
+ | PTE_Check_Failure (ext_ptw, ext_ptw_fail) =>
+ PTW_Failure (ext_get_ptw_error ext_ptw_fail, ext_ptw)
| PTE_Check_Success ext_ptw =>
if sumbool_of_bool (Z.gtb level 0) then
let mask :=
@@ -13042,7 +13272,8 @@ Definition translate32
let pteBits := Mk_PTE_Bits (_get_SV32_PTE_BITS pte) in
(checkPTEPermission ac priv mxr do_sum pteBits ext_pte ext_ptw) >>= fun w__1 : PTE_Check =>
(match w__1 with
- | PTE_Check_Failure ext_ptw => returnm (TR_Failure (PTW_No_Permission tt, ext_ptw))
+ | PTE_Check_Failure (ext_ptw, ext_ptw_fail) =>
+ returnm (TR_Failure (ext_get_ptw_error ext_ptw_fail, ext_ptw))
| PTE_Check_Success ext_ptw =>
(match (update_PTE_Bits pteBits ac ext_pte) with
| None =>
@@ -13059,8 +13290,8 @@ Definition translate32
{[ n_ent with TLB_Entry_pte := (_get_SV32_PTE_bits n_pte) ]}
: TLB_Entry 9 32 34 32 in
(write_TLB32 idx n_ent) >>
- (mem_write_value (to_phys_addr (EXTZ 34 ent.(TLB_Entry_pteAddr))) 4
- (_get_SV32_PTE_bits n_pte) false false false) >>= fun w__2 : MemoryOpResult bool =>
+ (mem_write_value_priv (to_phys_addr (EXTZ 34 ent.(TLB_Entry_pteAddr))) 4
+ (_get_SV32_PTE_bits n_pte) Supervisor false false false) >>= fun w__2 : MemoryOpResult bool =>
(match w__2 with
| MemValue _ => returnm tt
| MemException e =>
@@ -13088,8 +13319,8 @@ Definition translate32
returnm (TR_Failure (PTW_PTE_Update tt, ext_ptw))
else
let w_pte : SV32_PTE := _update_SV32_PTE_BITS pte (_get_PTE_Bits_bits pbits) in
- (mem_write_value (to_phys_addr pteAddr) 4 (_get_SV32_PTE_bits w_pte) false false
- false) >>= fun w__7 : MemoryOpResult bool =>
+ (mem_write_value_priv (to_phys_addr pteAddr) 4 (_get_SV32_PTE_bits w_pte)
+ Supervisor false false false) >>= fun w__7 : MemoryOpResult bool =>
(match w__7 with
| MemValue _ =>
(add_to_TLB32 asid vAddr pAddr w_pte pteAddr level global) >>
@@ -13125,26 +13356,23 @@ Definition translationMode (priv : Privilege) : M (SATPMode) :=
: M (SATPMode))
: M (SATPMode).
-Definition translateAddr (vAddr : mword 32) (ac : AccessType unit)
+Definition translateAddr_priv (vAddr : mword 32) (ac : AccessType unit) (effPriv : Privilege)
: M (TR_Result (mword 32) ExceptionType) :=
read_reg mstatus_ref >>= fun w__0 : Mstatus =>
- read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
- (effectivePrivilege ac w__0 w__1) >>= fun effPriv : Privilege =>
- read_reg mstatus_ref >>= fun w__2 : Mstatus =>
- let mxr : bool := eq_vec (_get_Mstatus_MXR w__2) ('b"1" : mword 1) in
- read_reg mstatus_ref >>= fun w__3 : Mstatus =>
- let do_sum : bool := eq_vec (_get_Mstatus_SUM w__3) ('b"1" : mword 1) in
+ let mxr : bool := eq_vec (_get_Mstatus_MXR w__0) ('b"1" : mword 1) in
+ read_reg mstatus_ref >>= fun w__1 : Mstatus =>
+ let do_sum : bool := eq_vec (_get_Mstatus_SUM w__1) ('b"1" : mword 1) in
(translationMode effPriv) >>= fun mode : SATPMode =>
- ((read_reg satp_ref) : M (mword 32)) >>= fun w__4 : mword 32 =>
- let asid := curAsid32 w__4 in
- ((read_reg satp_ref) : M (mword 32)) >>= fun w__5 : mword 32 =>
- let ptb := curPTB32 w__5 in
+ ((read_reg satp_ref) : M (mword 32)) >>= fun w__2 : mword 32 =>
+ let asid := curAsid32 w__2 in
+ ((read_reg satp_ref) : M (mword 32)) >>= fun w__3 : mword 32 =>
+ let ptb := curPTB32 w__3 in
let ext_ptw : ext_ptw := init_ext_ptw in
(match mode with
| Sbare => returnm (TR_Address (vAddr, ext_ptw))
| Sv32 =>
- (translate32 asid ptb vAddr ac effPriv mxr do_sum (Z.sub SV32_LEVELS 1) ext_ptw) >>= fun w__6 : TR_Result (mword 34) PTW_Error =>
- returnm (match w__6 with
+ (translate32 asid ptb vAddr ac effPriv mxr do_sum (Z.sub SV32_LEVELS 1) ext_ptw) >>= fun w__4 : TR_Result (mword 34) PTW_Error =>
+ returnm (match w__4 with
| TR_Address (pa, ext_ptw) => TR_Address (to_phys_addr pa, ext_ptw)
| TR_Failure (f, ext_ptw) => TR_Failure (translationException ac f, ext_ptw)
end)
@@ -13154,6 +13382,14 @@ Definition translateAddr (vAddr : mword 32) (ac : AccessType unit)
end)
: M (TR_Result (mword 32) ExceptionType).
+Definition translateAddr (vAddr : mword 32) (ac : AccessType unit)
+: M (TR_Result (mword 32) ExceptionType) :=
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege ac w__0 w__1) >>= fun w__2 : Privilege =>
+ (translateAddr_priv vAddr ac w__2)
+ : M (TR_Result (mword 32) ExceptionType).
+
Definition flush_TLB (asid_xlen : option (mword 32)) (addr_xlen : option (mword 32)) : M (unit) :=
let asid : option asid32 :=
match asid_xlen with | None => None | Some a => Some (subrange_vec_dec a 8 0) end in
@@ -13200,23 +13436,23 @@ Definition utype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "auipc" then true
else false.
-Definition _s757_ (_s758_ : string) : option string :=
- let _s759_ := _s758_ in
- if string_startswith _s759_ "auipc" then
- match (string_drop _s759_ (projT1 (string_length "auipc"))) with | s_ => Some s_ end
+Definition _s761_ (_s762_ : string) : option string :=
+ let _s763_ := _s762_ in
+ if string_startswith _s763_ "auipc" then
+ match (string_drop _s763_ (projT1 (string_length "auipc"))) with | s_ => Some s_ end
else None.
-Definition _s753_ (_s754_ : string) : option string :=
- let _s755_ := _s754_ in
- if string_startswith _s755_ "lui" then
- match (string_drop _s755_ (projT1 (string_length "lui"))) with | s_ => Some s_ end
+Definition _s757_ (_s758_ : string) : option string :=
+ let _s759_ := _s758_ in
+ if string_startswith _s759_ "lui" then
+ match (string_drop _s759_ (projT1 (string_length "lui"))) with | s_ => Some s_ end
else None.
Definition utype_mnemonic_matches_prefix (arg_ : string)
: M (option ((uop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s756_ := arg_ in
- (if match (_s753_ _s756_) with | Some s_ => true | _ => false end then
- (match (_s753_ _s756_) with
+ let _s760_ := arg_ in
+ (if match (_s757_ _s760_) with | Some s_ => true | _ => false end then
+ (match (_s757_ _s760_) with
| Some s_ =>
returnm (Some
(RISCV_LUI, build_ex
@@ -13225,8 +13461,8 @@ Definition utype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((uop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((uop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s757_ _s756_) with | Some s_ => true | _ => false end then
- (match (_s757_ _s756_) with
+ else if match (_s761_ _s760_) with | Some s_ => true | _ => false end then
+ (match (_s761_ _s760_) with
| Some s_ =>
returnm (Some
(RISCV_AUIPC, build_ex
@@ -13320,47 +13556,47 @@ Definition btype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "bgeu" then true
else false.
+Definition _s785_ (_s786_ : string) : option string :=
+ let _s787_ := _s786_ in
+ if string_startswith _s787_ "bgeu" then
+ match (string_drop _s787_ (projT1 (string_length "bgeu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s781_ (_s782_ : string) : option string :=
let _s783_ := _s782_ in
- if string_startswith _s783_ "bgeu" then
- match (string_drop _s783_ (projT1 (string_length "bgeu"))) with | s_ => Some s_ end
+ if string_startswith _s783_ "bltu" then
+ match (string_drop _s783_ (projT1 (string_length "bltu"))) with | s_ => Some s_ end
else None.
Definition _s777_ (_s778_ : string) : option string :=
let _s779_ := _s778_ in
- if string_startswith _s779_ "bltu" then
- match (string_drop _s779_ (projT1 (string_length "bltu"))) with | s_ => Some s_ end
+ if string_startswith _s779_ "bge" then
+ match (string_drop _s779_ (projT1 (string_length "bge"))) with | s_ => Some s_ end
else None.
Definition _s773_ (_s774_ : string) : option string :=
let _s775_ := _s774_ in
- if string_startswith _s775_ "bge" then
- match (string_drop _s775_ (projT1 (string_length "bge"))) with | s_ => Some s_ end
+ if string_startswith _s775_ "blt" then
+ match (string_drop _s775_ (projT1 (string_length "blt"))) with | s_ => Some s_ end
else None.
Definition _s769_ (_s770_ : string) : option string :=
let _s771_ := _s770_ in
- if string_startswith _s771_ "blt" then
- match (string_drop _s771_ (projT1 (string_length "blt"))) with | s_ => Some s_ end
+ if string_startswith _s771_ "bne" then
+ match (string_drop _s771_ (projT1 (string_length "bne"))) with | s_ => Some s_ end
else None.
Definition _s765_ (_s766_ : string) : option string :=
let _s767_ := _s766_ in
- if string_startswith _s767_ "bne" then
- match (string_drop _s767_ (projT1 (string_length "bne"))) with | s_ => Some s_ end
- else None.
-
-Definition _s761_ (_s762_ : string) : option string :=
- let _s763_ := _s762_ in
- if string_startswith _s763_ "beq" then
- match (string_drop _s763_ (projT1 (string_length "beq"))) with | s_ => Some s_ end
+ if string_startswith _s767_ "beq" then
+ match (string_drop _s767_ (projT1 (string_length "beq"))) with | s_ => Some s_ end
else None.
Definition btype_mnemonic_matches_prefix (arg_ : string)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s764_ := arg_ in
- (if match (_s761_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s761_ _s764_) with
+ let _s768_ := arg_ in
+ (if match (_s765_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s765_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BEQ, build_ex
@@ -13369,8 +13605,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s765_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s765_ _s764_) with
+ else if match (_s769_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s769_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BNE, build_ex
@@ -13379,8 +13615,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s769_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s769_ _s764_) with
+ else if match (_s773_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s773_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BLT, build_ex
@@ -13389,8 +13625,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s773_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s773_ _s764_) with
+ else if match (_s777_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s777_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BGE, build_ex
@@ -13399,8 +13635,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s777_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s777_ _s764_) with
+ else if match (_s781_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s781_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BLTU, build_ex
@@ -13409,8 +13645,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s781_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s781_ _s764_) with
+ else if match (_s785_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s785_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BGEU, build_ex
@@ -13504,47 +13740,47 @@ Definition itype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "andi" then true
else false.
+Definition _s809_ (_s810_ : string) : option string :=
+ let _s811_ := _s810_ in
+ if string_startswith _s811_ "andi" then
+ match (string_drop _s811_ (projT1 (string_length "andi"))) with | s_ => Some s_ end
+ else None.
+
Definition _s805_ (_s806_ : string) : option string :=
let _s807_ := _s806_ in
- if string_startswith _s807_ "andi" then
- match (string_drop _s807_ (projT1 (string_length "andi"))) with | s_ => Some s_ end
+ if string_startswith _s807_ "ori" then
+ match (string_drop _s807_ (projT1 (string_length "ori"))) with | s_ => Some s_ end
else None.
Definition _s801_ (_s802_ : string) : option string :=
let _s803_ := _s802_ in
- if string_startswith _s803_ "ori" then
- match (string_drop _s803_ (projT1 (string_length "ori"))) with | s_ => Some s_ end
+ if string_startswith _s803_ "xori" then
+ match (string_drop _s803_ (projT1 (string_length "xori"))) with | s_ => Some s_ end
else None.
Definition _s797_ (_s798_ : string) : option string :=
let _s799_ := _s798_ in
- if string_startswith _s799_ "xori" then
- match (string_drop _s799_ (projT1 (string_length "xori"))) with | s_ => Some s_ end
+ if string_startswith _s799_ "sltiu" then
+ match (string_drop _s799_ (projT1 (string_length "sltiu"))) with | s_ => Some s_ end
else None.
Definition _s793_ (_s794_ : string) : option string :=
let _s795_ := _s794_ in
- if string_startswith _s795_ "sltiu" then
- match (string_drop _s795_ (projT1 (string_length "sltiu"))) with | s_ => Some s_ end
+ if string_startswith _s795_ "slti" then
+ match (string_drop _s795_ (projT1 (string_length "slti"))) with | s_ => Some s_ end
else None.
Definition _s789_ (_s790_ : string) : option string :=
let _s791_ := _s790_ in
- if string_startswith _s791_ "slti" then
- match (string_drop _s791_ (projT1 (string_length "slti"))) with | s_ => Some s_ end
- else None.
-
-Definition _s785_ (_s786_ : string) : option string :=
- let _s787_ := _s786_ in
- if string_startswith _s787_ "addi" then
- match (string_drop _s787_ (projT1 (string_length "addi"))) with | s_ => Some s_ end
+ if string_startswith _s791_ "addi" then
+ match (string_drop _s791_ (projT1 (string_length "addi"))) with | s_ => Some s_ end
else None.
Definition itype_mnemonic_matches_prefix (arg_ : string)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s788_ := arg_ in
- (if match (_s785_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s785_ _s788_) with
+ let _s792_ := arg_ in
+ (if match (_s789_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s789_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_ADDI, build_ex
@@ -13553,8 +13789,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s789_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s789_ _s788_) with
+ else if match (_s793_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s793_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_SLTI, build_ex
@@ -13563,8 +13799,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s793_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s793_ _s788_) with
+ else if match (_s797_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s797_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_SLTIU, build_ex
@@ -13573,8 +13809,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s797_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s797_ _s788_) with
+ else if match (_s801_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s801_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_XORI, build_ex
@@ -13583,8 +13819,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s801_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s801_ _s788_) with
+ else if match (_s805_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s805_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_ORI, build_ex
@@ -13593,8 +13829,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s805_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s805_ _s788_) with
+ else if match (_s809_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s809_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_ANDI, build_ex
@@ -13652,29 +13888,29 @@ Definition shiftiop_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "srai" then true
else false.
+Definition _s821_ (_s822_ : string) : option string :=
+ let _s823_ := _s822_ in
+ if string_startswith _s823_ "srai" then
+ match (string_drop _s823_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ else None.
+
Definition _s817_ (_s818_ : string) : option string :=
let _s819_ := _s818_ in
- if string_startswith _s819_ "srai" then
- match (string_drop _s819_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ if string_startswith _s819_ "srli" then
+ match (string_drop _s819_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
else None.
Definition _s813_ (_s814_ : string) : option string :=
let _s815_ := _s814_ in
- if string_startswith _s815_ "srli" then
- match (string_drop _s815_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
- else None.
-
-Definition _s809_ (_s810_ : string) : option string :=
- let _s811_ := _s810_ in
- if string_startswith _s811_ "slli" then
- match (string_drop _s811_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
+ if string_startswith _s815_ "slli" then
+ match (string_drop _s815_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
else None.
Definition shiftiop_mnemonic_matches_prefix (arg_ : string)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s812_ := arg_ in
- (if match (_s809_ _s812_) with | Some s_ => true | _ => false end then
- (match (_s809_ _s812_) with
+ let _s816_ := arg_ in
+ (if match (_s813_ _s816_) with | Some s_ => true | _ => false end then
+ (match (_s813_ _s816_) with
| Some s_ =>
returnm (Some
(RISCV_SLLI, build_ex
@@ -13683,8 +13919,8 @@ Definition shiftiop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s813_ _s812_) with | Some s_ => true | _ => false end then
- (match (_s813_ _s812_) with
+ else if match (_s817_ _s816_) with | Some s_ => true | _ => false end then
+ (match (_s817_ _s816_) with
| Some s_ =>
returnm (Some
(RISCV_SRLI, build_ex
@@ -13693,8 +13929,8 @@ Definition shiftiop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s817_ _s812_) with | Some s_ => true | _ => false end then
- (match (_s817_ _s812_) with
+ else if match (_s821_ _s816_) with | Some s_ => true | _ => false end then
+ (match (_s821_ _s816_) with
| Some s_ =>
returnm (Some
(RISCV_SRAI, build_ex
@@ -13763,71 +13999,71 @@ Definition rtype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "sra" then true
else false.
+Definition _s861_ (_s862_ : string) : option string :=
+ let _s863_ := _s862_ in
+ if string_startswith _s863_ "sra" then
+ match (string_drop _s863_ (projT1 (string_length "sra"))) with | s_ => Some s_ end
+ else None.
+
Definition _s857_ (_s858_ : string) : option string :=
let _s859_ := _s858_ in
- if string_startswith _s859_ "sra" then
- match (string_drop _s859_ (projT1 (string_length "sra"))) with | s_ => Some s_ end
+ if string_startswith _s859_ "sub" then
+ match (string_drop _s859_ (projT1 (string_length "sub"))) with | s_ => Some s_ end
else None.
Definition _s853_ (_s854_ : string) : option string :=
let _s855_ := _s854_ in
- if string_startswith _s855_ "sub" then
- match (string_drop _s855_ (projT1 (string_length "sub"))) with | s_ => Some s_ end
+ if string_startswith _s855_ "srl" then
+ match (string_drop _s855_ (projT1 (string_length "srl"))) with | s_ => Some s_ end
else None.
Definition _s849_ (_s850_ : string) : option string :=
let _s851_ := _s850_ in
- if string_startswith _s851_ "srl" then
- match (string_drop _s851_ (projT1 (string_length "srl"))) with | s_ => Some s_ end
+ if string_startswith _s851_ "sll" then
+ match (string_drop _s851_ (projT1 (string_length "sll"))) with | s_ => Some s_ end
else None.
Definition _s845_ (_s846_ : string) : option string :=
let _s847_ := _s846_ in
- if string_startswith _s847_ "sll" then
- match (string_drop _s847_ (projT1 (string_length "sll"))) with | s_ => Some s_ end
+ if string_startswith _s847_ "xor" then
+ match (string_drop _s847_ (projT1 (string_length "xor"))) with | s_ => Some s_ end
else None.
Definition _s841_ (_s842_ : string) : option string :=
let _s843_ := _s842_ in
- if string_startswith _s843_ "xor" then
- match (string_drop _s843_ (projT1 (string_length "xor"))) with | s_ => Some s_ end
+ if string_startswith _s843_ "or" then
+ match (string_drop _s843_ (projT1 (string_length "or"))) with | s_ => Some s_ end
else None.
Definition _s837_ (_s838_ : string) : option string :=
let _s839_ := _s838_ in
- if string_startswith _s839_ "or" then
- match (string_drop _s839_ (projT1 (string_length "or"))) with | s_ => Some s_ end
+ if string_startswith _s839_ "and" then
+ match (string_drop _s839_ (projT1 (string_length "and"))) with | s_ => Some s_ end
else None.
Definition _s833_ (_s834_ : string) : option string :=
let _s835_ := _s834_ in
- if string_startswith _s835_ "and" then
- match (string_drop _s835_ (projT1 (string_length "and"))) with | s_ => Some s_ end
+ if string_startswith _s835_ "sltu" then
+ match (string_drop _s835_ (projT1 (string_length "sltu"))) with | s_ => Some s_ end
else None.
Definition _s829_ (_s830_ : string) : option string :=
let _s831_ := _s830_ in
- if string_startswith _s831_ "sltu" then
- match (string_drop _s831_ (projT1 (string_length "sltu"))) with | s_ => Some s_ end
+ if string_startswith _s831_ "slt" then
+ match (string_drop _s831_ (projT1 (string_length "slt"))) with | s_ => Some s_ end
else None.
Definition _s825_ (_s826_ : string) : option string :=
let _s827_ := _s826_ in
- if string_startswith _s827_ "slt" then
- match (string_drop _s827_ (projT1 (string_length "slt"))) with | s_ => Some s_ end
- else None.
-
-Definition _s821_ (_s822_ : string) : option string :=
- let _s823_ := _s822_ in
- if string_startswith _s823_ "add" then
- match (string_drop _s823_ (projT1 (string_length "add"))) with | s_ => Some s_ end
+ if string_startswith _s827_ "add" then
+ match (string_drop _s827_ (projT1 (string_length "add"))) with | s_ => Some s_ end
else None.
Definition rtype_mnemonic_matches_prefix (arg_ : string)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s824_ := arg_ in
- (if match (_s821_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s821_ _s824_) with
+ let _s828_ := arg_ in
+ (if match (_s825_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s825_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_ADD, build_ex
@@ -13836,8 +14072,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s825_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s825_ _s824_) with
+ else if match (_s829_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s829_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SLT, build_ex
@@ -13846,8 +14082,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s829_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s829_ _s824_) with
+ else if match (_s833_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s833_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SLTU, build_ex
@@ -13856,8 +14092,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s833_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s833_ _s824_) with
+ else if match (_s837_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s837_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_AND, build_ex
@@ -13866,8 +14102,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s837_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s837_ _s824_) with
+ else if match (_s841_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s841_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_OR, build_ex
@@ -13876,8 +14112,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s841_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s841_ _s824_) with
+ else if match (_s845_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s845_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_XOR, build_ex
@@ -13886,8 +14122,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s845_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s845_ _s824_) with
+ else if match (_s849_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s849_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SLL, build_ex
@@ -13896,8 +14132,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s849_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s849_ _s824_) with
+ else if match (_s853_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s853_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SRL, build_ex
@@ -13906,8 +14142,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s853_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s853_ _s824_) with
+ else if match (_s857_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s857_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SUB, build_ex
@@ -13916,8 +14152,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s857_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s857_ _s824_) with
+ else if match (_s861_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s861_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SRA, build_ex
@@ -13979,23 +14215,23 @@ Definition maybe_aq_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s865_ (_s866_ : string) : option string :=
- let _s867_ := _s866_ in
- if string_startswith _s867_ "" then
- match (string_drop _s867_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s869_ (_s870_ : string) : option string :=
+ let _s871_ := _s870_ in
+ if string_startswith _s871_ "" then
+ match (string_drop _s871_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s861_ (_s862_ : string) : option string :=
- let _s863_ := _s862_ in
- if string_startswith _s863_ ".aq" then
- match (string_drop _s863_ (projT1 (string_length ".aq"))) with | s_ => Some s_ end
+Definition _s865_ (_s866_ : string) : option string :=
+ let _s867_ := _s866_ in
+ if string_startswith _s867_ ".aq" then
+ match (string_drop _s867_ (projT1 (string_length ".aq"))) with | s_ => Some s_ end
else None.
Definition maybe_aq_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s864_ := arg_ in
- (if match (_s861_ _s864_) with | Some s_ => true | _ => false end then
- (match (_s861_ _s864_) with
+ let _s868_ := arg_ in
+ (if match (_s865_ _s868_) with | Some s_ => true | _ => false end then
+ (match (_s865_ _s868_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -14004,8 +14240,8 @@ Definition maybe_aq_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s865_ _s864_) with | Some s_ => true | _ => false end then
- (match (_s865_ _s864_) with
+ else if match (_s869_ _s868_) with | Some s_ => true | _ => false end then
+ (match (_s869_ _s868_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -14036,23 +14272,23 @@ Definition maybe_rl_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s873_ (_s874_ : string) : option string :=
- let _s875_ := _s874_ in
- if string_startswith _s875_ "" then
- match (string_drop _s875_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s877_ (_s878_ : string) : option string :=
+ let _s879_ := _s878_ in
+ if string_startswith _s879_ "" then
+ match (string_drop _s879_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s869_ (_s870_ : string) : option string :=
- let _s871_ := _s870_ in
- if string_startswith _s871_ ".rl" then
- match (string_drop _s871_ (projT1 (string_length ".rl"))) with | s_ => Some s_ end
+Definition _s873_ (_s874_ : string) : option string :=
+ let _s875_ := _s874_ in
+ if string_startswith _s875_ ".rl" then
+ match (string_drop _s875_ (projT1 (string_length ".rl"))) with | s_ => Some s_ end
else None.
Definition maybe_rl_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s872_ := arg_ in
- (if match (_s869_ _s872_) with | Some s_ => true | _ => false end then
- (match (_s869_ _s872_) with
+ let _s876_ := arg_ in
+ (if match (_s873_ _s876_) with | Some s_ => true | _ => false end then
+ (match (_s873_ _s876_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -14061,8 +14297,8 @@ Definition maybe_rl_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s873_ _s872_) with | Some s_ => true | _ => false end then
- (match (_s873_ _s872_) with
+ else if match (_s877_ _s876_) with | Some s_ => true | _ => false end then
+ (match (_s877_ _s876_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -14093,23 +14329,23 @@ Definition maybe_u_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s881_ (_s882_ : string) : option string :=
- let _s883_ := _s882_ in
- if string_startswith _s883_ "" then
- match (string_drop _s883_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s885_ (_s886_ : string) : option string :=
+ let _s887_ := _s886_ in
+ if string_startswith _s887_ "" then
+ match (string_drop _s887_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s877_ (_s878_ : string) : option string :=
- let _s879_ := _s878_ in
- if string_startswith _s879_ "u" then
- match (string_drop _s879_ (projT1 (string_length "u"))) with | s_ => Some s_ end
+Definition _s881_ (_s882_ : string) : option string :=
+ let _s883_ := _s882_ in
+ if string_startswith _s883_ "u" then
+ match (string_drop _s883_ (projT1 (string_length "u"))) with | s_ => Some s_ end
else None.
Definition maybe_u_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s880_ := arg_ in
- (if match (_s877_ _s880_) with | Some s_ => true | _ => false end then
- (match (_s877_ _s880_) with
+ let _s884_ := arg_ in
+ (if match (_s881_ _s884_) with | Some s_ => true | _ => false end then
+ (match (_s881_ _s884_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -14118,8 +14354,8 @@ Definition maybe_u_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s881_ _s880_) with | Some s_ => true | _ => false end then
- (match (_s881_ _s880_) with
+ else if match (_s885_ _s884_) with | Some s_ => true | _ => false end then
+ (match (_s885_ _s884_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -14152,29 +14388,29 @@ Definition shiftw_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "srai" then true
else false.
+Definition _s897_ (_s898_ : string) : option string :=
+ let _s899_ := _s898_ in
+ if string_startswith _s899_ "srai" then
+ match (string_drop _s899_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ else None.
+
Definition _s893_ (_s894_ : string) : option string :=
let _s895_ := _s894_ in
- if string_startswith _s895_ "srai" then
- match (string_drop _s895_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ if string_startswith _s895_ "srli" then
+ match (string_drop _s895_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
else None.
Definition _s889_ (_s890_ : string) : option string :=
let _s891_ := _s890_ in
- if string_startswith _s891_ "srli" then
- match (string_drop _s891_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
- else None.
-
-Definition _s885_ (_s886_ : string) : option string :=
- let _s887_ := _s886_ in
- if string_startswith _s887_ "slli" then
- match (string_drop _s887_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
+ if string_startswith _s891_ "slli" then
+ match (string_drop _s891_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
else None.
Definition shiftw_mnemonic_matches_prefix (arg_ : string)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s888_ := arg_ in
- (if match (_s885_ _s888_) with | Some s_ => true | _ => false end then
- (match (_s885_ _s888_) with
+ let _s892_ := arg_ in
+ (if match (_s889_ _s892_) with | Some s_ => true | _ => false end then
+ (match (_s889_ _s892_) with
| Some s_ =>
returnm (Some
(RISCV_SLLI, build_ex
@@ -14183,8 +14419,8 @@ Definition shiftw_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s889_ _s888_) with | Some s_ => true | _ => false end then
- (match (_s889_ _s888_) with
+ else if match (_s893_ _s892_) with | Some s_ => true | _ => false end then
+ (match (_s893_ _s892_) with
| Some s_ =>
returnm (Some
(RISCV_SRLI, build_ex
@@ -14193,8 +14429,8 @@ Definition shiftw_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s893_ _s888_) with | Some s_ => true | _ => false end then
- (match (_s893_ _s888_) with
+ else if match (_s897_ _s892_) with | Some s_ => true | _ => false end then
+ (match (_s897_ _s892_) with
| Some s_ =>
returnm (Some
(RISCV_SRAI, build_ex
@@ -14243,41 +14479,41 @@ Definition rtypew_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "sraw" then true
else false.
+Definition _s917_ (_s918_ : string) : option string :=
+ let _s919_ := _s918_ in
+ if string_startswith _s919_ "sraw" then
+ match (string_drop _s919_ (projT1 (string_length "sraw"))) with | s_ => Some s_ end
+ else None.
+
Definition _s913_ (_s914_ : string) : option string :=
let _s915_ := _s914_ in
- if string_startswith _s915_ "sraw" then
- match (string_drop _s915_ (projT1 (string_length "sraw"))) with | s_ => Some s_ end
+ if string_startswith _s915_ "srlw" then
+ match (string_drop _s915_ (projT1 (string_length "srlw"))) with | s_ => Some s_ end
else None.
Definition _s909_ (_s910_ : string) : option string :=
let _s911_ := _s910_ in
- if string_startswith _s911_ "srlw" then
- match (string_drop _s911_ (projT1 (string_length "srlw"))) with | s_ => Some s_ end
+ if string_startswith _s911_ "sllw" then
+ match (string_drop _s911_ (projT1 (string_length "sllw"))) with | s_ => Some s_ end
else None.
Definition _s905_ (_s906_ : string) : option string :=
let _s907_ := _s906_ in
- if string_startswith _s907_ "sllw" then
- match (string_drop _s907_ (projT1 (string_length "sllw"))) with | s_ => Some s_ end
+ if string_startswith _s907_ "subw" then
+ match (string_drop _s907_ (projT1 (string_length "subw"))) with | s_ => Some s_ end
else None.
Definition _s901_ (_s902_ : string) : option string :=
let _s903_ := _s902_ in
- if string_startswith _s903_ "subw" then
- match (string_drop _s903_ (projT1 (string_length "subw"))) with | s_ => Some s_ end
- else None.
-
-Definition _s897_ (_s898_ : string) : option string :=
- let _s899_ := _s898_ in
- if string_startswith _s899_ "addw" then
- match (string_drop _s899_ (projT1 (string_length "addw"))) with | s_ => Some s_ end
+ if string_startswith _s903_ "addw" then
+ match (string_drop _s903_ (projT1 (string_length "addw"))) with | s_ => Some s_ end
else None.
Definition rtypew_mnemonic_matches_prefix (arg_ : string)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s900_ := arg_ in
- (if match (_s897_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s897_ _s900_) with
+ let _s904_ := arg_ in
+ (if match (_s901_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s901_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_ADDW, build_ex
@@ -14286,8 +14522,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s901_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s901_ _s900_) with
+ else if match (_s905_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s905_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SUBW, build_ex
@@ -14296,8 +14532,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s905_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s905_ _s900_) with
+ else if match (_s909_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s909_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SLLW, build_ex
@@ -14306,8 +14542,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s909_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s909_ _s900_) with
+ else if match (_s913_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s913_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SRLW, build_ex
@@ -14316,8 +14552,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s913_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s913_ _s900_) with
+ else if match (_s917_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s917_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SRAW, build_ex
@@ -14350,29 +14586,29 @@ Definition shiftiwop_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "sraiw" then true
else false.
+Definition _s929_ (_s930_ : string) : option string :=
+ let _s931_ := _s930_ in
+ if string_startswith _s931_ "sraiw" then
+ match (string_drop _s931_ (projT1 (string_length "sraiw"))) with | s_ => Some s_ end
+ else None.
+
Definition _s925_ (_s926_ : string) : option string :=
let _s927_ := _s926_ in
- if string_startswith _s927_ "sraiw" then
- match (string_drop _s927_ (projT1 (string_length "sraiw"))) with | s_ => Some s_ end
+ if string_startswith _s927_ "srliw" then
+ match (string_drop _s927_ (projT1 (string_length "srliw"))) with | s_ => Some s_ end
else None.
Definition _s921_ (_s922_ : string) : option string :=
let _s923_ := _s922_ in
- if string_startswith _s923_ "srliw" then
- match (string_drop _s923_ (projT1 (string_length "srliw"))) with | s_ => Some s_ end
- else None.
-
-Definition _s917_ (_s918_ : string) : option string :=
- let _s919_ := _s918_ in
- if string_startswith _s919_ "slliw" then
- match (string_drop _s919_ (projT1 (string_length "slliw"))) with | s_ => Some s_ end
+ if string_startswith _s923_ "slliw" then
+ match (string_drop _s923_ (projT1 (string_length "slliw"))) with | s_ => Some s_ end
else None.
Definition shiftiwop_mnemonic_matches_prefix (arg_ : string)
: M (option ((sopw * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s920_ := arg_ in
- (if match (_s917_ _s920_) with | Some s_ => true | _ => false end then
- (match (_s917_ _s920_) with
+ let _s924_ := arg_ in
+ (if match (_s921_ _s924_) with | Some s_ => true | _ => false end then
+ (match (_s921_ _s924_) with
| Some s_ =>
returnm (Some
(RISCV_SLLIW, build_ex
@@ -14381,8 +14617,8 @@ Definition shiftiwop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s921_ _s920_) with | Some s_ => true | _ => false end then
- (match (_s921_ _s920_) with
+ else if match (_s925_ _s924_) with | Some s_ => true | _ => false end then
+ (match (_s925_ _s924_) with
| Some s_ =>
returnm (Some
(RISCV_SRLIW, build_ex
@@ -14391,8 +14627,8 @@ Definition shiftiwop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s925_ _s920_) with | Some s_ => true | _ => false end then
- (match (_s925_ _s920_) with
+ else if match (_s929_ _s924_) with | Some s_ => true | _ => false end then
+ (match (_s929_ _s924_) with
| Some s_ =>
returnm (Some
(RISCV_SRAIW, build_ex
@@ -14430,23 +14666,23 @@ Definition bit_maybe_r_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s933_ (_s934_ : string) : option string :=
- let _s935_ := _s934_ in
- if string_startswith _s935_ "" then
- match (string_drop _s935_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s937_ (_s938_ : string) : option string :=
+ let _s939_ := _s938_ in
+ if string_startswith _s939_ "" then
+ match (string_drop _s939_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s929_ (_s930_ : string) : option string :=
- let _s931_ := _s930_ in
- if string_startswith _s931_ "r" then
- match (string_drop _s931_ (projT1 (string_length "r"))) with | s_ => Some s_ end
+Definition _s933_ (_s934_ : string) : option string :=
+ let _s935_ := _s934_ in
+ if string_startswith _s935_ "r" then
+ match (string_drop _s935_ (projT1 (string_length "r"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_r_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s932_ := arg_ in
- (if match (_s929_ _s932_) with | Some s_ => true | _ => false end then
- (match (_s929_ _s932_) with
+ let _s936_ := arg_ in
+ (if match (_s933_ _s936_) with | Some s_ => true | _ => false end then
+ (match (_s933_ _s936_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14456,8 +14692,8 @@ Definition bit_maybe_r_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s933_ _s932_) with | Some s_ => true | _ => false end then
- (match (_s933_ _s932_) with
+ else if match (_s937_ _s936_) with | Some s_ => true | _ => false end then
+ (match (_s937_ _s936_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14496,23 +14732,23 @@ Definition bit_maybe_w_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s941_ (_s942_ : string) : option string :=
- let _s943_ := _s942_ in
- if string_startswith _s943_ "" then
- match (string_drop _s943_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s945_ (_s946_ : string) : option string :=
+ let _s947_ := _s946_ in
+ if string_startswith _s947_ "" then
+ match (string_drop _s947_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s937_ (_s938_ : string) : option string :=
- let _s939_ := _s938_ in
- if string_startswith _s939_ "w" then
- match (string_drop _s939_ (projT1 (string_length "w"))) with | s_ => Some s_ end
+Definition _s941_ (_s942_ : string) : option string :=
+ let _s943_ := _s942_ in
+ if string_startswith _s943_ "w" then
+ match (string_drop _s943_ (projT1 (string_length "w"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_w_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s940_ := arg_ in
- (if match (_s937_ _s940_) with | Some s_ => true | _ => false end then
- (match (_s937_ _s940_) with
+ let _s944_ := arg_ in
+ (if match (_s941_ _s944_) with | Some s_ => true | _ => false end then
+ (match (_s941_ _s944_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14522,8 +14758,8 @@ Definition bit_maybe_w_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s941_ _s940_) with | Some s_ => true | _ => false end then
- (match (_s941_ _s940_) with
+ else if match (_s945_ _s944_) with | Some s_ => true | _ => false end then
+ (match (_s945_ _s944_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14562,23 +14798,23 @@ Definition bit_maybe_i_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s949_ (_s950_ : string) : option string :=
- let _s951_ := _s950_ in
- if string_startswith _s951_ "" then
- match (string_drop _s951_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s953_ (_s954_ : string) : option string :=
+ let _s955_ := _s954_ in
+ if string_startswith _s955_ "" then
+ match (string_drop _s955_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s945_ (_s946_ : string) : option string :=
- let _s947_ := _s946_ in
- if string_startswith _s947_ "i" then
- match (string_drop _s947_ (projT1 (string_length "i"))) with | s_ => Some s_ end
+Definition _s949_ (_s950_ : string) : option string :=
+ let _s951_ := _s950_ in
+ if string_startswith _s951_ "i" then
+ match (string_drop _s951_ (projT1 (string_length "i"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_i_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s948_ := arg_ in
- (if match (_s945_ _s948_) with | Some s_ => true | _ => false end then
- (match (_s945_ _s948_) with
+ let _s952_ := arg_ in
+ (if match (_s949_ _s952_) with | Some s_ => true | _ => false end then
+ (match (_s949_ _s952_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14588,8 +14824,8 @@ Definition bit_maybe_i_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s949_ _s948_) with | Some s_ => true | _ => false end then
- (match (_s949_ _s948_) with
+ else if match (_s953_ _s952_) with | Some s_ => true | _ => false end then
+ (match (_s953_ _s952_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14628,23 +14864,23 @@ Definition bit_maybe_o_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s957_ (_s958_ : string) : option string :=
- let _s959_ := _s958_ in
- if string_startswith _s959_ "" then
- match (string_drop _s959_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s961_ (_s962_ : string) : option string :=
+ let _s963_ := _s962_ in
+ if string_startswith _s963_ "" then
+ match (string_drop _s963_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s953_ (_s954_ : string) : option string :=
- let _s955_ := _s954_ in
- if string_startswith _s955_ "o" then
- match (string_drop _s955_ (projT1 (string_length "o"))) with | s_ => Some s_ end
+Definition _s957_ (_s958_ : string) : option string :=
+ let _s959_ := _s958_ in
+ if string_startswith _s959_ "o" then
+ match (string_drop _s959_ (projT1 (string_length "o"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_o_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s956_ := arg_ in
- (if match (_s953_ _s956_) with | Some s_ => true | _ => false end then
- (match (_s953_ _s956_) with
+ let _s960_ := arg_ in
+ (if match (_s957_ _s960_) with | Some s_ => true | _ => false end then
+ (match (_s957_ _s960_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14654,8 +14890,8 @@ Definition bit_maybe_o_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s957_ _s956_) with | Some s_ => true | _ => false end then
- (match (_s957_ _s956_) with
+ else if match (_s961_ _s960_) with | Some s_ => true | _ => false end then
+ (match (_s961_ _s960_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14684,32 +14920,32 @@ Definition fence_bits_forwards (arg_ : mword 4) : M (string) :=
end)
: M (string).
-Definition _s961_ (_s962_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
- (match _s962_ with
- | _s963_ =>
- (bit_maybe_i_matches_prefix _s963_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
+Definition _s965_ (_s966_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
+ (match _s966_ with
+ | _s967_ =>
+ (bit_maybe_i_matches_prefix _s967_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (i, existT _ _s964_ _) =>
- (match (string_drop _s963_ _s964_) with
- | _s965_ =>
- (bit_maybe_o_matches_prefix _s965_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (i, existT _ _s968_ _) =>
+ (match (string_drop _s967_ _s968_) with
+ | _s969_ =>
+ (bit_maybe_o_matches_prefix _s969_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (o, existT _ _s966_ _) =>
- (match (string_drop _s965_ _s966_) with
- | _s967_ =>
- (bit_maybe_r_matches_prefix _s967_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (o, existT _ _s970_ _) =>
+ (match (string_drop _s969_ _s970_) with
+ | _s971_ =>
+ (bit_maybe_r_matches_prefix _s971_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (r, existT _ _s968_ _) =>
- (match (string_drop _s967_ _s968_) with
- | _s969_ =>
- (bit_maybe_w_matches_prefix _s969_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (r, existT _ _s972_ _) =>
+ (match (string_drop _s971_ _s972_) with
+ | _s973_ =>
+ (bit_maybe_w_matches_prefix _s973_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (w, existT _ _s970_ _) =>
- let p0_ := string_drop _s969_ _s970_ in
+ | Some (w, existT _ _s974_ _) =>
+ let p0_ := string_drop _s973_ _s974_ in
if generic_eq p0_ "" then Some (i, o, r, w)
else None
| _ => None
@@ -14733,10 +14969,10 @@ Definition _s961_ (_s962_ : string) : M (option ((mword 1 * mword 1 * mword 1 *
: M (option ((mword 1 * mword 1 * mword 1 * mword 1))).
Definition fence_bits_backwards (arg_ : string) : M (mword 4) :=
- let _s971_ := arg_ in
- (_s961_ _s971_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ let _s975_ := arg_ in
+ (_s965_ _s975_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(if match w__0 with | Some (i, o, r, w) => true | _ => false end then
- (_s961_ _s971_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ (_s965_ _s975_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(match w__1 with
| Some (i, o, r, w) =>
returnm (concat_vec (i : bits 1)
@@ -14750,32 +14986,32 @@ Definition fence_bits_backwards (arg_ : string) : M (mword 4) :=
Definition fence_bits_forwards_matches (arg_ : mword 4) : bool :=
match arg_ with | v__1 => true end.
-Definition _s972_ (_s973_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
- (match _s973_ with
- | _s974_ =>
- (bit_maybe_i_matches_prefix _s974_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
+Definition _s976_ (_s977_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
+ (match _s977_ with
+ | _s978_ =>
+ (bit_maybe_i_matches_prefix _s978_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (i, existT _ _s975_ _) =>
- (match (string_drop _s974_ _s975_) with
- | _s976_ =>
- (bit_maybe_o_matches_prefix _s976_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (i, existT _ _s979_ _) =>
+ (match (string_drop _s978_ _s979_) with
+ | _s980_ =>
+ (bit_maybe_o_matches_prefix _s980_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (o, existT _ _s977_ _) =>
- (match (string_drop _s976_ _s977_) with
- | _s978_ =>
- (bit_maybe_r_matches_prefix _s978_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (o, existT _ _s981_ _) =>
+ (match (string_drop _s980_ _s981_) with
+ | _s982_ =>
+ (bit_maybe_r_matches_prefix _s982_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (r, existT _ _s979_ _) =>
- (match (string_drop _s978_ _s979_) with
- | _s980_ =>
- (bit_maybe_w_matches_prefix _s980_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (r, existT _ _s983_ _) =>
+ (match (string_drop _s982_ _s983_) with
+ | _s984_ =>
+ (bit_maybe_w_matches_prefix _s984_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (w, existT _ _s981_ _) =>
- let p0_ := string_drop _s980_ _s981_ in
+ | Some (w, existT _ _s985_ _) =>
+ let p0_ := string_drop _s984_ _s985_ in
if generic_eq p0_ "" then Some (i, o, r, w)
else None
| _ => None
@@ -14799,41 +15035,41 @@ Definition _s972_ (_s973_ : string) : M (option ((mword 1 * mword 1 * mword 1 *
: M (option ((mword 1 * mword 1 * mword 1 * mword 1))).
Definition fence_bits_backwards_matches (arg_ : string) : M (bool) :=
- let _s982_ := arg_ in
- (_s972_ _s982_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ let _s986_ := arg_ in
+ (_s976_ _s986_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(if match w__0 with | Some (i, o, r, w) => true | _ => false end then
- (_s972_ _s982_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ (_s976_ _s986_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(match w__1 with | Some (i, o, r, w) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else returnm false)
: M (bool).
-Definition _s983_ (_s984_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1 * string))) :=
- (match _s984_ with
- | _s985_ =>
- (bit_maybe_i_matches_prefix _s985_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
+Definition _s987_ (_s988_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1 * string))) :=
+ (match _s988_ with
+ | _s989_ =>
+ (bit_maybe_i_matches_prefix _s989_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (i, existT _ _s986_ _) =>
- (match (string_drop _s985_ _s986_) with
- | _s987_ =>
- (bit_maybe_o_matches_prefix _s987_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (i, existT _ _s990_ _) =>
+ (match (string_drop _s989_ _s990_) with
+ | _s991_ =>
+ (bit_maybe_o_matches_prefix _s991_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (o, existT _ _s988_ _) =>
- (match (string_drop _s987_ _s988_) with
- | _s989_ =>
- (bit_maybe_r_matches_prefix _s989_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (o, existT _ _s992_ _) =>
+ (match (string_drop _s991_ _s992_) with
+ | _s993_ =>
+ (bit_maybe_r_matches_prefix _s993_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (r, existT _ _s990_ _) =>
- (match (string_drop _s989_ _s990_) with
- | _s991_ =>
- (bit_maybe_w_matches_prefix _s991_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (r, existT _ _s994_ _) =>
+ (match (string_drop _s993_ _s994_) with
+ | _s995_ =>
+ (bit_maybe_w_matches_prefix _s995_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (w, existT _ _s992_ _) =>
- match (string_drop _s991_ _s992_) with
+ | Some (w, existT _ _s996_ _) =>
+ match (string_drop _s995_ _s996_) with
| s_ => Some (i, o, r, w, s_)
end
| _ => None
@@ -14858,10 +15094,10 @@ Definition _s983_ (_s984_ : string) : M (option ((mword 1 * mword 1 * mword 1 *
Definition fence_bits_matches_prefix (arg_ : string)
: M (option ((mword 4 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s993_ := arg_ in
- (_s983_ _s993_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
+ let _s997_ := arg_ in
+ (_s987_ _s997_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
(if match w__0 with | Some (i, o, r, w, s_) => true | _ => false end then
- (_s983_ _s993_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
+ (_s987_ _s997_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
(match w__1 with
| Some (i, o, r, w, s_) =>
returnm (Some
@@ -14886,6 +15122,9 @@ Definition aqrl_str (aq : bool) (rl : bool) : string :=
Definition lrsc_width_str (width : word_width) : string :=
match width with | BYTE => ".b" | HALF => ".h" | WORD => ".w" | DOUBLE => ".d" end.
+Definition amo_width_valid (size : word_width) : bool :=
+ match size with | WORD => true | DOUBLE => Z.geb 32 64 | _ => false end.
+
Definition process_loadres {n : Z}
(rd : mword 5) (addr : mword 32) (value : MemoryOpResult (mword (8 * n))) (is_unsigned : bool)
`{ArithFact ((0 <? n) && (n <=? 4))}
@@ -15004,65 +15243,65 @@ Definition amo_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "amomaxu" then true
else false.
+Definition _s1030_ (_s1031_ : string) : option string :=
+ let _s1032_ := _s1031_ in
+ if string_startswith _s1032_ "amomaxu" then
+ match (string_drop _s1032_ (projT1 (string_length "amomaxu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1026_ (_s1027_ : string) : option string :=
let _s1028_ := _s1027_ in
- if string_startswith _s1028_ "amomaxu" then
- match (string_drop _s1028_ (projT1 (string_length "amomaxu"))) with | s_ => Some s_ end
+ if string_startswith _s1028_ "amominu" then
+ match (string_drop _s1028_ (projT1 (string_length "amominu"))) with | s_ => Some s_ end
else None.
Definition _s1022_ (_s1023_ : string) : option string :=
let _s1024_ := _s1023_ in
- if string_startswith _s1024_ "amominu" then
- match (string_drop _s1024_ (projT1 (string_length "amominu"))) with | s_ => Some s_ end
+ if string_startswith _s1024_ "amomax" then
+ match (string_drop _s1024_ (projT1 (string_length "amomax"))) with | s_ => Some s_ end
else None.
Definition _s1018_ (_s1019_ : string) : option string :=
let _s1020_ := _s1019_ in
- if string_startswith _s1020_ "amomax" then
- match (string_drop _s1020_ (projT1 (string_length "amomax"))) with | s_ => Some s_ end
+ if string_startswith _s1020_ "amomin" then
+ match (string_drop _s1020_ (projT1 (string_length "amomin"))) with | s_ => Some s_ end
else None.
Definition _s1014_ (_s1015_ : string) : option string :=
let _s1016_ := _s1015_ in
- if string_startswith _s1016_ "amomin" then
- match (string_drop _s1016_ (projT1 (string_length "amomin"))) with | s_ => Some s_ end
+ if string_startswith _s1016_ "amoor" then
+ match (string_drop _s1016_ (projT1 (string_length "amoor"))) with | s_ => Some s_ end
else None.
Definition _s1010_ (_s1011_ : string) : option string :=
let _s1012_ := _s1011_ in
- if string_startswith _s1012_ "amoor" then
- match (string_drop _s1012_ (projT1 (string_length "amoor"))) with | s_ => Some s_ end
+ if string_startswith _s1012_ "amoand" then
+ match (string_drop _s1012_ (projT1 (string_length "amoand"))) with | s_ => Some s_ end
else None.
Definition _s1006_ (_s1007_ : string) : option string :=
let _s1008_ := _s1007_ in
- if string_startswith _s1008_ "amoand" then
- match (string_drop _s1008_ (projT1 (string_length "amoand"))) with | s_ => Some s_ end
+ if string_startswith _s1008_ "amoxor" then
+ match (string_drop _s1008_ (projT1 (string_length "amoxor"))) with | s_ => Some s_ end
else None.
Definition _s1002_ (_s1003_ : string) : option string :=
let _s1004_ := _s1003_ in
- if string_startswith _s1004_ "amoxor" then
- match (string_drop _s1004_ (projT1 (string_length "amoxor"))) with | s_ => Some s_ end
+ if string_startswith _s1004_ "amoadd" then
+ match (string_drop _s1004_ (projT1 (string_length "amoadd"))) with | s_ => Some s_ end
else None.
Definition _s998_ (_s999_ : string) : option string :=
let _s1000_ := _s999_ in
- if string_startswith _s1000_ "amoadd" then
- match (string_drop _s1000_ (projT1 (string_length "amoadd"))) with | s_ => Some s_ end
- else None.
-
-Definition _s994_ (_s995_ : string) : option string :=
- let _s996_ := _s995_ in
- if string_startswith _s996_ "amoswap" then
- match (string_drop _s996_ (projT1 (string_length "amoswap"))) with | s_ => Some s_ end
+ if string_startswith _s1000_ "amoswap" then
+ match (string_drop _s1000_ (projT1 (string_length "amoswap"))) with | s_ => Some s_ end
else None.
Definition amo_mnemonic_matches_prefix (arg_ : string)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s997_ := arg_ in
- (if match (_s994_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s994_ _s997_) with
+ let _s1001_ := arg_ in
+ (if match (_s998_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s998_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOSWAP, build_ex
@@ -15071,8 +15310,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s998_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s998_ _s997_) with
+ else if match (_s1002_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1002_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOADD, build_ex
@@ -15081,8 +15320,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1002_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1002_ _s997_) with
+ else if match (_s1006_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1006_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOXOR, build_ex
@@ -15091,8 +15330,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1006_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1006_ _s997_) with
+ else if match (_s1010_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1010_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOAND, build_ex
@@ -15101,8 +15340,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1010_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1010_ _s997_) with
+ else if match (_s1014_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1014_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOOR, build_ex
@@ -15111,8 +15350,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1014_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1014_ _s997_) with
+ else if match (_s1018_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1018_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMIN, build_ex
@@ -15121,8 +15360,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1018_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1018_ _s997_) with
+ else if match (_s1022_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1022_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMAX, build_ex
@@ -15131,8 +15370,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1022_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1022_ _s997_) with
+ else if match (_s1026_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1026_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMINU, build_ex
@@ -15141,8 +15380,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1026_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1026_ _s997_) with
+ else if match (_s1030_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1030_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMAXU, build_ex
@@ -15226,35 +15465,35 @@ Definition mul_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "mulhu" then true
else false.
+Definition _s1046_ (_s1047_ : string) : option string :=
+ let _s1048_ := _s1047_ in
+ if string_startswith _s1048_ "mulhu" then
+ match (string_drop _s1048_ (projT1 (string_length "mulhu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1042_ (_s1043_ : string) : option string :=
let _s1044_ := _s1043_ in
- if string_startswith _s1044_ "mulhu" then
- match (string_drop _s1044_ (projT1 (string_length "mulhu"))) with | s_ => Some s_ end
+ if string_startswith _s1044_ "mulhsu" then
+ match (string_drop _s1044_ (projT1 (string_length "mulhsu"))) with | s_ => Some s_ end
else None.
Definition _s1038_ (_s1039_ : string) : option string :=
let _s1040_ := _s1039_ in
- if string_startswith _s1040_ "mulhsu" then
- match (string_drop _s1040_ (projT1 (string_length "mulhsu"))) with | s_ => Some s_ end
+ if string_startswith _s1040_ "mulh" then
+ match (string_drop _s1040_ (projT1 (string_length "mulh"))) with | s_ => Some s_ end
else None.
Definition _s1034_ (_s1035_ : string) : option string :=
let _s1036_ := _s1035_ in
- if string_startswith _s1036_ "mulh" then
- match (string_drop _s1036_ (projT1 (string_length "mulh"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1030_ (_s1031_ : string) : option string :=
- let _s1032_ := _s1031_ in
- if string_startswith _s1032_ "mul" then
- match (string_drop _s1032_ (projT1 (string_length "mul"))) with | s_ => Some s_ end
+ if string_startswith _s1036_ "mul" then
+ match (string_drop _s1036_ (projT1 (string_length "mul"))) with | s_ => Some s_ end
else None.
Definition mul_mnemonic_matches_prefix (arg_ : string)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1033_ := arg_ in
- (if match (_s1030_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1030_ _s1033_) with
+ let _s1037_ := arg_ in
+ (if match (_s1034_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1034_ _s1037_) with
| Some s_ =>
returnm (Some
((false, true, true), build_ex
@@ -15263,8 +15502,8 @@ Definition mul_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1034_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1034_ _s1033_) with
+ else if match (_s1038_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1038_ _s1037_) with
| Some s_ =>
returnm (Some
((true, true, true), build_ex
@@ -15273,8 +15512,8 @@ Definition mul_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1038_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1038_ _s1033_) with
+ else if match (_s1042_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1042_ _s1037_) with
| Some s_ =>
returnm (Some
((true, true, false), build_ex
@@ -15283,8 +15522,8 @@ Definition mul_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1042_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1042_ _s1033_) with
+ else if match (_s1046_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1046_ _s1037_) with
| Some s_ =>
returnm (Some
((true, false, false), build_ex
@@ -15315,23 +15554,23 @@ Definition maybe_not_u_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s1050_ (_s1051_ : string) : option string :=
- let _s1052_ := _s1051_ in
- if string_startswith _s1052_ "" then
- match (string_drop _s1052_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s1054_ (_s1055_ : string) : option string :=
+ let _s1056_ := _s1055_ in
+ if string_startswith _s1056_ "" then
+ match (string_drop _s1056_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s1046_ (_s1047_ : string) : option string :=
- let _s1048_ := _s1047_ in
- if string_startswith _s1048_ "u" then
- match (string_drop _s1048_ (projT1 (string_length "u"))) with | s_ => Some s_ end
+Definition _s1050_ (_s1051_ : string) : option string :=
+ let _s1052_ := _s1051_ in
+ if string_startswith _s1052_ "u" then
+ match (string_drop _s1052_ (projT1 (string_length "u"))) with | s_ => Some s_ end
else None.
Definition maybe_not_u_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1049_ := arg_ in
- (if match (_s1046_ _s1049_) with | Some s_ => true | _ => false end then
- (match (_s1046_ _s1049_) with
+ let _s1053_ := arg_ in
+ (if match (_s1050_ _s1053_) with | Some s_ => true | _ => false end then
+ (match (_s1050_ _s1053_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -15340,8 +15579,8 @@ Definition maybe_not_u_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1050_ _s1049_) with | Some s_ => true | _ => false end then
- (match (_s1050_ _s1049_) with
+ else if match (_s1054_ _s1053_) with | Some s_ => true | _ => false end then
+ (match (_s1054_ _s1053_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -15380,7 +15619,7 @@ Definition encdec_csrop_backwards_matches (arg_ : mword 2) : bool :=
Definition readCSR (csr : mword 12) : M (mword 32) :=
(match (csr, 32) with
- | (b__0, g__311) =>
+ | (b__0, g__325) =>
(if eq_vec b__0 (Ox"F11" : mword 12) then
((read_reg mvendorid_ref) : M (mword 32)) >>= fun w__0 : mword 32 =>
returnm (EXTZ 32 w__0)
@@ -15407,28 +15646,30 @@ Definition readCSR (csr : mword 12) : M (mword 32) :=
else if eq_vec b__0 (Ox"306" : mword 12) then
read_reg mcounteren_ref >>= fun w__10 : Counteren =>
returnm (EXTZ 32 (_get_Counteren_bits w__10))
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"310" : mword 12)) (Z.eqb g__325 32)) then
+ read_reg mstatush_ref >>= fun w__11 : Mstatush => returnm (_get_Mstatush_bits w__11)
else if eq_vec b__0 (Ox"320" : mword 12) then
- read_reg mcountinhibit_ref >>= fun w__11 : Counterin =>
- returnm (EXTZ 32 (_get_Counterin_bits w__11))
+ read_reg mcountinhibit_ref >>= fun w__12 : Counterin =>
+ returnm (EXTZ 32 (_get_Counterin_bits w__12))
else if eq_vec b__0 (Ox"340" : mword 12) then
((read_reg mscratch_ref) : M (mword 32))
: M (mword 32)
else if eq_vec b__0 (Ox"341" : mword 12) then
- (get_xret_target Machine) >>= fun w__13 : mword 32 =>
- (pc_alignment_mask tt) >>= fun w__14 : mword 32 => returnm (and_vec w__13 w__14)
+ (get_xret_target Machine) >>= fun w__14 : mword 32 =>
+ (pc_alignment_mask tt) >>= fun w__15 : mword 32 => returnm (and_vec w__14 w__15)
else if eq_vec b__0 (Ox"342" : mword 12) then
- read_reg mcause_ref >>= fun w__15 : Mcause => returnm (_get_Mcause_bits w__15)
+ read_reg mcause_ref >>= fun w__16 : Mcause => returnm (_get_Mcause_bits w__16)
else if eq_vec b__0 (Ox"343" : mword 12) then
((read_reg mtval_ref) : M (mword 32))
: M (mword 32)
else if eq_vec b__0 (Ox"344" : mword 12) then
- read_reg mip_ref >>= fun w__17 : Minterrupts => returnm (_get_Minterrupts_bits w__17)
+ read_reg mip_ref >>= fun w__18 : Minterrupts => returnm (_get_Minterrupts_bits w__18)
else if eq_vec b__0 (Ox"3A0" : mword 12) then (pmpReadCfgReg 0) : M (mword 32)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A1" : mword 12)) (Z.eqb g__311 32)) then
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A1" : mword 12)) (Z.eqb g__325 32)) then
(pmpReadCfgReg 1)
: M (mword 32)
else if eq_vec b__0 (Ox"3A2" : mword 12) then (pmpReadCfgReg 2) : M (mword 32)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A3" : mword 12)) (Z.eqb g__311 32)) then
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A3" : mword 12)) (Z.eqb g__325 32)) then
(pmpReadCfgReg 3)
: M (mword 32)
else if eq_vec b__0 (Ox"3B0" : mword 12) then
@@ -15480,74 +15721,74 @@ Definition readCSR (csr : mword 12) : M (mword 32) :=
((read_reg pmpaddr15_ref) : M (mword 32))
: M (mword 32)
else if eq_vec b__0 (Ox"B00" : mword 12) then
- ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__38 : mword 64 =>
- returnm (subrange_vec_dec w__38 (Z.sub 32 1) 0)
- else if eq_vec b__0 (Ox"B02" : mword 12) then
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__39 : mword 64 =>
+ ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__39 : mword 64 =>
returnm (subrange_vec_dec w__39 (Z.sub 32 1) 0)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B80" : mword 12)) (Z.eqb g__311 32)) then
- ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__40 : mword 64 =>
- returnm (subrange_vec_dec w__40 63 32)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B82" : mword 12)) (Z.eqb g__311 32)) then
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__41 : mword 64 =>
+ else if eq_vec b__0 (Ox"B02" : mword 12) then
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__40 : mword 64 =>
+ returnm (subrange_vec_dec w__40 (Z.sub 32 1) 0)
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B80" : mword 12)) (Z.eqb g__325 32)) then
+ ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__41 : mword 64 =>
returnm (subrange_vec_dec w__41 63 32)
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B82" : mword 12)) (Z.eqb g__325 32)) then
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__42 : mword 64 =>
+ returnm (subrange_vec_dec w__42 63 32)
else if eq_vec b__0 (Ox"7A0" : mword 12) then
- ((read_reg tselect_ref) : M (mword 32)) >>= fun w__42 : mword 32 =>
- returnm (not_vec w__42)
+ ((read_reg tselect_ref) : M (mword 32)) >>= fun w__43 : mword 32 =>
+ returnm (not_vec w__43)
else if eq_vec b__0 (Ox"100" : mword 12) then
- read_reg mstatus_ref >>= fun w__43 : Mstatus =>
- returnm (_get_Sstatus_bits (lower_mstatus w__43))
+ read_reg mstatus_ref >>= fun w__44 : Mstatus =>
+ returnm (_get_Sstatus_bits (lower_mstatus w__44))
else if eq_vec b__0 (Ox"102" : mword 12) then
- read_reg sedeleg_ref >>= fun w__44 : Sedeleg => returnm (_get_Sedeleg_bits w__44)
+ read_reg sedeleg_ref >>= fun w__45 : Sedeleg => returnm (_get_Sedeleg_bits w__45)
else if eq_vec b__0 (Ox"103" : mword 12) then
- read_reg sideleg_ref >>= fun w__45 : Sinterrupts => returnm (_get_Sinterrupts_bits w__45)
+ read_reg sideleg_ref >>= fun w__46 : Sinterrupts => returnm (_get_Sinterrupts_bits w__46)
else if eq_vec b__0 (Ox"104" : mword 12) then
- read_reg mie_ref >>= fun w__46 : Minterrupts =>
- read_reg mideleg_ref >>= fun w__47 : Minterrupts =>
- returnm (_get_Sinterrupts_bits (lower_mie w__46 w__47))
+ read_reg mie_ref >>= fun w__47 : Minterrupts =>
+ read_reg mideleg_ref >>= fun w__48 : Minterrupts =>
+ returnm (_get_Sinterrupts_bits (lower_mie w__47 w__48))
else if eq_vec b__0 (Ox"105" : mword 12) then (get_stvec tt) : M (mword 32)
else if eq_vec b__0 (Ox"106" : mword 12) then
- read_reg scounteren_ref >>= fun w__49 : Counteren =>
- returnm (EXTZ 32 (_get_Counteren_bits w__49))
+ read_reg scounteren_ref >>= fun w__50 : Counteren =>
+ returnm (EXTZ 32 (_get_Counteren_bits w__50))
else if eq_vec b__0 (Ox"140" : mword 12) then
((read_reg sscratch_ref) : M (mword 32))
: M (mword 32)
else if eq_vec b__0 (Ox"141" : mword 12) then
- (get_xret_target Supervisor) >>= fun w__51 : mword 32 =>
- (pc_alignment_mask tt) >>= fun w__52 : mword 32 => returnm (and_vec w__51 w__52)
+ (get_xret_target Supervisor) >>= fun w__52 : mword 32 =>
+ (pc_alignment_mask tt) >>= fun w__53 : mword 32 => returnm (and_vec w__52 w__53)
else if eq_vec b__0 (Ox"142" : mword 12) then
- read_reg scause_ref >>= fun w__53 : Mcause => returnm (_get_Mcause_bits w__53)
+ read_reg scause_ref >>= fun w__54 : Mcause => returnm (_get_Mcause_bits w__54)
else if eq_vec b__0 (Ox"143" : mword 12) then
((read_reg stval_ref) : M (mword 32))
: M (mword 32)
else if eq_vec b__0 (Ox"144" : mword 12) then
- read_reg mip_ref >>= fun w__55 : Minterrupts =>
- read_reg mideleg_ref >>= fun w__56 : Minterrupts =>
- returnm (_get_Sinterrupts_bits (lower_mip w__55 w__56))
+ read_reg mip_ref >>= fun w__56 : Minterrupts =>
+ read_reg mideleg_ref >>= fun w__57 : Minterrupts =>
+ returnm (_get_Sinterrupts_bits (lower_mip w__56 w__57))
else if eq_vec b__0 (Ox"180" : mword 12) then
((read_reg satp_ref) : M (mword 32))
: M (mword 32)
else if eq_vec b__0 (Ox"C00" : mword 12) then
- ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__58 : mword 64 =>
- returnm (subrange_vec_dec w__58 (Z.sub 32 1) 0)
- else if eq_vec b__0 (Ox"C01" : mword 12) then
- ((read_reg mtime_ref) : M (mword 64)) >>= fun w__59 : mword 64 =>
+ ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__59 : mword 64 =>
returnm (subrange_vec_dec w__59 (Z.sub 32 1) 0)
- else if eq_vec b__0 (Ox"C02" : mword 12) then
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__60 : mword 64 =>
+ else if eq_vec b__0 (Ox"C01" : mword 12) then
+ ((read_reg mtime_ref) : M (mword 64)) >>= fun w__60 : mword 64 =>
returnm (subrange_vec_dec w__60 (Z.sub 32 1) 0)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"C80" : mword 12)) (Z.eqb g__311 32)) then
- ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__61 : mword 64 =>
- returnm (subrange_vec_dec w__61 63 32)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"C81" : mword 12)) (Z.eqb g__311 32)) then
- ((read_reg mtime_ref) : M (mword 64)) >>= fun w__62 : mword 64 =>
+ else if eq_vec b__0 (Ox"C02" : mword 12) then
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__61 : mword 64 =>
+ returnm (subrange_vec_dec w__61 (Z.sub 32 1) 0)
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"C80" : mword 12)) (Z.eqb g__325 32)) then
+ ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__62 : mword 64 =>
returnm (subrange_vec_dec w__62 63 32)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"C82" : mword 12)) (Z.eqb g__311 32)) then
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__63 : mword 64 =>
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"C81" : mword 12)) (Z.eqb g__325 32)) then
+ ((read_reg mtime_ref) : M (mword 64)) >>= fun w__63 : mword 64 =>
returnm (subrange_vec_dec w__63 63 32)
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"C82" : mword 12)) (Z.eqb g__325 32)) then
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__64 : mword 64 =>
+ returnm (subrange_vec_dec w__64 63 32)
else
- (ext_read_CSR csr) >>= fun w__64 : option (mword 32) =>
- returnm (match w__64 with
+ (ext_read_CSR csr) >>= fun w__65 : option (mword 32) =>
+ returnm (match w__65 with
| Some res => res
| None =>
let '_ := (print_bits "unhandled read to CSR " csr) : unit in
@@ -15566,7 +15807,7 @@ Definition readCSR (csr : mword 12) : M (mword 32) :=
Definition writeCSR (csr : mword 12) (value : mword 32) : M (unit) :=
(match (csr, 32) with
- | (b__0, g__310) =>
+ | (b__0, g__324) =>
(if eq_vec b__0 (Ox"300" : mword 12) then
read_reg mstatus_ref >>= fun w__0 : Mstatus =>
(legalize_mstatus w__0 value) >>= fun w__1 : Mstatus =>
@@ -15599,226 +15840,229 @@ Definition writeCSR (csr : mword 12) (value : mword 32) : M (unit) :=
write_reg mcounteren_ref (legalize_mcounteren w__14 value) >>
read_reg mcounteren_ref >>= fun w__15 : Counteren =>
returnm (Some (EXTZ 32 (_get_Counteren_bits w__15)))
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"310" : mword 12)) (Z.eqb g__324 32)) then
+ read_reg mstatush_ref >>= fun w__16 : Mstatush =>
+ returnm (Some (_get_Mstatush_bits w__16))
else if eq_vec b__0 (Ox"320" : mword 12) then
- read_reg mcountinhibit_ref >>= fun w__16 : Counterin =>
- write_reg mcountinhibit_ref (legalize_mcountinhibit w__16 value) >>
read_reg mcountinhibit_ref >>= fun w__17 : Counterin =>
- returnm (Some (EXTZ 32 (_get_Counterin_bits w__17)))
+ write_reg mcountinhibit_ref (legalize_mcountinhibit w__17 value) >>
+ read_reg mcountinhibit_ref >>= fun w__18 : Counterin =>
+ returnm (Some (EXTZ 32 (_get_Counterin_bits w__18)))
else if eq_vec b__0 (Ox"340" : mword 12) then
write_reg mscratch_ref value >>
- ((read_reg mscratch_ref) : M (mword 32)) >>= fun w__18 : mword 32 => returnm (Some w__18)
+ ((read_reg mscratch_ref) : M (mword 32)) >>= fun w__19 : mword 32 => returnm (Some w__19)
else if eq_vec b__0 (Ox"341" : mword 12) then
- (set_xret_target Machine value) >>= fun w__19 : mword 32 => returnm (Some w__19)
+ (set_xret_target Machine value) >>= fun w__20 : mword 32 => returnm (Some w__20)
else if eq_vec b__0 (Ox"342" : mword 12) then
(_set_Mcause_bits mcause_ref value) >>
- read_reg mcause_ref >>= fun w__20 : Mcause => returnm (Some (_get_Mcause_bits w__20))
+ read_reg mcause_ref >>= fun w__21 : Mcause => returnm (Some (_get_Mcause_bits w__21))
else if eq_vec b__0 (Ox"343" : mword 12) then
write_reg mtval_ref value >>
- ((read_reg mtval_ref) : M (mword 32)) >>= fun w__21 : mword 32 => returnm (Some w__21)
+ ((read_reg mtval_ref) : M (mword 32)) >>= fun w__22 : mword 32 => returnm (Some w__22)
else if eq_vec b__0 (Ox"344" : mword 12) then
- read_reg mip_ref >>= fun w__22 : Minterrupts =>
- (legalize_mip w__22 value) >>= fun w__23 : Minterrupts =>
- write_reg mip_ref w__23 >>
- read_reg mip_ref >>= fun w__24 : Minterrupts =>
- returnm (Some (_get_Minterrupts_bits w__24))
+ read_reg mip_ref >>= fun w__23 : Minterrupts =>
+ (legalize_mip w__23 value) >>= fun w__24 : Minterrupts =>
+ write_reg mip_ref w__24 >>
+ read_reg mip_ref >>= fun w__25 : Minterrupts =>
+ returnm (Some (_get_Minterrupts_bits w__25))
else if eq_vec b__0 (Ox"3A0" : mword 12) then
(pmpWriteCfgReg 0 value) >>
- (pmpReadCfgReg 0) >>= fun w__25 : mword 32 => returnm (Some w__25)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A1" : mword 12)) (Z.eqb g__310 32)) then
+ (pmpReadCfgReg 0) >>= fun w__26 : mword 32 => returnm (Some w__26)
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A1" : mword 12)) (Z.eqb g__324 32)) then
(pmpWriteCfgReg 1 value) >>
- (pmpReadCfgReg 1) >>= fun w__26 : mword 32 => returnm (Some w__26)
+ (pmpReadCfgReg 1) >>= fun w__27 : mword 32 => returnm (Some w__27)
else if eq_vec b__0 (Ox"3A2" : mword 12) then
(pmpWriteCfgReg 2 value) >>
- (pmpReadCfgReg 2) >>= fun w__27 : mword 32 => returnm (Some w__27)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A3" : mword 12)) (Z.eqb g__310 32)) then
+ (pmpReadCfgReg 2) >>= fun w__28 : mword 32 => returnm (Some w__28)
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"3A3" : mword 12)) (Z.eqb g__324 32)) then
(pmpWriteCfgReg 3 value) >>
- (pmpReadCfgReg 3) >>= fun w__28 : mword 32 => returnm (Some w__28)
+ (pmpReadCfgReg 3) >>= fun w__29 : mword 32 => returnm (Some w__29)
else if eq_vec b__0 (Ox"3B0" : mword 12) then
- read_reg pmp0cfg_ref >>= fun w__29 : Pmpcfg_ent =>
- read_reg pmp1cfg_ref >>= fun w__30 : Pmpcfg_ent =>
- (pmpTORLocked w__30) >>= fun w__31 : bool =>
- ((read_reg pmpaddr0_ref) : M (mword 32)) >>= fun w__32 : mword 32 =>
- write_reg pmpaddr0_ref (pmpWriteAddr (pmpLocked w__29) w__31 w__32 value) >>
- ((read_reg pmpaddr0_ref) : M (mword 32)) >>= fun w__33 : mword 32 => returnm (Some w__33)
+ read_reg pmp0cfg_ref >>= fun w__30 : Pmpcfg_ent =>
+ read_reg pmp1cfg_ref >>= fun w__31 : Pmpcfg_ent =>
+ (pmpTORLocked w__31) >>= fun w__32 : bool =>
+ ((read_reg pmpaddr0_ref) : M (mword 32)) >>= fun w__33 : mword 32 =>
+ write_reg pmpaddr0_ref (pmpWriteAddr (pmpLocked w__30) w__32 w__33 value) >>
+ ((read_reg pmpaddr0_ref) : M (mword 32)) >>= fun w__34 : mword 32 => returnm (Some w__34)
else if eq_vec b__0 (Ox"3B1" : mword 12) then
- read_reg pmp1cfg_ref >>= fun w__34 : Pmpcfg_ent =>
- read_reg pmp2cfg_ref >>= fun w__35 : Pmpcfg_ent =>
- (pmpTORLocked w__35) >>= fun w__36 : bool =>
- ((read_reg pmpaddr1_ref) : M (mword 32)) >>= fun w__37 : mword 32 =>
- write_reg pmpaddr1_ref (pmpWriteAddr (pmpLocked w__34) w__36 w__37 value) >>
- ((read_reg pmpaddr1_ref) : M (mword 32)) >>= fun w__38 : mword 32 => returnm (Some w__38)
+ read_reg pmp1cfg_ref >>= fun w__35 : Pmpcfg_ent =>
+ read_reg pmp2cfg_ref >>= fun w__36 : Pmpcfg_ent =>
+ (pmpTORLocked w__36) >>= fun w__37 : bool =>
+ ((read_reg pmpaddr1_ref) : M (mword 32)) >>= fun w__38 : mword 32 =>
+ write_reg pmpaddr1_ref (pmpWriteAddr (pmpLocked w__35) w__37 w__38 value) >>
+ ((read_reg pmpaddr1_ref) : M (mword 32)) >>= fun w__39 : mword 32 => returnm (Some w__39)
else if eq_vec b__0 (Ox"3B2" : mword 12) then
- read_reg pmp2cfg_ref >>= fun w__39 : Pmpcfg_ent =>
- read_reg pmp3cfg_ref >>= fun w__40 : Pmpcfg_ent =>
- (pmpTORLocked w__40) >>= fun w__41 : bool =>
- ((read_reg pmpaddr2_ref) : M (mword 32)) >>= fun w__42 : mword 32 =>
- write_reg pmpaddr2_ref (pmpWriteAddr (pmpLocked w__39) w__41 w__42 value) >>
- ((read_reg pmpaddr2_ref) : M (mword 32)) >>= fun w__43 : mword 32 => returnm (Some w__43)
+ read_reg pmp2cfg_ref >>= fun w__40 : Pmpcfg_ent =>
+ read_reg pmp3cfg_ref >>= fun w__41 : Pmpcfg_ent =>
+ (pmpTORLocked w__41) >>= fun w__42 : bool =>
+ ((read_reg pmpaddr2_ref) : M (mword 32)) >>= fun w__43 : mword 32 =>
+ write_reg pmpaddr2_ref (pmpWriteAddr (pmpLocked w__40) w__42 w__43 value) >>
+ ((read_reg pmpaddr2_ref) : M (mword 32)) >>= fun w__44 : mword 32 => returnm (Some w__44)
else if eq_vec b__0 (Ox"3B3" : mword 12) then
- read_reg pmp3cfg_ref >>= fun w__44 : Pmpcfg_ent =>
- read_reg pmp4cfg_ref >>= fun w__45 : Pmpcfg_ent =>
- (pmpTORLocked w__45) >>= fun w__46 : bool =>
- ((read_reg pmpaddr3_ref) : M (mword 32)) >>= fun w__47 : mword 32 =>
- write_reg pmpaddr3_ref (pmpWriteAddr (pmpLocked w__44) w__46 w__47 value) >>
- ((read_reg pmpaddr3_ref) : M (mword 32)) >>= fun w__48 : mword 32 => returnm (Some w__48)
+ read_reg pmp3cfg_ref >>= fun w__45 : Pmpcfg_ent =>
+ read_reg pmp4cfg_ref >>= fun w__46 : Pmpcfg_ent =>
+ (pmpTORLocked w__46) >>= fun w__47 : bool =>
+ ((read_reg pmpaddr3_ref) : M (mword 32)) >>= fun w__48 : mword 32 =>
+ write_reg pmpaddr3_ref (pmpWriteAddr (pmpLocked w__45) w__47 w__48 value) >>
+ ((read_reg pmpaddr3_ref) : M (mword 32)) >>= fun w__49 : mword 32 => returnm (Some w__49)
else if eq_vec b__0 (Ox"3B4" : mword 12) then
- read_reg pmp4cfg_ref >>= fun w__49 : Pmpcfg_ent =>
- read_reg pmp5cfg_ref >>= fun w__50 : Pmpcfg_ent =>
- (pmpTORLocked w__50) >>= fun w__51 : bool =>
- ((read_reg pmpaddr4_ref) : M (mword 32)) >>= fun w__52 : mword 32 =>
- write_reg pmpaddr4_ref (pmpWriteAddr (pmpLocked w__49) w__51 w__52 value) >>
- ((read_reg pmpaddr4_ref) : M (mword 32)) >>= fun w__53 : mword 32 => returnm (Some w__53)
+ read_reg pmp4cfg_ref >>= fun w__50 : Pmpcfg_ent =>
+ read_reg pmp5cfg_ref >>= fun w__51 : Pmpcfg_ent =>
+ (pmpTORLocked w__51) >>= fun w__52 : bool =>
+ ((read_reg pmpaddr4_ref) : M (mword 32)) >>= fun w__53 : mword 32 =>
+ write_reg pmpaddr4_ref (pmpWriteAddr (pmpLocked w__50) w__52 w__53 value) >>
+ ((read_reg pmpaddr4_ref) : M (mword 32)) >>= fun w__54 : mword 32 => returnm (Some w__54)
else if eq_vec b__0 (Ox"3B5" : mword 12) then
- read_reg pmp5cfg_ref >>= fun w__54 : Pmpcfg_ent =>
- read_reg pmp6cfg_ref >>= fun w__55 : Pmpcfg_ent =>
- (pmpTORLocked w__55) >>= fun w__56 : bool =>
- ((read_reg pmpaddr5_ref) : M (mword 32)) >>= fun w__57 : mword 32 =>
- write_reg pmpaddr5_ref (pmpWriteAddr (pmpLocked w__54) w__56 w__57 value) >>
- ((read_reg pmpaddr5_ref) : M (mword 32)) >>= fun w__58 : mword 32 => returnm (Some w__58)
+ read_reg pmp5cfg_ref >>= fun w__55 : Pmpcfg_ent =>
+ read_reg pmp6cfg_ref >>= fun w__56 : Pmpcfg_ent =>
+ (pmpTORLocked w__56) >>= fun w__57 : bool =>
+ ((read_reg pmpaddr5_ref) : M (mword 32)) >>= fun w__58 : mword 32 =>
+ write_reg pmpaddr5_ref (pmpWriteAddr (pmpLocked w__55) w__57 w__58 value) >>
+ ((read_reg pmpaddr5_ref) : M (mword 32)) >>= fun w__59 : mword 32 => returnm (Some w__59)
else if eq_vec b__0 (Ox"3B6" : mword 12) then
- read_reg pmp6cfg_ref >>= fun w__59 : Pmpcfg_ent =>
- read_reg pmp7cfg_ref >>= fun w__60 : Pmpcfg_ent =>
- (pmpTORLocked w__60) >>= fun w__61 : bool =>
- ((read_reg pmpaddr6_ref) : M (mword 32)) >>= fun w__62 : mword 32 =>
- write_reg pmpaddr6_ref (pmpWriteAddr (pmpLocked w__59) w__61 w__62 value) >>
- ((read_reg pmpaddr6_ref) : M (mword 32)) >>= fun w__63 : mword 32 => returnm (Some w__63)
+ read_reg pmp6cfg_ref >>= fun w__60 : Pmpcfg_ent =>
+ read_reg pmp7cfg_ref >>= fun w__61 : Pmpcfg_ent =>
+ (pmpTORLocked w__61) >>= fun w__62 : bool =>
+ ((read_reg pmpaddr6_ref) : M (mword 32)) >>= fun w__63 : mword 32 =>
+ write_reg pmpaddr6_ref (pmpWriteAddr (pmpLocked w__60) w__62 w__63 value) >>
+ ((read_reg pmpaddr6_ref) : M (mword 32)) >>= fun w__64 : mword 32 => returnm (Some w__64)
else if eq_vec b__0 (Ox"3B7" : mword 12) then
- read_reg pmp7cfg_ref >>= fun w__64 : Pmpcfg_ent =>
- read_reg pmp8cfg_ref >>= fun w__65 : Pmpcfg_ent =>
- (pmpTORLocked w__65) >>= fun w__66 : bool =>
- ((read_reg pmpaddr7_ref) : M (mword 32)) >>= fun w__67 : mword 32 =>
- write_reg pmpaddr7_ref (pmpWriteAddr (pmpLocked w__64) w__66 w__67 value) >>
- ((read_reg pmpaddr7_ref) : M (mword 32)) >>= fun w__68 : mword 32 => returnm (Some w__68)
+ read_reg pmp7cfg_ref >>= fun w__65 : Pmpcfg_ent =>
+ read_reg pmp8cfg_ref >>= fun w__66 : Pmpcfg_ent =>
+ (pmpTORLocked w__66) >>= fun w__67 : bool =>
+ ((read_reg pmpaddr7_ref) : M (mword 32)) >>= fun w__68 : mword 32 =>
+ write_reg pmpaddr7_ref (pmpWriteAddr (pmpLocked w__65) w__67 w__68 value) >>
+ ((read_reg pmpaddr7_ref) : M (mword 32)) >>= fun w__69 : mword 32 => returnm (Some w__69)
else if eq_vec b__0 (Ox"3B8" : mword 12) then
- read_reg pmp8cfg_ref >>= fun w__69 : Pmpcfg_ent =>
- read_reg pmp9cfg_ref >>= fun w__70 : Pmpcfg_ent =>
- (pmpTORLocked w__70) >>= fun w__71 : bool =>
- ((read_reg pmpaddr8_ref) : M (mword 32)) >>= fun w__72 : mword 32 =>
- write_reg pmpaddr8_ref (pmpWriteAddr (pmpLocked w__69) w__71 w__72 value) >>
- ((read_reg pmpaddr8_ref) : M (mword 32)) >>= fun w__73 : mword 32 => returnm (Some w__73)
+ read_reg pmp8cfg_ref >>= fun w__70 : Pmpcfg_ent =>
+ read_reg pmp9cfg_ref >>= fun w__71 : Pmpcfg_ent =>
+ (pmpTORLocked w__71) >>= fun w__72 : bool =>
+ ((read_reg pmpaddr8_ref) : M (mword 32)) >>= fun w__73 : mword 32 =>
+ write_reg pmpaddr8_ref (pmpWriteAddr (pmpLocked w__70) w__72 w__73 value) >>
+ ((read_reg pmpaddr8_ref) : M (mword 32)) >>= fun w__74 : mword 32 => returnm (Some w__74)
else if eq_vec b__0 (Ox"3B9" : mword 12) then
- read_reg pmp9cfg_ref >>= fun w__74 : Pmpcfg_ent =>
- read_reg pmp10cfg_ref >>= fun w__75 : Pmpcfg_ent =>
- (pmpTORLocked w__75) >>= fun w__76 : bool =>
- ((read_reg pmpaddr9_ref) : M (mword 32)) >>= fun w__77 : mword 32 =>
- write_reg pmpaddr9_ref (pmpWriteAddr (pmpLocked w__74) w__76 w__77 value) >>
- ((read_reg pmpaddr9_ref) : M (mword 32)) >>= fun w__78 : mword 32 => returnm (Some w__78)
+ read_reg pmp9cfg_ref >>= fun w__75 : Pmpcfg_ent =>
+ read_reg pmp10cfg_ref >>= fun w__76 : Pmpcfg_ent =>
+ (pmpTORLocked w__76) >>= fun w__77 : bool =>
+ ((read_reg pmpaddr9_ref) : M (mword 32)) >>= fun w__78 : mword 32 =>
+ write_reg pmpaddr9_ref (pmpWriteAddr (pmpLocked w__75) w__77 w__78 value) >>
+ ((read_reg pmpaddr9_ref) : M (mword 32)) >>= fun w__79 : mword 32 => returnm (Some w__79)
else if eq_vec b__0 (Ox"3BA" : mword 12) then
- read_reg pmp10cfg_ref >>= fun w__79 : Pmpcfg_ent =>
- read_reg pmp11cfg_ref >>= fun w__80 : Pmpcfg_ent =>
- (pmpTORLocked w__80) >>= fun w__81 : bool =>
- ((read_reg pmpaddr10_ref) : M (mword 32)) >>= fun w__82 : mword 32 =>
- write_reg pmpaddr10_ref (pmpWriteAddr (pmpLocked w__79) w__81 w__82 value) >>
+ read_reg pmp10cfg_ref >>= fun w__80 : Pmpcfg_ent =>
+ read_reg pmp11cfg_ref >>= fun w__81 : Pmpcfg_ent =>
+ (pmpTORLocked w__81) >>= fun w__82 : bool =>
((read_reg pmpaddr10_ref) : M (mword 32)) >>= fun w__83 : mword 32 =>
- returnm (Some w__83)
+ write_reg pmpaddr10_ref (pmpWriteAddr (pmpLocked w__80) w__82 w__83 value) >>
+ ((read_reg pmpaddr10_ref) : M (mword 32)) >>= fun w__84 : mword 32 =>
+ returnm (Some w__84)
else if eq_vec b__0 (Ox"3BB" : mword 12) then
- read_reg pmp11cfg_ref >>= fun w__84 : Pmpcfg_ent =>
- read_reg pmp12cfg_ref >>= fun w__85 : Pmpcfg_ent =>
- (pmpTORLocked w__85) >>= fun w__86 : bool =>
- ((read_reg pmpaddr11_ref) : M (mword 32)) >>= fun w__87 : mword 32 =>
- write_reg pmpaddr11_ref (pmpWriteAddr (pmpLocked w__84) w__86 w__87 value) >>
+ read_reg pmp11cfg_ref >>= fun w__85 : Pmpcfg_ent =>
+ read_reg pmp12cfg_ref >>= fun w__86 : Pmpcfg_ent =>
+ (pmpTORLocked w__86) >>= fun w__87 : bool =>
((read_reg pmpaddr11_ref) : M (mword 32)) >>= fun w__88 : mword 32 =>
- returnm (Some w__88)
+ write_reg pmpaddr11_ref (pmpWriteAddr (pmpLocked w__85) w__87 w__88 value) >>
+ ((read_reg pmpaddr11_ref) : M (mword 32)) >>= fun w__89 : mword 32 =>
+ returnm (Some w__89)
else if eq_vec b__0 (Ox"3BC" : mword 12) then
- read_reg pmp12cfg_ref >>= fun w__89 : Pmpcfg_ent =>
- read_reg pmp13cfg_ref >>= fun w__90 : Pmpcfg_ent =>
- (pmpTORLocked w__90) >>= fun w__91 : bool =>
- ((read_reg pmpaddr12_ref) : M (mword 32)) >>= fun w__92 : mword 32 =>
- write_reg pmpaddr12_ref (pmpWriteAddr (pmpLocked w__89) w__91 w__92 value) >>
+ read_reg pmp12cfg_ref >>= fun w__90 : Pmpcfg_ent =>
+ read_reg pmp13cfg_ref >>= fun w__91 : Pmpcfg_ent =>
+ (pmpTORLocked w__91) >>= fun w__92 : bool =>
((read_reg pmpaddr12_ref) : M (mword 32)) >>= fun w__93 : mword 32 =>
- returnm (Some w__93)
+ write_reg pmpaddr12_ref (pmpWriteAddr (pmpLocked w__90) w__92 w__93 value) >>
+ ((read_reg pmpaddr12_ref) : M (mword 32)) >>= fun w__94 : mword 32 =>
+ returnm (Some w__94)
else if eq_vec b__0 (Ox"3BD" : mword 12) then
- read_reg pmp13cfg_ref >>= fun w__94 : Pmpcfg_ent =>
- read_reg pmp14cfg_ref >>= fun w__95 : Pmpcfg_ent =>
- (pmpTORLocked w__95) >>= fun w__96 : bool =>
- ((read_reg pmpaddr13_ref) : M (mword 32)) >>= fun w__97 : mword 32 =>
- write_reg pmpaddr13_ref (pmpWriteAddr (pmpLocked w__94) w__96 w__97 value) >>
+ read_reg pmp13cfg_ref >>= fun w__95 : Pmpcfg_ent =>
+ read_reg pmp14cfg_ref >>= fun w__96 : Pmpcfg_ent =>
+ (pmpTORLocked w__96) >>= fun w__97 : bool =>
((read_reg pmpaddr13_ref) : M (mword 32)) >>= fun w__98 : mword 32 =>
- returnm (Some w__98)
+ write_reg pmpaddr13_ref (pmpWriteAddr (pmpLocked w__95) w__97 w__98 value) >>
+ ((read_reg pmpaddr13_ref) : M (mword 32)) >>= fun w__99 : mword 32 =>
+ returnm (Some w__99)
else if eq_vec b__0 (Ox"3BE" : mword 12) then
- read_reg pmp14cfg_ref >>= fun w__99 : Pmpcfg_ent =>
- read_reg pmp15cfg_ref >>= fun w__100 : Pmpcfg_ent =>
- (pmpTORLocked w__100) >>= fun w__101 : bool =>
- ((read_reg pmpaddr14_ref) : M (mword 32)) >>= fun w__102 : mword 32 =>
- write_reg pmpaddr14_ref (pmpWriteAddr (pmpLocked w__99) w__101 w__102 value) >>
+ read_reg pmp14cfg_ref >>= fun w__100 : Pmpcfg_ent =>
+ read_reg pmp15cfg_ref >>= fun w__101 : Pmpcfg_ent =>
+ (pmpTORLocked w__101) >>= fun w__102 : bool =>
((read_reg pmpaddr14_ref) : M (mword 32)) >>= fun w__103 : mword 32 =>
- returnm (Some w__103)
+ write_reg pmpaddr14_ref (pmpWriteAddr (pmpLocked w__100) w__102 w__103 value) >>
+ ((read_reg pmpaddr14_ref) : M (mword 32)) >>= fun w__104 : mword 32 =>
+ returnm (Some w__104)
else if eq_vec b__0 (Ox"3BF" : mword 12) then
- read_reg pmp15cfg_ref >>= fun w__104 : Pmpcfg_ent =>
- ((read_reg pmpaddr15_ref) : M (mword 32)) >>= fun w__105 : mword 32 =>
- write_reg pmpaddr15_ref (pmpWriteAddr (pmpLocked w__104) false w__105 value) >>
+ read_reg pmp15cfg_ref >>= fun w__105 : Pmpcfg_ent =>
((read_reg pmpaddr15_ref) : M (mword 32)) >>= fun w__106 : mword 32 =>
- returnm (Some w__106)
+ write_reg pmpaddr15_ref (pmpWriteAddr (pmpLocked w__105) false w__106 value) >>
+ ((read_reg pmpaddr15_ref) : M (mword 32)) >>= fun w__107 : mword 32 =>
+ returnm (Some w__107)
else if eq_vec b__0 (Ox"B00" : mword 12) then
- ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__107 : mword 64 =>
- write_reg mcycle_ref (update_subrange_vec_dec w__107 (Z.sub 32 1) 0 value) >>
+ ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__108 : mword 64 =>
+ write_reg mcycle_ref (update_subrange_vec_dec w__108 (Z.sub 32 1) 0 value) >>
returnm (Some value)
else if eq_vec b__0 (Ox"B02" : mword 12) then
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__108 : mword 64 =>
- write_reg minstret_ref (update_subrange_vec_dec w__108 (Z.sub 32 1) 0 value) >>
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__109 : mword 64 =>
+ write_reg minstret_ref (update_subrange_vec_dec w__109 (Z.sub 32 1) 0 value) >>
write_reg minstret_written_ref true >> returnm (Some value)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B80" : mword 12)) (Z.eqb g__310 32)) then
- ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__109 : mword 64 =>
- write_reg mcycle_ref (update_subrange_vec_dec w__109 63 32 value) >> returnm (Some value)
- else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B82" : mword 12)) (Z.eqb g__310 32)) then
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__110 : mword 64 =>
- write_reg minstret_ref (update_subrange_vec_dec w__110 63 32 value) >>
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B80" : mword 12)) (Z.eqb g__324 32)) then
+ ((read_reg mcycle_ref) : M (mword 64)) >>= fun w__110 : mword 64 =>
+ write_reg mcycle_ref (update_subrange_vec_dec w__110 63 32 value) >> returnm (Some value)
+ else if sumbool_of_bool (andb (eq_vec b__0 (Ox"B82" : mword 12)) (Z.eqb g__324 32)) then
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__111 : mword 64 =>
+ write_reg minstret_ref (update_subrange_vec_dec w__111 63 32 value) >>
write_reg minstret_written_ref true >> returnm (Some value)
else if eq_vec b__0 (Ox"7A0" : mword 12) then
write_reg tselect_ref value >>
- ((read_reg tselect_ref) : M (mword 32)) >>= fun w__111 : mword 32 =>
- returnm (Some w__111)
+ ((read_reg tselect_ref) : M (mword 32)) >>= fun w__112 : mword 32 =>
+ returnm (Some w__112)
else if eq_vec b__0 (Ox"100" : mword 12) then
- read_reg mstatus_ref >>= fun w__112 : Mstatus =>
- (legalize_sstatus w__112 value) >>= fun w__113 : Mstatus =>
- write_reg mstatus_ref w__113 >>
- read_reg mstatus_ref >>= fun w__114 : Mstatus => returnm (Some (_get_Mstatus_bits w__114))
+ read_reg mstatus_ref >>= fun w__113 : Mstatus =>
+ (legalize_sstatus w__113 value) >>= fun w__114 : Mstatus =>
+ write_reg mstatus_ref w__114 >>
+ read_reg mstatus_ref >>= fun w__115 : Mstatus => returnm (Some (_get_Mstatus_bits w__115))
else if eq_vec b__0 (Ox"102" : mword 12) then
- read_reg sedeleg_ref >>= fun w__115 : Sedeleg =>
- write_reg sedeleg_ref (legalize_sedeleg w__115 value) >>
- read_reg sedeleg_ref >>= fun w__116 : Sedeleg => returnm (Some (_get_Sedeleg_bits w__116))
+ read_reg sedeleg_ref >>= fun w__116 : Sedeleg =>
+ write_reg sedeleg_ref (legalize_sedeleg w__116 value) >>
+ read_reg sedeleg_ref >>= fun w__117 : Sedeleg => returnm (Some (_get_Sedeleg_bits w__117))
else if eq_vec b__0 (Ox"103" : mword 12) then
(_set_Sinterrupts_bits sideleg_ref value) >>
- read_reg sideleg_ref >>= fun w__117 : Sinterrupts =>
- returnm (Some (_get_Sinterrupts_bits w__117))
+ read_reg sideleg_ref >>= fun w__118 : Sinterrupts =>
+ returnm (Some (_get_Sinterrupts_bits w__118))
else if eq_vec b__0 (Ox"104" : mword 12) then
- read_reg mie_ref >>= fun w__118 : Minterrupts =>
- read_reg mideleg_ref >>= fun w__119 : Minterrupts =>
- (legalize_sie w__118 w__119 value) >>= fun w__120 : Minterrupts =>
- write_reg mie_ref w__120 >>
- read_reg mie_ref >>= fun w__121 : Minterrupts =>
- returnm (Some (_get_Minterrupts_bits w__121))
+ read_reg mie_ref >>= fun w__119 : Minterrupts =>
+ read_reg mideleg_ref >>= fun w__120 : Minterrupts =>
+ (legalize_sie w__119 w__120 value) >>= fun w__121 : Minterrupts =>
+ write_reg mie_ref w__121 >>
+ read_reg mie_ref >>= fun w__122 : Minterrupts =>
+ returnm (Some (_get_Minterrupts_bits w__122))
else if eq_vec b__0 (Ox"105" : mword 12) then
- (set_stvec value) >>= fun w__122 : mword 32 => returnm (Some w__122)
+ (set_stvec value) >>= fun w__123 : mword 32 => returnm (Some w__123)
else if eq_vec b__0 (Ox"106" : mword 12) then
- read_reg scounteren_ref >>= fun w__123 : Counteren =>
- write_reg scounteren_ref (legalize_scounteren w__123 value) >>
read_reg scounteren_ref >>= fun w__124 : Counteren =>
- returnm (Some (EXTZ 32 (_get_Counteren_bits w__124)))
+ write_reg scounteren_ref (legalize_scounteren w__124 value) >>
+ read_reg scounteren_ref >>= fun w__125 : Counteren =>
+ returnm (Some (EXTZ 32 (_get_Counteren_bits w__125)))
else if eq_vec b__0 (Ox"140" : mword 12) then
write_reg sscratch_ref value >>
- ((read_reg sscratch_ref) : M (mword 32)) >>= fun w__125 : mword 32 =>
- returnm (Some w__125)
+ ((read_reg sscratch_ref) : M (mword 32)) >>= fun w__126 : mword 32 =>
+ returnm (Some w__126)
else if eq_vec b__0 (Ox"141" : mword 12) then
- (set_xret_target Supervisor value) >>= fun w__126 : mword 32 => returnm (Some w__126)
+ (set_xret_target Supervisor value) >>= fun w__127 : mword 32 => returnm (Some w__127)
else if eq_vec b__0 (Ox"142" : mword 12) then
(_set_Mcause_bits scause_ref value) >>
- read_reg scause_ref >>= fun w__127 : Mcause => returnm (Some (_get_Mcause_bits w__127))
+ read_reg scause_ref >>= fun w__128 : Mcause => returnm (Some (_get_Mcause_bits w__128))
else if eq_vec b__0 (Ox"143" : mword 12) then
write_reg stval_ref value >>
- ((read_reg stval_ref) : M (mword 32)) >>= fun w__128 : mword 32 => returnm (Some w__128)
+ ((read_reg stval_ref) : M (mword 32)) >>= fun w__129 : mword 32 => returnm (Some w__129)
else if eq_vec b__0 (Ox"144" : mword 12) then
- read_reg mip_ref >>= fun w__129 : Minterrupts =>
- read_reg mideleg_ref >>= fun w__130 : Minterrupts =>
- (legalize_sip w__129 w__130 value) >>= fun w__131 : Minterrupts =>
- write_reg mip_ref w__131 >>
- read_reg mip_ref >>= fun w__132 : Minterrupts =>
- returnm (Some (_get_Minterrupts_bits w__132))
+ read_reg mip_ref >>= fun w__130 : Minterrupts =>
+ read_reg mideleg_ref >>= fun w__131 : Minterrupts =>
+ (legalize_sip w__130 w__131 value) >>= fun w__132 : Minterrupts =>
+ write_reg mip_ref w__132 >>
+ read_reg mip_ref >>= fun w__133 : Minterrupts =>
+ returnm (Some (_get_Minterrupts_bits w__133))
else if eq_vec b__0 (Ox"180" : mword 12) then
- (cur_Architecture tt) >>= fun w__133 : Architecture =>
- ((read_reg satp_ref) : M (mword 32)) >>= fun w__134 : mword 32 =>
- write_reg satp_ref (legalize_satp w__133 w__134 value) >>
- ((read_reg satp_ref) : M (mword 32)) >>= fun w__135 : mword 32 => returnm (Some w__135)
+ (cur_Architecture tt) >>= fun w__134 : Architecture =>
+ ((read_reg satp_ref) : M (mword 32)) >>= fun w__135 : mword 32 =>
+ write_reg satp_ref (legalize_satp w__134 w__135 value) >>
+ ((read_reg satp_ref) : M (mword 32)) >>= fun w__136 : mword 32 => returnm (Some w__136)
else (ext_write_CSR csr value) : M (option (mword 32)))
: M (option (mword 32))
end) >>= fun res : option xlenbits =>
@@ -15854,23 +16098,23 @@ Definition maybe_i_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s1058_ (_s1059_ : string) : option string :=
- let _s1060_ := _s1059_ in
- if string_startswith _s1060_ "" then
- match (string_drop _s1060_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s1062_ (_s1063_ : string) : option string :=
+ let _s1064_ := _s1063_ in
+ if string_startswith _s1064_ "" then
+ match (string_drop _s1064_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s1054_ (_s1055_ : string) : option string :=
- let _s1056_ := _s1055_ in
- if string_startswith _s1056_ "i" then
- match (string_drop _s1056_ (projT1 (string_length "i"))) with | s_ => Some s_ end
+Definition _s1058_ (_s1059_ : string) : option string :=
+ let _s1060_ := _s1059_ in
+ if string_startswith _s1060_ "i" then
+ match (string_drop _s1060_ (projT1 (string_length "i"))) with | s_ => Some s_ end
else None.
Definition maybe_i_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1057_ := arg_ in
- (if match (_s1054_ _s1057_) with | Some s_ => true | _ => false end then
- (match (_s1054_ _s1057_) with
+ let _s1061_ := arg_ in
+ (if match (_s1058_ _s1061_) with | Some s_ => true | _ => false end then
+ (match (_s1058_ _s1061_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -15879,8 +16123,8 @@ Definition maybe_i_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1058_ _s1057_) with | Some s_ => true | _ => false end then
- (match (_s1058_ _s1057_) with
+ else if match (_s1062_ _s1061_) with | Some s_ => true | _ => false end then
+ (match (_s1062_ _s1061_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -15913,29 +16157,29 @@ Definition csr_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "csrrc" then true
else false.
+Definition _s1074_ (_s1075_ : string) : option string :=
+ let _s1076_ := _s1075_ in
+ if string_startswith _s1076_ "csrrc" then
+ match (string_drop _s1076_ (projT1 (string_length "csrrc"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1070_ (_s1071_ : string) : option string :=
let _s1072_ := _s1071_ in
- if string_startswith _s1072_ "csrrc" then
- match (string_drop _s1072_ (projT1 (string_length "csrrc"))) with | s_ => Some s_ end
+ if string_startswith _s1072_ "csrrs" then
+ match (string_drop _s1072_ (projT1 (string_length "csrrs"))) with | s_ => Some s_ end
else None.
Definition _s1066_ (_s1067_ : string) : option string :=
let _s1068_ := _s1067_ in
- if string_startswith _s1068_ "csrrs" then
- match (string_drop _s1068_ (projT1 (string_length "csrrs"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1062_ (_s1063_ : string) : option string :=
- let _s1064_ := _s1063_ in
- if string_startswith _s1064_ "csrrw" then
- match (string_drop _s1064_ (projT1 (string_length "csrrw"))) with | s_ => Some s_ end
+ if string_startswith _s1068_ "csrrw" then
+ match (string_drop _s1068_ (projT1 (string_length "csrrw"))) with | s_ => Some s_ end
else None.
Definition csr_mnemonic_matches_prefix (arg_ : string)
: M (option ((csrop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1065_ := arg_ in
- (if match (_s1062_ _s1065_) with | Some s_ => true | _ => false end then
- (match (_s1062_ _s1065_) with
+ let _s1069_ := arg_ in
+ (if match (_s1066_ _s1069_) with | Some s_ => true | _ => false end then
+ (match (_s1066_ _s1069_) with
| Some s_ =>
returnm (Some
(CSRRW, build_ex
@@ -15944,8 +16188,8 @@ Definition csr_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1066_ _s1065_) with | Some s_ => true | _ => false end then
- (match (_s1066_ _s1065_) with
+ else if match (_s1070_ _s1069_) with | Some s_ => true | _ => false end then
+ (match (_s1070_ _s1069_) with
| Some s_ =>
returnm (Some
(CSRRS, build_ex
@@ -15954,8 +16198,8 @@ Definition csr_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1070_ _s1065_) with | Some s_ => true | _ => false end then
- (match (_s1070_ _s1065_) with
+ else if match (_s1074_ _s1069_) with | Some s_ => true | _ => false end then
+ (match (_s1074_ _s1069_) with
| Some s_ =>
returnm (Some
(CSRRC, build_ex
@@ -16049,47 +16293,47 @@ Definition frm_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "dyn" then true
else false.
+Definition _s1098_ (_s1099_ : string) : option string :=
+ let _s1100_ := _s1099_ in
+ if string_startswith _s1100_ "dyn" then
+ match (string_drop _s1100_ (projT1 (string_length "dyn"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1094_ (_s1095_ : string) : option string :=
let _s1096_ := _s1095_ in
- if string_startswith _s1096_ "dyn" then
- match (string_drop _s1096_ (projT1 (string_length "dyn"))) with | s_ => Some s_ end
+ if string_startswith _s1096_ "rmm" then
+ match (string_drop _s1096_ (projT1 (string_length "rmm"))) with | s_ => Some s_ end
else None.
Definition _s1090_ (_s1091_ : string) : option string :=
let _s1092_ := _s1091_ in
- if string_startswith _s1092_ "rmm" then
- match (string_drop _s1092_ (projT1 (string_length "rmm"))) with | s_ => Some s_ end
+ if string_startswith _s1092_ "rup" then
+ match (string_drop _s1092_ (projT1 (string_length "rup"))) with | s_ => Some s_ end
else None.
Definition _s1086_ (_s1087_ : string) : option string :=
let _s1088_ := _s1087_ in
- if string_startswith _s1088_ "rup" then
- match (string_drop _s1088_ (projT1 (string_length "rup"))) with | s_ => Some s_ end
+ if string_startswith _s1088_ "rdn" then
+ match (string_drop _s1088_ (projT1 (string_length "rdn"))) with | s_ => Some s_ end
else None.
Definition _s1082_ (_s1083_ : string) : option string :=
let _s1084_ := _s1083_ in
- if string_startswith _s1084_ "rdn" then
- match (string_drop _s1084_ (projT1 (string_length "rdn"))) with | s_ => Some s_ end
+ if string_startswith _s1084_ "rtz" then
+ match (string_drop _s1084_ (projT1 (string_length "rtz"))) with | s_ => Some s_ end
else None.
Definition _s1078_ (_s1079_ : string) : option string :=
let _s1080_ := _s1079_ in
- if string_startswith _s1080_ "rtz" then
- match (string_drop _s1080_ (projT1 (string_length "rtz"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1074_ (_s1075_ : string) : option string :=
- let _s1076_ := _s1075_ in
- if string_startswith _s1076_ "rne" then
- match (string_drop _s1076_ (projT1 (string_length "rne"))) with | s_ => Some s_ end
+ if string_startswith _s1080_ "rne" then
+ match (string_drop _s1080_ (projT1 (string_length "rne"))) with | s_ => Some s_ end
else None.
Definition frm_mnemonic_matches_prefix (arg_ : string)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1077_ := arg_ in
- (if match (_s1074_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1074_ _s1077_) with
+ let _s1081_ := arg_ in
+ (if match (_s1078_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1078_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RNE, build_ex
@@ -16098,8 +16342,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1078_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1078_ _s1077_) with
+ else if match (_s1082_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1082_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RTZ, build_ex
@@ -16108,8 +16352,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1082_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1082_ _s1077_) with
+ else if match (_s1086_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1086_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RDN, build_ex
@@ -16118,8 +16362,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1086_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1086_ _s1077_) with
+ else if match (_s1090_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1090_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RUP, build_ex
@@ -16128,8 +16372,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1090_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1090_ _s1077_) with
+ else if match (_s1094_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1094_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RMM, build_ex
@@ -16138,8 +16382,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1094_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1094_ _s1077_) with
+ else if match (_s1098_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1098_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_DYN, build_ex
@@ -16387,35 +16631,35 @@ Definition f_madd_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fnmadd.s" then true
else false.
+Definition _s1114_ (_s1115_ : string) : option string :=
+ let _s1116_ := _s1115_ in
+ if string_startswith _s1116_ "fnmadd.s" then
+ match (string_drop _s1116_ (projT1 (string_length "fnmadd.s"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1110_ (_s1111_ : string) : option string :=
let _s1112_ := _s1111_ in
- if string_startswith _s1112_ "fnmadd.s" then
- match (string_drop _s1112_ (projT1 (string_length "fnmadd.s"))) with | s_ => Some s_ end
+ if string_startswith _s1112_ "fnmsub.s" then
+ match (string_drop _s1112_ (projT1 (string_length "fnmsub.s"))) with | s_ => Some s_ end
else None.
Definition _s1106_ (_s1107_ : string) : option string :=
let _s1108_ := _s1107_ in
- if string_startswith _s1108_ "fnmsub.s" then
- match (string_drop _s1108_ (projT1 (string_length "fnmsub.s"))) with | s_ => Some s_ end
+ if string_startswith _s1108_ "fmsub.s" then
+ match (string_drop _s1108_ (projT1 (string_length "fmsub.s"))) with | s_ => Some s_ end
else None.
Definition _s1102_ (_s1103_ : string) : option string :=
let _s1104_ := _s1103_ in
- if string_startswith _s1104_ "fmsub.s" then
- match (string_drop _s1104_ (projT1 (string_length "fmsub.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1098_ (_s1099_ : string) : option string :=
- let _s1100_ := _s1099_ in
- if string_startswith _s1100_ "fmadd.s" then
- match (string_drop _s1100_ (projT1 (string_length "fmadd.s"))) with | s_ => Some s_ end
+ if string_startswith _s1104_ "fmadd.s" then
+ match (string_drop _s1104_ (projT1 (string_length "fmadd.s"))) with | s_ => Some s_ end
else None.
Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1101_ := arg_ in
- (if match (_s1098_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1098_ _s1101_) with
+ let _s1105_ := arg_ in
+ (if match (_s1102_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1102_ _s1105_) with
| Some s_ =>
returnm (Some
(FMADD_S, build_ex
@@ -16424,8 +16668,8 @@ Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1102_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1102_ _s1101_) with
+ else if match (_s1106_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1106_ _s1105_) with
| Some s_ =>
returnm (Some
(FMSUB_S, build_ex
@@ -16434,8 +16678,8 @@ Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1106_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1106_ _s1101_) with
+ else if match (_s1110_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1110_ _s1105_) with
| Some s_ =>
returnm (Some
(FNMSUB_S, build_ex
@@ -16444,8 +16688,8 @@ Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1110_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1110_ _s1101_) with
+ else if match (_s1114_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1114_ _s1105_) with
| Some s_ =>
returnm (Some
(FNMADD_S, build_ex
@@ -16485,35 +16729,35 @@ Definition f_bin_rm_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fdiv.s" then true
else false.
+Definition _s1130_ (_s1131_ : string) : option string :=
+ let _s1132_ := _s1131_ in
+ if string_startswith _s1132_ "fdiv.s" then
+ match (string_drop _s1132_ (projT1 (string_length "fdiv.s"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1126_ (_s1127_ : string) : option string :=
let _s1128_ := _s1127_ in
- if string_startswith _s1128_ "fdiv.s" then
- match (string_drop _s1128_ (projT1 (string_length "fdiv.s"))) with | s_ => Some s_ end
+ if string_startswith _s1128_ "fmul.s" then
+ match (string_drop _s1128_ (projT1 (string_length "fmul.s"))) with | s_ => Some s_ end
else None.
Definition _s1122_ (_s1123_ : string) : option string :=
let _s1124_ := _s1123_ in
- if string_startswith _s1124_ "fmul.s" then
- match (string_drop _s1124_ (projT1 (string_length "fmul.s"))) with | s_ => Some s_ end
+ if string_startswith _s1124_ "fsub.s" then
+ match (string_drop _s1124_ (projT1 (string_length "fsub.s"))) with | s_ => Some s_ end
else None.
Definition _s1118_ (_s1119_ : string) : option string :=
let _s1120_ := _s1119_ in
- if string_startswith _s1120_ "fsub.s" then
- match (string_drop _s1120_ (projT1 (string_length "fsub.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1114_ (_s1115_ : string) : option string :=
- let _s1116_ := _s1115_ in
- if string_startswith _s1116_ "fadd.s" then
- match (string_drop _s1116_ (projT1 (string_length "fadd.s"))) with | s_ => Some s_ end
+ if string_startswith _s1120_ "fadd.s" then
+ match (string_drop _s1120_ (projT1 (string_length "fadd.s"))) with | s_ => Some s_ end
else None.
Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1117_ := arg_ in
- (if match (_s1114_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1114_ _s1117_) with
+ let _s1121_ := arg_ in
+ (if match (_s1118_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1118_ _s1121_) with
| Some s_ =>
returnm (Some
(FADD_S, build_ex
@@ -16522,8 +16766,8 @@ Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1118_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1118_ _s1117_) with
+ else if match (_s1122_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1122_ _s1121_) with
| Some s_ =>
returnm (Some
(FSUB_S, build_ex
@@ -16532,8 +16776,8 @@ Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1122_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1122_ _s1117_) with
+ else if match (_s1126_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1126_ _s1121_) with
| Some s_ =>
returnm (Some
(FMUL_S, build_ex
@@ -16542,8 +16786,8 @@ Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1126_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1126_ _s1117_) with
+ else if match (_s1130_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1130_ _s1121_) with
| Some s_ =>
returnm (Some
(FDIV_S, build_ex
@@ -16608,65 +16852,65 @@ Definition f_un_rm_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fcvt.s.lu" then true
else false.
+Definition _s1166_ (_s1167_ : string) : option string :=
+ let _s1168_ := _s1167_ in
+ if string_startswith _s1168_ "fcvt.s.lu" then
+ match (string_drop _s1168_ (projT1 (string_length "fcvt.s.lu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1162_ (_s1163_ : string) : option string :=
let _s1164_ := _s1163_ in
- if string_startswith _s1164_ "fcvt.s.lu" then
- match (string_drop _s1164_ (projT1 (string_length "fcvt.s.lu"))) with | s_ => Some s_ end
+ if string_startswith _s1164_ "fcvt.s.l" then
+ match (string_drop _s1164_ (projT1 (string_length "fcvt.s.l"))) with | s_ => Some s_ end
else None.
Definition _s1158_ (_s1159_ : string) : option string :=
let _s1160_ := _s1159_ in
- if string_startswith _s1160_ "fcvt.s.l" then
- match (string_drop _s1160_ (projT1 (string_length "fcvt.s.l"))) with | s_ => Some s_ end
+ if string_startswith _s1160_ "fcvt.lu.s" then
+ match (string_drop _s1160_ (projT1 (string_length "fcvt.lu.s"))) with | s_ => Some s_ end
else None.
Definition _s1154_ (_s1155_ : string) : option string :=
let _s1156_ := _s1155_ in
- if string_startswith _s1156_ "fcvt.lu.s" then
- match (string_drop _s1156_ (projT1 (string_length "fcvt.lu.s"))) with | s_ => Some s_ end
+ if string_startswith _s1156_ "fcvt.l.s" then
+ match (string_drop _s1156_ (projT1 (string_length "fcvt.l.s"))) with | s_ => Some s_ end
else None.
Definition _s1150_ (_s1151_ : string) : option string :=
let _s1152_ := _s1151_ in
- if string_startswith _s1152_ "fcvt.l.s" then
- match (string_drop _s1152_ (projT1 (string_length "fcvt.l.s"))) with | s_ => Some s_ end
+ if string_startswith _s1152_ "fcvt.s.wu" then
+ match (string_drop _s1152_ (projT1 (string_length "fcvt.s.wu"))) with | s_ => Some s_ end
else None.
Definition _s1146_ (_s1147_ : string) : option string :=
let _s1148_ := _s1147_ in
- if string_startswith _s1148_ "fcvt.s.wu" then
- match (string_drop _s1148_ (projT1 (string_length "fcvt.s.wu"))) with | s_ => Some s_ end
+ if string_startswith _s1148_ "fcvt.s.w" then
+ match (string_drop _s1148_ (projT1 (string_length "fcvt.s.w"))) with | s_ => Some s_ end
else None.
Definition _s1142_ (_s1143_ : string) : option string :=
let _s1144_ := _s1143_ in
- if string_startswith _s1144_ "fcvt.s.w" then
- match (string_drop _s1144_ (projT1 (string_length "fcvt.s.w"))) with | s_ => Some s_ end
+ if string_startswith _s1144_ "fcvt.wu.s" then
+ match (string_drop _s1144_ (projT1 (string_length "fcvt.wu.s"))) with | s_ => Some s_ end
else None.
Definition _s1138_ (_s1139_ : string) : option string :=
let _s1140_ := _s1139_ in
- if string_startswith _s1140_ "fcvt.wu.s" then
- match (string_drop _s1140_ (projT1 (string_length "fcvt.wu.s"))) with | s_ => Some s_ end
+ if string_startswith _s1140_ "fcvt.w.s" then
+ match (string_drop _s1140_ (projT1 (string_length "fcvt.w.s"))) with | s_ => Some s_ end
else None.
Definition _s1134_ (_s1135_ : string) : option string :=
let _s1136_ := _s1135_ in
- if string_startswith _s1136_ "fcvt.w.s" then
- match (string_drop _s1136_ (projT1 (string_length "fcvt.w.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1130_ (_s1131_ : string) : option string :=
- let _s1132_ := _s1131_ in
- if string_startswith _s1132_ "fsqrt.s" then
- match (string_drop _s1132_ (projT1 (string_length "fsqrt.s"))) with | s_ => Some s_ end
+ if string_startswith _s1136_ "fsqrt.s" then
+ match (string_drop _s1136_ (projT1 (string_length "fsqrt.s"))) with | s_ => Some s_ end
else None.
Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1133_ := arg_ in
- (if match (_s1130_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1130_ _s1133_) with
+ let _s1137_ := arg_ in
+ (if match (_s1134_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1134_ _s1137_) with
| Some s_ =>
returnm (Some
(FSQRT_S, build_ex
@@ -16675,8 +16919,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1134_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1134_ _s1133_) with
+ else if match (_s1138_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1138_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_W_S, build_ex
@@ -16685,8 +16929,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1138_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1138_ _s1133_) with
+ else if match (_s1142_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1142_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_WU_S, build_ex
@@ -16695,8 +16939,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1142_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1142_ _s1133_) with
+ else if match (_s1146_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1146_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_W, build_ex
@@ -16705,8 +16949,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1146_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1146_ _s1133_) with
+ else if match (_s1150_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1150_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_WU, build_ex
@@ -16715,8 +16959,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1150_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1150_ _s1133_) with
+ else if match (_s1154_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1154_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_L_S, build_ex
@@ -16725,8 +16969,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1154_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1154_ _s1133_) with
+ else if match (_s1158_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1158_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_LU_S, build_ex
@@ -16735,8 +16979,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1158_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1158_ _s1133_) with
+ else if match (_s1162_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1162_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_L, build_ex
@@ -16745,8 +16989,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1162_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1162_ _s1133_) with
+ else if match (_s1166_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1166_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_LU, build_ex
@@ -16807,59 +17051,59 @@ Definition f_bin_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fle.s" then true
else false.
+Definition _s1198_ (_s1199_ : string) : option string :=
+ let _s1200_ := _s1199_ in
+ if string_startswith _s1200_ "fle.s" then
+ match (string_drop _s1200_ (projT1 (string_length "fle.s"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1194_ (_s1195_ : string) : option string :=
let _s1196_ := _s1195_ in
- if string_startswith _s1196_ "fle.s" then
- match (string_drop _s1196_ (projT1 (string_length "fle.s"))) with | s_ => Some s_ end
+ if string_startswith _s1196_ "flt.s" then
+ match (string_drop _s1196_ (projT1 (string_length "flt.s"))) with | s_ => Some s_ end
else None.
Definition _s1190_ (_s1191_ : string) : option string :=
let _s1192_ := _s1191_ in
- if string_startswith _s1192_ "flt.s" then
- match (string_drop _s1192_ (projT1 (string_length "flt.s"))) with | s_ => Some s_ end
+ if string_startswith _s1192_ "feq.s" then
+ match (string_drop _s1192_ (projT1 (string_length "feq.s"))) with | s_ => Some s_ end
else None.
Definition _s1186_ (_s1187_ : string) : option string :=
let _s1188_ := _s1187_ in
- if string_startswith _s1188_ "feq.s" then
- match (string_drop _s1188_ (projT1 (string_length "feq.s"))) with | s_ => Some s_ end
+ if string_startswith _s1188_ "fmax.s" then
+ match (string_drop _s1188_ (projT1 (string_length "fmax.s"))) with | s_ => Some s_ end
else None.
Definition _s1182_ (_s1183_ : string) : option string :=
let _s1184_ := _s1183_ in
- if string_startswith _s1184_ "fmax.s" then
- match (string_drop _s1184_ (projT1 (string_length "fmax.s"))) with | s_ => Some s_ end
+ if string_startswith _s1184_ "fmin.s" then
+ match (string_drop _s1184_ (projT1 (string_length "fmin.s"))) with | s_ => Some s_ end
else None.
Definition _s1178_ (_s1179_ : string) : option string :=
let _s1180_ := _s1179_ in
- if string_startswith _s1180_ "fmin.s" then
- match (string_drop _s1180_ (projT1 (string_length "fmin.s"))) with | s_ => Some s_ end
+ if string_startswith _s1180_ "fsgnjx.s" then
+ match (string_drop _s1180_ (projT1 (string_length "fsgnjx.s"))) with | s_ => Some s_ end
else None.
Definition _s1174_ (_s1175_ : string) : option string :=
let _s1176_ := _s1175_ in
- if string_startswith _s1176_ "fsgnjx.s" then
- match (string_drop _s1176_ (projT1 (string_length "fsgnjx.s"))) with | s_ => Some s_ end
+ if string_startswith _s1176_ "fsgnjn.s" then
+ match (string_drop _s1176_ (projT1 (string_length "fsgnjn.s"))) with | s_ => Some s_ end
else None.
Definition _s1170_ (_s1171_ : string) : option string :=
let _s1172_ := _s1171_ in
- if string_startswith _s1172_ "fsgnjn.s" then
- match (string_drop _s1172_ (projT1 (string_length "fsgnjn.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1166_ (_s1167_ : string) : option string :=
- let _s1168_ := _s1167_ in
- if string_startswith _s1168_ "fsgnj.s" then
- match (string_drop _s1168_ (projT1 (string_length "fsgnj.s"))) with | s_ => Some s_ end
+ if string_startswith _s1172_ "fsgnj.s" then
+ match (string_drop _s1172_ (projT1 (string_length "fsgnj.s"))) with | s_ => Some s_ end
else None.
Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1169_ := arg_ in
- (if match (_s1166_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1166_ _s1169_) with
+ let _s1173_ := arg_ in
+ (if match (_s1170_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1170_ _s1173_) with
| Some s_ =>
returnm (Some
(FSGNJ_S, build_ex
@@ -16868,8 +17112,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1170_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1170_ _s1169_) with
+ else if match (_s1174_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1174_ _s1173_) with
| Some s_ =>
returnm (Some
(FSGNJN_S, build_ex
@@ -16878,8 +17122,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1174_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1174_ _s1169_) with
+ else if match (_s1178_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1178_ _s1173_) with
| Some s_ =>
returnm (Some
(FSGNJX_S, build_ex
@@ -16888,8 +17132,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1178_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1178_ _s1169_) with
+ else if match (_s1182_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1182_ _s1173_) with
| Some s_ =>
returnm (Some
(FMIN_S, build_ex
@@ -16898,8 +17142,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1182_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1182_ _s1169_) with
+ else if match (_s1186_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1186_ _s1173_) with
| Some s_ =>
returnm (Some
(FMAX_S, build_ex
@@ -16908,8 +17152,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1186_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1186_ _s1169_) with
+ else if match (_s1190_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1190_ _s1173_) with
| Some s_ =>
returnm (Some
(FEQ_S, build_ex
@@ -16918,8 +17162,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1190_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1190_ _s1169_) with
+ else if match (_s1194_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1194_ _s1173_) with
| Some s_ =>
returnm (Some
(FLT_S, build_ex
@@ -16928,8 +17172,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1194_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1194_ _s1169_) with
+ else if match (_s1198_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1198_ _s1173_) with
| Some s_ =>
returnm (Some
(FLE_S, build_ex
@@ -16962,29 +17206,29 @@ Definition f_un_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fmv.w.x" then true
else false.
+Definition _s1210_ (_s1211_ : string) : option string :=
+ let _s1212_ := _s1211_ in
+ if string_startswith _s1212_ "fmv.w.x" then
+ match (string_drop _s1212_ (projT1 (string_length "fmv.w.x"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1206_ (_s1207_ : string) : option string :=
let _s1208_ := _s1207_ in
- if string_startswith _s1208_ "fmv.w.x" then
- match (string_drop _s1208_ (projT1 (string_length "fmv.w.x"))) with | s_ => Some s_ end
+ if string_startswith _s1208_ "fclass.s" then
+ match (string_drop _s1208_ (projT1 (string_length "fclass.s"))) with | s_ => Some s_ end
else None.
Definition _s1202_ (_s1203_ : string) : option string :=
let _s1204_ := _s1203_ in
- if string_startswith _s1204_ "fclass.s" then
- match (string_drop _s1204_ (projT1 (string_length "fclass.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1198_ (_s1199_ : string) : option string :=
- let _s1200_ := _s1199_ in
- if string_startswith _s1200_ "fmv.x.w" then
- match (string_drop _s1200_ (projT1 (string_length "fmv.x.w"))) with | s_ => Some s_ end
+ if string_startswith _s1204_ "fmv.x.w" then
+ match (string_drop _s1204_ (projT1 (string_length "fmv.x.w"))) with | s_ => Some s_ end
else None.
Definition f_un_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1201_ := arg_ in
- (if match (_s1198_ _s1201_) with | Some s_ => true | _ => false end then
- (match (_s1198_ _s1201_) with
+ let _s1205_ := arg_ in
+ (if match (_s1202_ _s1205_) with | Some s_ => true | _ => false end then
+ (match (_s1202_ _s1205_) with
| Some s_ =>
returnm (Some
(FMV_X_W, build_ex
@@ -16993,8 +17237,8 @@ Definition f_un_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1202_ _s1201_) with | Some s_ => true | _ => false end then
- (match (_s1202_ _s1201_) with
+ else if match (_s1206_ _s1205_) with | Some s_ => true | _ => false end then
+ (match (_s1206_ _s1205_) with
| Some s_ =>
returnm (Some
(FCLASS_S, build_ex
@@ -17003,8 +17247,8 @@ Definition f_un_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1206_ _s1201_) with | Some s_ => true | _ => false end then
- (match (_s1206_ _s1201_) with
+ else if match (_s1210_ _s1205_) with | Some s_ => true | _ => false end then
+ (match (_s1210_ _s1205_) with
| Some s_ =>
returnm (Some
(FMV_W_X, build_ex
@@ -17324,7 +17568,7 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
(concat_vec ('b"000" : mword 3)
(concat_vec ('b"00000" : mword 5) ('b"1110011" : mword 7))))))
| LOADRES (aq, rl, rs1, size, rd) =>
- (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 4) then
+ (if amo_width_valid size then
returnm (concat_vec ('b"00010" : mword 5)
(concat_vec (bool_bits_forwards aq)
(concat_vec (bool_bits_forwards rl)
@@ -17336,7 +17580,7 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| STORECON (aq, rl, rs2, rs1, size, rd) =>
- (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 4) then
+ (if amo_width_valid size then
returnm (concat_vec ('b"00011" : mword 5)
(concat_vec (bool_bits_forwards aq)
(concat_vec (bool_bits_forwards rl)
@@ -17348,7 +17592,7 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| AMO (op, aq, rl, rs2, rs1, size, rd) =>
- (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 4) then
+ (if amo_width_valid size then
returnm (concat_vec (encdec_amoop_forwards op)
(concat_vec (bool_bits_forwards aq)
(concat_vec (bool_bits_forwards rl)
@@ -17421,9 +17665,28 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
(concat_vec ('b"00000" : mword 5)
(concat_vec ('b"000" : mword 3)
(concat_vec ('b"00000" : mword 5) ('b"1110011" : mword 7))))))
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ (if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5))) then
+ returnm (concat_vec (fm : bits 4)
+ (concat_vec (pred : bits 4)
+ (concat_vec (succ : bits 4)
+ (concat_vec (rs : regidx)
+ (concat_vec ('b"000" : mword 3)
+ (concat_vec (rd : regidx) ('b"0001111" : mword 7)))))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 32)
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ (if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg)) then
+ returnm (concat_vec (imm : bits 12)
+ (concat_vec (rs : regidx)
+ (concat_vec ('b"001" : mword 3)
+ (concat_vec (rd : regidx) ('b"0001111" : mword 7)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 32)
| LOAD_FP (imm, rs1, rd, WORD) =>
- (is_RV32F_or_RV64F tt) >>= fun w__45 : bool =>
- (if sumbool_of_bool w__45 then
+ (is_RV32F_or_RV64F tt) >>= fun w__49 : bool =>
+ (if sumbool_of_bool w__49 then
returnm (concat_vec (imm : mword 12)
(concat_vec (rs1 : mword 5)
(concat_vec ('b"010" : mword 3)
@@ -17431,8 +17694,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| LOAD_FP (imm, rs1, rd, DOUBLE) =>
- (is_RV32D_or_RV64D tt) >>= fun w__48 : bool =>
- (if sumbool_of_bool w__48 then
+ (is_RV32D_or_RV64D tt) >>= fun w__52 : bool =>
+ (if sumbool_of_bool w__52 then
returnm (concat_vec (imm : mword 12)
(concat_vec (rs1 : mword 5)
(concat_vec ('b"011" : mword 3)
@@ -17440,8 +17703,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| STORE_FP (v__7, rs2, rs1, WORD) =>
- (is_RV32F_or_RV64F tt) >>= fun w__51 : bool =>
- (if sumbool_of_bool w__51 then
+ (is_RV32F_or_RV64F tt) >>= fun w__55 : bool =>
+ (if sumbool_of_bool w__55 then
let imm7 : bits 7 := subrange_vec_dec v__7 11 5 in
let imm7 : bits 7 := subrange_vec_dec v__7 11 5 in
let imm5 : bits 5 := subrange_vec_dec v__7 4 0 in
@@ -17453,8 +17716,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| STORE_FP (v__8, rs2, rs1, DOUBLE) =>
- (is_RV32D_or_RV64D tt) >>= fun w__54 : bool =>
- (if sumbool_of_bool w__54 then
+ (is_RV32D_or_RV64D tt) >>= fun w__58 : bool =>
+ (if sumbool_of_bool w__58 then
let imm7 : bits 7 := subrange_vec_dec v__8 11 5 in
let imm7 : bits 7 := subrange_vec_dec v__8 11 5 in
let imm5 : bits 5 := subrange_vec_dec v__8 4 0 in
@@ -17466,8 +17729,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMADD_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__57 : bool =>
- (if sumbool_of_bool w__57 then
+ (is_RV32F_or_RV64F tt) >>= fun w__61 : bool =>
+ (if sumbool_of_bool w__61 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -17477,8 +17740,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMSUB_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__60 : bool =>
- (if sumbool_of_bool w__60 then
+ (is_RV32F_or_RV64F tt) >>= fun w__64 : bool =>
+ (if sumbool_of_bool w__64 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -17488,8 +17751,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FNMSUB_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__63 : bool =>
- (if sumbool_of_bool w__63 then
+ (is_RV32F_or_RV64F tt) >>= fun w__67 : bool =>
+ (if sumbool_of_bool w__67 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -17499,8 +17762,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FNMADD_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__66 : bool =>
- (if sumbool_of_bool w__66 then
+ (is_RV32F_or_RV64F tt) >>= fun w__70 : bool =>
+ (if sumbool_of_bool w__70 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -17510,8 +17773,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FADD_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__69 : bool =>
- (if sumbool_of_bool w__69 then
+ (is_RV32F_or_RV64F tt) >>= fun w__73 : bool =>
+ (if sumbool_of_bool w__73 then
returnm (concat_vec ('b"0000000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17520,8 +17783,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FSUB_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__72 : bool =>
- (if sumbool_of_bool w__72 then
+ (is_RV32F_or_RV64F tt) >>= fun w__76 : bool =>
+ (if sumbool_of_bool w__76 then
returnm (concat_vec ('b"0000100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17530,8 +17793,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FMUL_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__75 : bool =>
- (if sumbool_of_bool w__75 then
+ (is_RV32F_or_RV64F tt) >>= fun w__79 : bool =>
+ (if sumbool_of_bool w__79 then
returnm (concat_vec ('b"0001000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17540,8 +17803,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FDIV_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__78 : bool =>
- (if sumbool_of_bool w__78 then
+ (is_RV32F_or_RV64F tt) >>= fun w__82 : bool =>
+ (if sumbool_of_bool w__82 then
returnm (concat_vec ('b"0001100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17550,8 +17813,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FSQRT_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__81 : bool =>
- (if sumbool_of_bool w__81 then
+ (is_RV32F_or_RV64F tt) >>= fun w__85 : bool =>
+ (if sumbool_of_bool w__85 then
returnm (concat_vec ('b"0101100" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17560,8 +17823,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_W_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__84 : bool =>
- (if sumbool_of_bool w__84 then
+ (is_RV32F_or_RV64F tt) >>= fun w__88 : bool =>
+ (if sumbool_of_bool w__88 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17570,8 +17833,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_WU_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__87 : bool =>
- (if sumbool_of_bool w__87 then
+ (is_RV32F_or_RV64F tt) >>= fun w__91 : bool =>
+ (if sumbool_of_bool w__91 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00001" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17580,8 +17843,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_W) =>
- (is_RV32F_or_RV64F tt) >>= fun w__90 : bool =>
- (if sumbool_of_bool w__90 then
+ (is_RV32F_or_RV64F tt) >>= fun w__94 : bool =>
+ (if sumbool_of_bool w__94 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17590,8 +17853,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_WU) =>
- (is_RV32F_or_RV64F tt) >>= fun w__93 : bool =>
- (if sumbool_of_bool w__93 then
+ (is_RV32F_or_RV64F tt) >>= fun w__97 : bool =>
+ (if sumbool_of_bool w__97 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00001" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17600,8 +17863,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_L_S) =>
- (is_RV64F tt) >>= fun w__96 : bool =>
- (if sumbool_of_bool w__96 then
+ (is_RV64F tt) >>= fun w__100 : bool =>
+ (if sumbool_of_bool w__100 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00010" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17610,8 +17873,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_LU_S) =>
- (is_RV64F tt) >>= fun w__99 : bool =>
- (if sumbool_of_bool w__99 then
+ (is_RV64F tt) >>= fun w__103 : bool =>
+ (if sumbool_of_bool w__103 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00011" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17620,8 +17883,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_L) =>
- (is_RV64F tt) >>= fun w__102 : bool =>
- (if sumbool_of_bool w__102 then
+ (is_RV64F tt) >>= fun w__106 : bool =>
+ (if sumbool_of_bool w__106 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00010" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17630,8 +17893,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_LU) =>
- (is_RV64F tt) >>= fun w__105 : bool =>
- (if sumbool_of_bool w__105 then
+ (is_RV64F tt) >>= fun w__109 : bool =>
+ (if sumbool_of_bool w__109 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00011" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17640,8 +17903,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJ_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__108 : bool =>
- (if sumbool_of_bool w__108 then
+ (is_RV32F_or_RV64F tt) >>= fun w__112 : bool =>
+ (if sumbool_of_bool w__112 then
returnm (concat_vec ('b"0010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17650,8 +17913,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJN_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__111 : bool =>
- (if sumbool_of_bool w__111 then
+ (is_RV32F_or_RV64F tt) >>= fun w__115 : bool =>
+ (if sumbool_of_bool w__115 then
returnm (concat_vec ('b"0010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17660,8 +17923,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJX_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__114 : bool =>
- (if sumbool_of_bool w__114 then
+ (is_RV32F_or_RV64F tt) >>= fun w__118 : bool =>
+ (if sumbool_of_bool w__118 then
returnm (concat_vec ('b"0010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17670,8 +17933,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FMIN_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__117 : bool =>
- (if sumbool_of_bool w__117 then
+ (is_RV32F_or_RV64F tt) >>= fun w__121 : bool =>
+ (if sumbool_of_bool w__121 then
returnm (concat_vec ('b"0010100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17680,8 +17943,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FMAX_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__120 : bool =>
- (if sumbool_of_bool w__120 then
+ (is_RV32F_or_RV64F tt) >>= fun w__124 : bool =>
+ (if sumbool_of_bool w__124 then
returnm (concat_vec ('b"0010100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17690,8 +17953,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FEQ_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__123 : bool =>
- (if sumbool_of_bool w__123 then
+ (is_RV32F_or_RV64F tt) >>= fun w__127 : bool =>
+ (if sumbool_of_bool w__127 then
returnm (concat_vec ('b"1010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17700,8 +17963,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FLT_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__126 : bool =>
- (if sumbool_of_bool w__126 then
+ (is_RV32F_or_RV64F tt) >>= fun w__130 : bool =>
+ (if sumbool_of_bool w__130 then
returnm (concat_vec ('b"1010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17710,8 +17973,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FLE_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__129 : bool =>
- (if sumbool_of_bool w__129 then
+ (is_RV32F_or_RV64F tt) >>= fun w__133 : bool =>
+ (if sumbool_of_bool w__133 then
returnm (concat_vec ('b"1010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17720,8 +17983,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_S (rs1, rd, FCLASS_S) =>
- (haveFExt tt) >>= fun w__132 : bool =>
- (if sumbool_of_bool w__132 then
+ (haveFExt tt) >>= fun w__136 : bool =>
+ (if sumbool_of_bool w__136 then
returnm (concat_vec ('b"1110000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17730,8 +17993,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_S (rs1, rd, FMV_X_W) =>
- (haveFExt tt) >>= fun w__135 : bool =>
- (if sumbool_of_bool w__135 then
+ (haveFExt tt) >>= fun w__139 : bool =>
+ (if sumbool_of_bool w__139 then
returnm (concat_vec ('b"1110000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17740,8 +18003,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_S (rs1, rd, FMV_W_X) =>
- (haveFExt tt) >>= fun w__138 : bool =>
- (if sumbool_of_bool w__138 then
+ (haveFExt tt) >>= fun w__142 : bool =>
+ (if sumbool_of_bool w__142 then
returnm (concat_vec ('b"1111000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -17756,13 +18019,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
let v__9 := arg_ in
- let _mappingpatterns_40_ : mword 7 := subrange_vec_dec v__9 6 0 in
- (and_boolM (returnm ((encdec_uop_backwards_matches _mappingpatterns_40_) : bool))
- ((if encdec_uop_backwards_matches _mappingpatterns_40_ then
- (encdec_uop_backwards _mappingpatterns_40_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- (if sumbool_of_bool w__1 then
+ (if let _mappingpatterns_40_ : mword 7 := subrange_vec_dec v__9 6 0 in
+ encdec_uop_backwards_matches _mappingpatterns_40_ then
let imm : mword 20 := subrange_vec_dec v__9 31 12 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
let imm : mword 20 := subrange_vec_dec v__9 31 12 in
@@ -17789,1241 +18047,1169 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
let imm : mword 12 := subrange_vec_dec v__9 31 20 in
returnm (RISCV_JALR (imm, rs1, rd))
+ else if andb
+ (let _mappingpatterns_41_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ encdec_bop_backwards_matches _mappingpatterns_41_)
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"1100011" : mword (6 - 0 + 1))) then
+ let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
+ let imm7_5_0 : bits 6 := subrange_vec_dec v__9 30 25 in
+ let imm5_4_1 : bits 4 := subrange_vec_dec v__9 11 8 in
+ let imm5_0 : bits 1 := subrange_vec_dec v__9 7 7 in
+ let _mappingpatterns_41_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ (encdec_bop_backwards _mappingpatterns_41_) >>= fun op =>
+ returnm (BTYPE
+ (concat_vec (imm7_6 : bits 1)
+ (concat_vec (imm5_0 : bits 1)
+ (concat_vec (imm7_5_0 : bits 6)
+ (concat_vec (imm5_4_1 : bits 4) ('b"0" : mword 1)))), rs2, rs1, op))
+ else if andb
+ (let _mappingpatterns_42_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ encdec_iop_backwards_matches _mappingpatterns_42_)
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1))) then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ let _mappingpatterns_42_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ (encdec_iop_backwards _mappingpatterns_42_) >>= fun op => returnm (ITYPE (imm, rs1, rd, op))
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SLLI))
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRLI))
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"010000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRAI))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_ADD))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"010" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SLT))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"011" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SLTU))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"111" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_AND))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"110" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_OR))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"100" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_XOR))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SLL))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SRL))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SUB))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SRA))
else
(and_boolM
- (let _mappingpatterns_41_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (and_boolM (returnm ((encdec_bop_backwards_matches _mappingpatterns_41_) : bool))
- ((if encdec_bop_backwards_matches _mappingpatterns_41_ then
- (encdec_bop_backwards _mappingpatterns_41_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_44_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_43_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (if size_bits_backwards_matches _mappingpatterns_44_ then
+ (size_bits_backwards _mappingpatterns_44_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_43_ then
+ (bool_bits_backwards _mappingpatterns_43_) >>= fun is_unsigned =>
+ returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 4)
+ (andb (negb is_unsigned)
+ ((Z.leb (projT1 (word_width_bytes size)) 4)
+ : bool)))
+ : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"1100011" : mword (6 - 0 + 1))) : bool))) >>= fun w__4 : bool =>
- (if sumbool_of_bool w__4 then
- let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"0000011" : mword (6 - 0 + 1))) : bool))) >>= fun w__2 : bool =>
+ (if sumbool_of_bool w__2 then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
- let imm7_5_0 : bits 6 := subrange_vec_dec v__9 30 25 in
- let imm5_4_1 : bits 4 := subrange_vec_dec v__9 11 8 in
- let imm5_0 : bits 1 := subrange_vec_dec v__9 7 7 in
- let _mappingpatterns_41_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (encdec_bop_backwards _mappingpatterns_41_) >>= fun op =>
- returnm (BTYPE
- (concat_vec (imm7_6 : bits 1)
- (concat_vec (imm5_0 : bits 1)
- (concat_vec (imm7_5_0 : bits 6)
- (concat_vec (imm5_4_1 : bits 4) ('b"0" : mword 1)))), rs2, rs1, op))
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ let _mappingpatterns_44_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_43_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (size_bits_backwards _mappingpatterns_44_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_43_) >>= fun is_unsigned =>
+ returnm (LOAD (imm, rs1, rd, is_unsigned, size, false, false))
else
(and_boolM
- (let _mappingpatterns_42_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (and_boolM (returnm ((encdec_iop_backwards_matches _mappingpatterns_42_) : bool))
- ((if encdec_iop_backwards_matches _mappingpatterns_42_ then
- (encdec_iop_backwards _mappingpatterns_42_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_45_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ (if size_bits_backwards_matches _mappingpatterns_45_ then
+ (size_bits_backwards _mappingpatterns_45_) >>= fun size =>
+ returnm ((Z.leb (projT1 (word_width_bytes size)) 4) : bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__7 : bool =>
- (if sumbool_of_bool w__7 then
+ (returnm ((andb (eq_vec (subrange_vec_dec v__9 14 14) ('b"0" : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0100011" : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__4 : bool =>
+ (if sumbool_of_bool w__4 then
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_45_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ (size_bits_backwards _mappingpatterns_45_) >>= fun size =>
+ returnm (STORE
+ (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, size, false, false))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))) then
let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- let _mappingpatterns_42_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (encdec_iop_backwards _mappingpatterns_42_) >>= fun op =>
- returnm (ITYPE (imm, rs1, rd, op))
+ returnm (ADDIW (imm, rs1, rd))
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
(andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
- let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SLLI))
+ returnm (SHIFTW (shamt, rs1, rd, RISCV_SLLI))
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
(andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
- let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRLI))
+ returnm (SHIFTW (shamt, rs1, rd, RISCV_SRLI))
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"010000" : mword (31 - 26 + 1)))
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
(andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
- let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRAI))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_ADD))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"010" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (SHIFTW (shamt, rs1, rd, RISCV_SRAI))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SLT))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"011" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_ADDW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SLTU))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"111" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SUBW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_AND))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"110" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SLLW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_OR))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"100" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SRLW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_XOR))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SRAW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SLL))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SLLIW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SRL))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRLIW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SUB))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRAIW))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"0" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ let succ : mword 4 := subrange_vec_dec v__9 23 20 in
+ let pred : mword 4 := subrange_vec_dec v__9 27 24 in
+ returnm (FENCE (pred, succ))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"8" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ let succ : mword 4 := subrange_vec_dec v__9 23 20 in
+ let pred : mword 4 := subrange_vec_dec v__9 27 24 in
+ returnm (FENCE_TSO (pred, succ))
+ else if eq_vec v__9 (Ox"0000100F" : mword 32) then returnm (FENCEI tt)
+ else if eq_vec v__9 (Ox"00000073" : mword 32) then returnm (ECALL tt)
+ else if eq_vec v__9 (Ox"30200073" : mword 32) then returnm (MRET tt)
+ else if eq_vec v__9 (Ox"10200073" : mword 32) then returnm (SRET tt)
+ else if eq_vec v__9 (Ox"00100073" : mword 32) then returnm (EBREAK tt)
+ else if eq_vec v__9 (Ox"10500073" : mword 32) then returnm (WFI tt)
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0001001" : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__9 14 0) ('b"000000001110011" : mword (14 - 0 + 1)))
+ then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SRA))
+ returnm (SFENCE_VMA (rs1, rs2))
else
(and_boolM
- (let _mappingpatterns_44_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_43_ : mword 1 := subrange_vec_dec v__9 14 14 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_44_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_44_ then
- (size_bits_backwards _mappingpatterns_44_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_43_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_43_ then
- (bool_bits_backwards _mappingpatterns_43_) >>= fun is_unsigned =>
- returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 4)
- (andb (negb is_unsigned)
- ((Z.leb (projT1 (word_width_bytes size)) 4)
- : bool)))
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_48_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_47_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_46_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (if size_bits_backwards_matches _mappingpatterns_48_ then
+ (size_bits_backwards _mappingpatterns_48_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_47_ then
+ (bool_bits_backwards _mappingpatterns_47_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_46_ then
+ (bool_bits_backwards _mappingpatterns_46_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"0000011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__12 : bool =>
- (if sumbool_of_bool w__12 then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__9 31 27) ('b"00010" : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 24 20)
+ ('b"00000"
+ : mword (24 - 20 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))))
+ : bool))) >>= fun w__8 : bool =>
+ (if sumbool_of_bool w__8 then
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- let _mappingpatterns_44_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_43_ : mword 1 := subrange_vec_dec v__9 14 14 in
- (size_bits_backwards _mappingpatterns_44_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_43_) >>= fun is_unsigned =>
- returnm (LOAD (imm, rs1, rd, is_unsigned, size, false, false))
+ let _mappingpatterns_48_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_47_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_46_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (size_bits_backwards _mappingpatterns_48_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_47_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_46_) >>= fun aq =>
+ returnm (LOADRES (aq, rl, rs1, size, rd))
else
(and_boolM
- (let _mappingpatterns_45_ : mword 2 := subrange_vec_dec v__9 13 12 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_45_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_45_ then
- (size_bits_backwards _mappingpatterns_45_) >>= fun size =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 4) : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_51_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_50_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_49_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (if size_bits_backwards_matches _mappingpatterns_51_ then
+ (size_bits_backwards _mappingpatterns_51_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_50_ then
+ (bool_bits_backwards _mappingpatterns_50_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_49_ then
+ (bool_bits_backwards _mappingpatterns_49_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 14 14) ('b"0" : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0100011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__15 : bool =>
- (if sumbool_of_bool w__15 then
- let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
- let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_45_ : mword 2 := subrange_vec_dec v__9 13 12 in
- (size_bits_backwards _mappingpatterns_45_) >>= fun size =>
- returnm (STORE
- (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, size, false, false))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))
- then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- returnm (ADDIW (imm, rs1, rd))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTW (shamt, rs1, rd, RISCV_SLLI))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTW (shamt, rs1, rd, RISCV_SRLI))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTW (shamt, rs1, rd, RISCV_SRAI))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_ADDW))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SUBW))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SLLW))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
+ (eq_vec (subrange_vec_dec v__9 31 27)
+ ('b"00011"
+ : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__12 : bool =>
+ (if sumbool_of_bool w__12 then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SRLW))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SRAW))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SLLIW))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRLIW))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRAIW))
- else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"0" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- let succ : mword 4 := subrange_vec_dec v__9 23 20 in
- let pred : mword 4 := subrange_vec_dec v__9 27 24 in
- returnm (FENCE (pred, succ))
- else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"8" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- let succ : mword 4 := subrange_vec_dec v__9 23 20 in
- let pred : mword 4 := subrange_vec_dec v__9 27 24 in
- returnm (FENCE_TSO (pred, succ))
- else if eq_vec v__9 (Ox"0000100F" : mword 32) then returnm (FENCEI tt)
- else if eq_vec v__9 (Ox"00000073" : mword 32) then returnm (ECALL tt)
- else if eq_vec v__9 (Ox"30200073" : mword 32) then returnm (MRET tt)
- else if eq_vec v__9 (Ox"10200073" : mword 32) then returnm (SRET tt)
- else if eq_vec v__9 (Ox"00100073" : mword 32) then returnm (EBREAK tt)
- else if eq_vec v__9 (Ox"10500073" : mword 32) then returnm (WFI tt)
- else if andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0001001" : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__9 14 0)
- ('b"000000001110011"
- : mword (14 - 0 + 1))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- returnm (SFENCE_VMA (rs1, rs2))
+ let _mappingpatterns_51_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_50_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_49_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (size_bits_backwards _mappingpatterns_51_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_50_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_49_) >>= fun aq =>
+ returnm (STORECON (aq, rl, rs2, rs1, size, rd))
else
(and_boolM
- (let _mappingpatterns_48_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_47_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_46_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_48_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_48_ then
- (size_bits_backwards _mappingpatterns_48_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_47_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_47_ then
- (bool_bits_backwards _mappingpatterns_47_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_46_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_46_ then
- (bool_bits_backwards _mappingpatterns_46_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 4)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ let _mappingpatterns_55_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_54_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_53_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ (if size_bits_backwards_matches _mappingpatterns_55_ then
+ (size_bits_backwards _mappingpatterns_55_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_54_ then
+ (bool_bits_backwards _mappingpatterns_54_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_53_ then
+ (bool_bits_backwards _mappingpatterns_53_) >>= fun aq =>
+ (if encdec_amoop_backwards_matches _mappingpatterns_52_ then
+ (encdec_amoop_backwards _mappingpatterns_52_) >>= fun op =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 27)
- ('b"00010"
- : mword (31 - 27 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 24 20)
- ('b"00000"
- : mword (24 - 20 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))))
- : bool))) >>= fun w__22 : bool =>
- (if sumbool_of_bool w__22 then
+ (eq_vec (subrange_vec_dec v__9 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__17 : bool =>
+ (if sumbool_of_bool w__17 then
+ let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_48_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_47_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_46_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (size_bits_backwards _mappingpatterns_48_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_47_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_46_) >>= fun aq =>
- returnm (LOADRES (aq, rl, rs1, size, rd))
+ let _mappingpatterns_55_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_54_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_53_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ (size_bits_backwards _mappingpatterns_55_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_54_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_53_) >>= fun aq =>
+ (encdec_amoop_backwards _mappingpatterns_52_) >>= fun op =>
+ returnm (AMO (op, aq, rl, rs2, rs1, size, rd))
+ else if andb
+ (let _mappingpatterns_56_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ encdec_mul_op_backwards_matches _mappingpatterns_56_)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_56_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ (encdec_mul_op_backwards _mappingpatterns_56_) >>= fun '(high, signed1, signed2) =>
+ returnm (MUL (rs2, rs1, rd, high, signed1, signed2))
+ else if andb
+ (let _mappingpatterns_57_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_57_)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_57_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_57_) >>= fun s =>
+ returnm (DIV (rs2, rs1, rd, s))
+ else if andb
+ (let _mappingpatterns_58_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_58_)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_58_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_58_) >>= fun s =>
+ returnm (REM (rs2, rs1, rd, s))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
+ then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (MULW (rs2, rs1, rd))
else
(and_boolM
- (let _mappingpatterns_51_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_50_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_49_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_51_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_51_ then
- (size_bits_backwards _mappingpatterns_51_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_50_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_50_ then
- (bool_bits_backwards _mappingpatterns_50_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_49_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_49_ then
- (bool_bits_backwards _mappingpatterns_49_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 4)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_59_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_59_ then
+ (bool_not_bits_backwards _mappingpatterns_59_) >>= fun s =>
+ returnm ((Z.eqb 32 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 27)
- ('b"00011"
- : mword (31 - 27 + 1)))
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
(andb
- (eq_vec (subrange_vec_dec v__9 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
(eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0101111"
+ ('b"0111011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__29 : bool =>
- (if sumbool_of_bool w__29 then
+ : bool))) >>= fun w__19 : bool =>
+ (if sumbool_of_bool w__19 then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_51_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_50_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_49_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (size_bits_backwards _mappingpatterns_51_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_50_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_49_) >>= fun aq =>
- returnm (STORECON (aq, rl, rs2, rs1, size, rd))
+ let _mappingpatterns_59_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_59_) >>= fun s =>
+ returnm (DIVW (rs2, rs1, rd, s))
else
(and_boolM
- (let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
- let _mappingpatterns_55_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_54_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_53_ : mword 1 := subrange_vec_dec v__9 26 26 in
- let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_55_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_55_ then
- (size_bits_backwards _mappingpatterns_55_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_54_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_54_ then
- (bool_bits_backwards _mappingpatterns_54_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_53_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_53_
- then
- (bool_bits_backwards _mappingpatterns_53_) >>= fun aq =>
- (and_boolM
- (returnm ((encdec_amoop_backwards_matches
- _mappingpatterns_52_)
- : bool))
- ((if encdec_amoop_backwards_matches
- _mappingpatterns_52_ then
- (encdec_amoop_backwards _mappingpatterns_52_) >>= fun op =>
- returnm ((Z.leb
- (projT1
- (word_width_bytes size)) 4)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_60_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_60_ then
+ (bool_not_bits_backwards _mappingpatterns_60_) >>= fun s =>
+ returnm ((Z.eqb 32 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__38 : bool =>
- (if sumbool_of_bool w__38 then
- let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0111011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__21 : bool =>
+ (if sumbool_of_bool w__21 then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_55_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_54_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_53_ : mword 1 := subrange_vec_dec v__9 26 26 in
- let _mappingpatterns_52_ : mword 5 := subrange_vec_dec v__9 31 27 in
- (size_bits_backwards _mappingpatterns_55_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_54_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_53_) >>= fun aq =>
- (encdec_amoop_backwards _mappingpatterns_52_) >>= fun op =>
- returnm (AMO (op, aq, rl, rs2, rs1, size, rd))
+ let _mappingpatterns_60_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_60_) >>= fun s =>
+ returnm (REMW (rs2, rs1, rd, s))
else
(and_boolM
- (let _mappingpatterns_56_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_mul_op_backwards_matches _mappingpatterns_56_)
- : bool))
- ((if encdec_mul_op_backwards_matches _mappingpatterns_56_ then
- (encdec_mul_op_backwards _mappingpatterns_56_) >>= fun '(high, signed1, signed2) =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_62_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_61_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (if encdec_csrop_backwards_matches _mappingpatterns_62_ then
+ (encdec_csrop_backwards _mappingpatterns_62_) >>= fun op =>
+ returnm ((bool_bits_backwards_matches _mappingpatterns_61_)
+ : bool)
+ else returnm false)
: M (bool))
- (returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__41 : bool =>
- (if sumbool_of_bool w__41 then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (returnm ((eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"1110011"
+ : mword (6 - 0 + 1)))
+ : bool))) >>= fun w__23 : bool =>
+ (if sumbool_of_bool w__23 then
+ let csr : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_56_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (encdec_mul_op_backwards _mappingpatterns_56_) >>= fun '(high, signed1, signed2) =>
- returnm (MUL (rs2, rs1, rd, high, signed1, signed2))
+ let csr : mword 12 := subrange_vec_dec v__9 31 20 in
+ let _mappingpatterns_62_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_61_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (encdec_csrop_backwards _mappingpatterns_62_) >>= fun op =>
+ (bool_bits_backwards _mappingpatterns_61_) >>= fun is_imm =>
+ returnm (CSR (csr, rs1, rd, is_imm, op))
+ else if eq_vec v__9 (Ox"00200073" : mword 32) then returnm (URET tt)
+ else if andb
+ (let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ orb
+ (andb (neq_vec fm (Ox"0" : mword 4))
+ (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5))
+ (neq_vec rd ('b"00000" : mword 5))))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
+ let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ let succ : bits 4 := subrange_vec_dec v__9 23 20 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let pred : bits 4 := subrange_vec_dec v__9 27 24 in
+ let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ returnm (FENCE_RESERVED (fm, pred, succ, rs, rd))
+ else if andb
+ (let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ orb (neq_vec imm (Ox"000" : mword 12))
+ (orb (neq_vec rs zreg) (neq_vec rd zreg)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
+ let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ returnm (FENCEI_RESERVED (imm, rs, rd))
else
- (and_boolM
- (let _mappingpatterns_57_ : mword 1 := subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches _mappingpatterns_57_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_57_ then
- (bool_not_bits_backwards _mappingpatterns_57_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__44 : bool =>
- (if sumbool_of_bool w__44 then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__25 : bool =>
+ (if sumbool_of_bool w__25 then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_57_ : mword 1 := subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_57_) >>= fun s =>
- returnm (DIV (rs2, rs1, rd, s))
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ returnm (LOAD_FP (imm, rs1, rd, WORD))
else
- (and_boolM
- (let _mappingpatterns_58_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_58_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_58_
- then
- (bool_not_bits_backwards _mappingpatterns_58_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__47 : bool =>
- (if sumbool_of_bool w__47 then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_58_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_58_) >>= fun s =>
- returnm (REM (rs2, rs1, rd, s))
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__27 : bool =>
+ (if sumbool_of_bool w__27 then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (MULW (rs2, rs1, rd))
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ returnm (LOAD_FP (imm, rs1, rd, DOUBLE))
else
- (and_boolM
- (let _mappingpatterns_59_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_59_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_59_
- then
- (bool_not_bits_backwards _mappingpatterns_59_) >>= fun s =>
- returnm ((Z.eqb 32 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__50 : bool =>
- (if sumbool_of_bool w__50 then
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__29 : bool =>
+ (if sumbool_of_bool w__29 then
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_59_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_59_) >>= fun s =>
- returnm (DIVW (rs2, rs1, rd, s))
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
+ returnm (STORE_FP
+ (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, WORD))
else
- (and_boolM
- (let _mappingpatterns_60_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_60_)
- : bool))
- ((if bool_not_bits_backwards_matches
- _mappingpatterns_60_ then
- (bool_not_bits_backwards _mappingpatterns_60_) >>= fun s =>
- returnm ((Z.eqb 32 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__53 : bool =>
- (if sumbool_of_bool w__53 then
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__31 : bool =>
+ (if sumbool_of_bool w__31 then
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_60_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_60_) >>= fun s =>
- returnm (REMW (rs2, rs1, rd, s))
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
+ returnm (STORE_FP
+ (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, DOUBLE))
else
(and_boolM
- (let _mappingpatterns_62_ : mword 2 :=
- subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_61_ : mword 1 :=
- subrange_vec_dec v__9 14 14 in
- (and_boolM
- (returnm ((encdec_csrop_backwards_matches
- _mappingpatterns_62_)
- : bool))
- ((if encdec_csrop_backwards_matches
- _mappingpatterns_62_ then
- (encdec_csrop_backwards _mappingpatterns_62_) >>= fun op =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_61_)
- : bool))
- ((if bool_bits_backwards_matches
- _mappingpatterns_61_ then
- (bool_bits_backwards _mappingpatterns_61_) >>= fun is_imm =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_63_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_63_ then
+ (encdec_rounding_mode_backwards _mappingpatterns_63_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0)
- ('b"1110011"
- : mword (6 - 0 + 1)))
- : bool))) >>= fun w__58 : bool =>
- (if sumbool_of_bool w__58 then
- let csr : mword 12 := subrange_vec_dec v__9 31 20 in
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"1000011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__34 : bool =>
+ (if sumbool_of_bool w__34 then
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let csr : mword 12 := subrange_vec_dec v__9 31 20 in
- let _mappingpatterns_62_ : mword 2 :=
- subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_61_ : mword 1 :=
- subrange_vec_dec v__9 14 14 in
- (encdec_csrop_backwards _mappingpatterns_62_) >>= fun op =>
- (bool_bits_backwards _mappingpatterns_61_) >>= fun is_imm =>
- returnm (CSR (csr, rs1, rd, is_imm, op))
- else if eq_vec v__9 (Ox"00200073" : mword 32) then
- returnm (URET tt)
+ let _mappingpatterns_63_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_63_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMADD_S))
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_64_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_64_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_64_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0000111"
+ ('b"1000111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__60 : bool =>
- (if sumbool_of_bool w__60 then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ : bool))) >>= fun w__37 : bool =>
+ (if sumbool_of_bool w__37 then
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- returnm (LOAD_FP (imm, rs1, rd, WORD))
+ let _mappingpatterns_64_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_64_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, FMSUB_S))
else
- (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_65_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_65_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_65_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__9 14 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0000111"
+ ('b"1001011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__62 : bool =>
- (if sumbool_of_bool w__62 then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ : bool))) >>= fun w__40 : bool =>
+ (if sumbool_of_bool w__40 then
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- returnm (LOAD_FP (imm, rs1, rd, DOUBLE))
+ let _mappingpatterns_65_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_65_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, FNMSUB_S))
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_66_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_66_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_66_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__9 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec
(subrange_vec_dec v__9 6 0)
- ('b"0100111"
+ ('b"1001111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__64 : bool =>
- (if sumbool_of_bool w__64 then
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
+ : bool))) >>= fun w__43 : bool =>
+ (if sumbool_of_bool w__43 then
+ let rs3 : mword 5 :=
+ subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 :=
+ subrange_vec_dec v__9 31 27 in
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
- let imm5 : bits 5 :=
- subrange_vec_dec v__9 11 7 in
- returnm (STORE_FP
- (concat_vec (imm7 : bits 7)
- (imm5
- : bits 5), rs2, rs1, WORD))
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_66_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_66_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, FNMADD_S))
else
(and_boolM
- ((is_RV32D_or_RV64D tt)
+ (let _mappingpatterns_67_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_67_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_67_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__9 14
- 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__9 31
+ 25)
+ ('b"0000000"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec v__9 6 0)
- ('b"0100111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__66 : bool =>
- (if sumbool_of_bool w__66 then
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
+ : bool))) >>= fun w__46 : bool =>
+ (if sumbool_of_bool w__46 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
- let imm5 : bits 5 :=
+ let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- returnm (STORE_FP
- (concat_vec (imm7 : bits 7)
- (imm5
- : bits 5), rs2, rs1, DOUBLE))
+ let _mappingpatterns_67_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_67_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FADD_S))
else
(and_boolM
- (let _mappingpatterns_63_ : mword 3 :=
+ (let _mappingpatterns_68_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_63_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_63_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_63_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_68_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_68_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec v__9
- 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ 31 25)
+ ('b"0000100"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec v__9 6
0)
- ('b"1000011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__70 : bool =>
- (if sumbool_of_bool w__70 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
+ : bool))) >>= fun w__49 : bool =>
+ (if sumbool_of_bool w__49 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_63_ : mword 3 :=
+ let _mappingpatterns_68_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_63_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FMADD_S))
+ _mappingpatterns_68_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FSUB_S))
else
(and_boolM
- (let _mappingpatterns_64_ : mword 3 :=
+ (let _mappingpatterns_69_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_64_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_64_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_64_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_69_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_69_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__9 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__9 31 25)
+ ('b"0001000"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
- ('b"1000111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__74 : bool =>
- (if sumbool_of_bool w__74 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
+ : bool))) >>= fun w__52 : bool =>
+ (if sumbool_of_bool w__52 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_64_ : mword 3 :=
+ let _mappingpatterns_69_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_64_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FMSUB_S))
+ _mappingpatterns_69_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FMUL_S))
else
(and_boolM
- (let _mappingpatterns_65_ : mword 3 :=
+ (let _mappingpatterns_70_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_65_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_65_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_65_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_70_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_70_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__9 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__9 31 25)
+ ('b"0001100"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
- ('b"1001011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__78 : bool =>
- (if sumbool_of_bool w__78 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
+ : bool))) >>= fun w__55 : bool =>
+ (if sumbool_of_bool w__55 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_65_ : mword 3 :=
+ let _mappingpatterns_70_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_65_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FNMSUB_S))
+ _mappingpatterns_70_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FDIV_S))
else
(and_boolM
- (let _mappingpatterns_66_ : mword 3 :=
+ (let _mappingpatterns_71_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_66_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_66_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_66_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_71_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_71_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__9 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__9 31 20)
+ (Ox"580"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
- ('b"1001111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__82 : bool =>
- (if sumbool_of_bool w__82 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs2 : mword 5 :=
- subrange_vec_dec v__9 24 20 in
+ : bool))) >>= fun w__58 : bool =>
+ (if sumbool_of_bool w__58 then
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_66_ : mword 3 :=
+ let _mappingpatterns_71_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_66_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FNMADD_S))
+ _mappingpatterns_71_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FSQRT_S))
else
(and_boolM
- (let _mappingpatterns_67_ : mword 3 :=
+ (let _mappingpatterns_72_ : mword 3 :=
subrange_vec_dec v__9 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_67_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_67_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_67_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_72_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_72_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9 31
- 25)
- ('b"0000000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"C00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__86 : bool =>
- (if sumbool_of_bool w__86 then
- let rs2 : mword 5 :=
- subrange_vec_dec v__9 24
- 20 in
+ : bool))) >>= fun w__61 : bool =>
+ (if sumbool_of_bool w__61 then
let rs1 : mword 5 :=
subrange_vec_dec v__9 19
15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_67_ : mword 3 :=
+ let _mappingpatterns_72_ : mword 3 :=
subrange_vec_dec v__9 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_67_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FADD_S))
+ _mappingpatterns_72_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_W_S))
else
(and_boolM
- (let _mappingpatterns_68_ : mword 3 :=
+ (let _mappingpatterns_73_ : mword 3 :=
subrange_vec_dec v__9
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_68_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_68_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_68_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_73_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_73_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 31 25)
- ('b"0000100"
- : mword (31 - 25 + 1)))
+ 31 20)
+ (Ox"C01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__90 : bool =>
+ : bool))) >>= fun w__64 : bool =>
(if sumbool_of_bool
- w__90 then
- let rs2 : mword 5 :=
- subrange_vec_dec v__9
- 24 20 in
+ w__64 then
let rs1 : mword 5 :=
subrange_vec_dec v__9
19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9
11 7 in
- let _mappingpatterns_68_ : mword 3 :=
+ let _mappingpatterns_73_ : mword 3 :=
subrange_vec_dec v__9
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_68_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FSUB_S))
+ _mappingpatterns_73_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_WU_S))
else
(and_boolM
- (let _mappingpatterns_69_ : mword 3 :=
+ (let _mappingpatterns_74_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_69_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_69_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_69_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_74_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_74_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0001000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__94 : bool =>
+ : bool))) >>= fun w__67 : bool =>
(if sumbool_of_bool
- w__94 then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9 24 20 in
+ w__67 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_69_ : mword 3 :=
+ let _mappingpatterns_74_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_69_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FMUL_S))
+ _mappingpatterns_74_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_W))
else
(and_boolM
- (let _mappingpatterns_70_ : mword 3 :=
+ (let _mappingpatterns_75_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_70_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_70_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_70_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_75_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_75_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0001100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
@@ -19031,45 +19217,36 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__98 : bool =>
+ : bool))) >>= fun w__70 : bool =>
(if sumbool_of_bool
- w__98 then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9 24 20 in
+ w__70 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_70_ : mword 3 :=
+ let _mappingpatterns_75_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_70_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FDIV_S))
+ _mappingpatterns_75_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_WU))
else
(and_boolM
- (let _mappingpatterns_71_ : mword 3 :=
+ (let _mappingpatterns_76_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_71_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_71_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_71_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_76_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_76_) >>= fun rm =>
+ (is_RV64F tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -19077,7 +19254,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"580"
+ (Ox"C02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19086,43 +19263,38 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__102 : bool =>
+ : bool))) >>= fun w__73 : bool =>
(if sumbool_of_bool
- w__102 then
+ w__73 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_71_ : mword 3 :=
+ let _mappingpatterns_76_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_71_) >>= fun rm =>
+ _mappingpatterns_76_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FSQRT_S))
+ (rs1, rm, rd, FCVT_L_S))
else
(and_boolM
- (let _mappingpatterns_72_ : mword 3 :=
+ (let _mappingpatterns_77_ : mword 3 :=
subrange_vec_dec
v__9 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_72_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_72_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_72_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_77_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_77_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -19130,7 +19302,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"C00"
+ (Ox"C03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19139,9 +19311,9 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__106 : bool =>
+ : bool))) >>= fun w__76 : bool =>
(if sumbool_of_bool
- w__106 then
+ w__76 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19
@@ -19149,35 +19321,30 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_72_ : mword 3 :=
+ let _mappingpatterns_77_ : mword 3 :=
subrange_vec_dec
v__9 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_72_) >>= fun rm =>
+ _mappingpatterns_77_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_W_S))
+ (rs1, rm, rd, FCVT_LU_S))
else
(and_boolM
- (let _mappingpatterns_73_ : mword 3 :=
+ (let _mappingpatterns_78_ : mword 3 :=
subrange_vec_dec
v__9
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_73_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_73_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_73_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_78_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_78_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -19185,7 +19352,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"C01"
+ (Ox"D02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19194,10 +19361,9 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__110 : bool =>
+ : bool))) >>= fun w__79 : bool =>
(if sumbool_of_bool
- w__110
- then
+ w__79 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19206,37 +19372,31 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
subrange_vec_dec
v__9
11 7 in
- let _mappingpatterns_73_ : mword 3 :=
+ let _mappingpatterns_78_ : mword 3 :=
subrange_vec_dec
v__9
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_73_) >>= fun rm =>
+ _mappingpatterns_78_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_WU_S))
+ (rs1, rm, rd, FCVT_S_L))
else
(and_boolM
- (let _mappingpatterns_74_ : mword 3 :=
+ (let _mappingpatterns_79_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_74_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_74_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_74_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_79_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_79_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -19244,7 +19404,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"D00"
+ (Ox"D03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19253,9 +19413,9 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__114 : bool =>
+ : bool))) >>= fun w__82 : bool =>
(if sumbool_of_bool
- w__114
+ w__82
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -19267,58 +19427,52 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_74_ : mword 3 :=
+ let _mappingpatterns_79_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_74_) >>= fun rm =>
+ _mappingpatterns_79_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_W))
+ (rs1, rm, rd, FCVT_S_LU))
else
(and_boolM
- (let _mappingpatterns_75_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_75_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_75_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_75_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D01"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__118 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__84 : bool =>
(if sumbool_of_bool
- w__118
+ w__84
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19329,58 +19483,45 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_75_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_75_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_WU))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJ_S))
else
(and_boolM
- (let _mappingpatterns_76_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_76_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_76_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_76_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"C02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__122 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__86 : bool =>
(if sumbool_of_bool
- w__122
+ w__86
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19391,59 +19532,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_76_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_76_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_L_S))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJN_S))
else
(and_boolM
- (let _mappingpatterns_77_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_77_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_77_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_77_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"C03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__126 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__88 : bool =>
(if
sumbool_of_bool
- w__126
+ w__88
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19454,59 +19582,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_77_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_77_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_LU_S))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJX_S))
else
(and_boolM
- (let _mappingpatterns_78_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_78_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_78_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_78_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__130 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__90 : bool =>
(if
sumbool_of_bool
- w__130
+ w__90
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19517,59 +19632,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_78_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_78_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_L))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMIN_S))
else
(and_boolM
- (let _mappingpatterns_79_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_79_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_79_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_79_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__134 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__92 : bool =>
(if
sumbool_of_bool
- w__134
+ w__92
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19580,15 +19682,8 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_79_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_79_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_LU))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMAX_S))
else
(and_boolM
((is_RV32F_or_RV64F
@@ -19600,7 +19695,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -19608,7 +19703,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
14
12)
- ('b"000"
+ ('b"010"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19617,10 +19712,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__136 : bool =>
+ : bool))) >>= fun w__94 : bool =>
(if
sumbool_of_bool
- w__136
+ w__94
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -19638,7 +19733,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJ_S))
+ (rs2, rs1, rd, FEQ_S))
else
(and_boolM
((is_RV32F_or_RV64F
@@ -19650,7 +19745,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -19667,10 +19762,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__138 : bool =>
+ : bool))) >>= fun w__96 : bool =>
(if
sumbool_of_bool
- w__138
+ w__96
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -19688,7 +19783,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJN_S))
+ (rs2, rs1, rd, FLT_S))
else
(and_boolM
((is_RV32F_or_RV64F
@@ -19700,7 +19795,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -19708,7 +19803,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19717,10 +19812,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__140 : bool =>
+ : bool))) >>= fun w__98 : bool =>
(if
sumbool_of_bool
- w__140
+ w__98
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -19738,10 +19833,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJX_S))
+ (rs2, rs1, rd, FLE_S))
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
@@ -19749,16 +19844,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"000"
+ ('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19767,16 +19862,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__142 : bool =>
+ : bool))) >>= fun w__100 : bool =>
(if
sumbool_of_bool
- w__142
+ w__100
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19787,11 +19877,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMIN_S))
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FCLASS_S))
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
@@ -19799,16 +19889,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"001"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19817,16 +19907,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__144 : bool =>
+ : bool))) >>= fun w__102 : bool =>
(if
sumbool_of_bool
- w__144
+ w__102
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -19837,11 +19922,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMAX_S))
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FMV_X_W))
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
@@ -19849,16 +19934,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"F00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -19867,271 +19952,26 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__146 : bool =>
- (if
- sumbool_of_bool
- w__146
- then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FEQ_S))
- else
- (and_boolM
- ((is_RV32F_or_RV64F
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__148 : bool =>
- (if
- sumbool_of_bool
- w__148
- then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLT_S))
- else
- (and_boolM
- ((is_RV32F_or_RV64F
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__150 : bool =>
- (if
- sumbool_of_bool
- w__150
- then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLE_S))
- else
- (and_boolM
- ((haveFExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__152 : bool =>
- (if
- sumbool_of_bool
- w__152
- then
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_UN_TYPE_S
- (rs1, rd, FCLASS_S))
- else
- (and_boolM
- ((haveFExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__154 : bool =>
- (if
- sumbool_of_bool
- w__154
- then
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_UN_TYPE_S
- (rs1, rd, FMV_X_W))
- else
- (and_boolM
- ((haveFExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 20)
- (Ox"F00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__156 : bool =>
- returnm (if
- sumbool_of_bool
- w__156
- then
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- F_UN_TYPE_S
- (rs1, rd, FMV_W_X)
- else
- ILLEGAL
- v__9))
- : M (ast))
- : M (ast))
- : M (ast))
- : M (ast))
- : M (ast))
+ : bool))) >>= fun w__104 : bool =>
+ returnm (if
+ sumbool_of_bool
+ w__104
+ then
+ let rs1 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 19
+ 15 in
+ let rd : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 11
+ 7 in
+ F_UN_TYPE_S
+ (rs1, rd, FMV_W_X)
+ else
+ ILLEGAL
+ v__9))
: M (ast))
: M (ast))
: M (ast))
@@ -20176,12 +20016,12 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
(match arg_ with
| UTYPE (imm, rd, op) => returnm true
- | RISCV_JAL (v__341, rd) =>
- returnm (if eq_vec (subrange_vec_dec v__341 0 0) ('b"0" : mword (0 - 0 + 1)) then true
+ | RISCV_JAL (v__347, rd) =>
+ returnm (if eq_vec (subrange_vec_dec v__347 0 0) ('b"0" : mword (0 - 0 + 1)) then true
else false)
| RISCV_JALR (imm, rs1, rd) => returnm true
- | BTYPE (v__343, rs2, rs1, op) =>
- returnm (if eq_vec (subrange_vec_dec v__343 0 0) ('b"0" : mword (0 - 0 + 1)) then true
+ | BTYPE (v__349, rs2, rs1, op) =>
+ returnm (if eq_vec (subrange_vec_dec v__349 0 0) ('b"0" : mword (0 - 0 + 1)) then true
else false)
| ITYPE (imm, rs1, rd, op) => returnm true
| SHIFTIOP (shamt, rs1, rd, RISCV_SLLI) => returnm true
@@ -20204,7 +20044,7 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
then
true
else false)
- | STORE (v__345, rs2, rs1, size, false, false) =>
+ | STORE (v__351, rs2, rs1, size, false, false) =>
returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 4) then true else false)
| ADDIW (imm, rs1, rd) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
| SHIFTW (shamt, rs1, rd, RISCV_SLLI) =>
@@ -20238,12 +20078,10 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
| EBREAK tt => returnm true
| WFI tt => returnm true
| SFENCE_VMA (rs1, rs2) => returnm true
- | LOADRES (aq, rl, rs1, size, rd) =>
- returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 4) then true else false)
+ | LOADRES (aq, rl, rs1, size, rd) => returnm (if amo_width_valid size then true else false)
| STORECON (aq, rl, rs2, rs1, size, rd) =>
- returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 4) then true else false)
- | AMO (op, aq, rl, rs2, rs1, size, rd) =>
- returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 4) then true else false)
+ returnm (if amo_width_valid size then true else false)
+ | AMO (op, aq, rl, rs2, rs1, size, rd) => returnm (if amo_width_valid size then true else false)
| MUL (rs2, rs1, rd, high, signed1, signed2) => returnm true
| DIV (rs2, rs1, rd, s) => returnm true
| REM (rs2, rs1, rd, s) => returnm true
@@ -20252,16 +20090,27 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
| REMW (rs2, rs1, rd, s) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
| CSR (csr, rs1, rd, is_imm, op) => returnm true
| URET tt => returnm true
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ returnm (if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5)))
+ then
+ true
+ else false)
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ returnm (if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg))
+ then
+ true
+ else false)
| LOAD_FP (imm, rs1, rd, WORD) =>
(is_RV32F_or_RV64F tt) >>= fun w__0 : bool =>
returnm (if sumbool_of_bool w__0 then true else false)
| LOAD_FP (imm, rs1, rd, DOUBLE) =>
(is_RV32D_or_RV64D tt) >>= fun w__1 : bool =>
returnm (if sumbool_of_bool w__1 then true else false)
- | STORE_FP (v__346, rs2, rs1, WORD) =>
+ | STORE_FP (v__352, rs2, rs1, WORD) =>
(is_RV32F_or_RV64F tt) >>= fun w__2 : bool =>
returnm (if sumbool_of_bool w__2 then true else false)
- | STORE_FP (v__347, rs2, rs1, DOUBLE) =>
+ | STORE_FP (v__353, rs2, rs1, DOUBLE) =>
(is_RV32D_or_RV64D tt) >>= fun w__3 : bool =>
returnm (if sumbool_of_bool w__3 then true else false)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMADD_S) =>
@@ -20347,1487 +20196,1290 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
: M (bool).
Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
- let v__348 := arg_ in
- let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__348 6 0 in
- (and_boolM (returnm ((encdec_uop_backwards_matches _mappingpatterns_0_) : bool))
- ((if encdec_uop_backwards_matches _mappingpatterns_0_ then
- (encdec_uop_backwards _mappingpatterns_0_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- (if sumbool_of_bool w__1 then
- let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__348 6 0 in
+ let v__354 := arg_ in
+ (if let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__354 6 0 in
+ encdec_uop_backwards_matches _mappingpatterns_0_ then
+ let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__354 6 0 in
(encdec_uop_backwards _mappingpatterns_0_) >>= fun op => returnm true
- else if eq_vec (subrange_vec_dec v__348 6 0) ('b"1101111" : mword (6 - 0 + 1)) then
+ else if eq_vec (subrange_vec_dec v__354 6 0) ('b"1101111" : mword (6 - 0 + 1)) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"1100111" : mword (6 - 0 + 1))) then
+ returnm true
+ else if andb
+ (let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__354 14 12 in
+ encdec_bop_backwards_matches _mappingpatterns_1_)
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"1100011" : mword (6 - 0 + 1))) then
+ let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__354 14 12 in
+ (encdec_bop_backwards _mappingpatterns_1_) >>= fun op => returnm true
+ else if andb
+ (let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__354 14 12 in
+ encdec_iop_backwards_matches _mappingpatterns_2_)
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0010011" : mword (6 - 0 + 1))) then
+ let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__354 14 12 in
+ (encdec_iop_backwards _mappingpatterns_2_) >>= fun op => returnm true
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__354 25 20 in
+ orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__354 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ returnm true
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__354 25 20 in
+ orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__354 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ returnm true
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__354 25 20 in
+ orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__354 31 26) ('b"010000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"010" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"1100111" : mword (6 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"011" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"111" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"110" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"100" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
returnm true
else
(and_boolM
- (let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__348 14 12 in
- (and_boolM (returnm ((encdec_bop_backwards_matches _mappingpatterns_1_) : bool))
- ((if encdec_bop_backwards_matches _mappingpatterns_1_ then
- (encdec_bop_backwards _mappingpatterns_1_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__354 14 14 in
+ (if size_bits_backwards_matches _mappingpatterns_4_ then
+ (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_3_ then
+ (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned =>
+ returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 4)
+ (andb (negb is_unsigned)
+ ((Z.leb (projT1 (word_width_bytes size)) 4)
+ : bool)))
+ : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__348 6 0) ('b"1100011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__4 : bool =>
- (if sumbool_of_bool w__4 then
- let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__348 14 12 in
- (encdec_bop_backwards _mappingpatterns_1_) >>= fun op => returnm true
+ (returnm ((eq_vec (subrange_vec_dec v__354 6 0) ('b"0000011" : mword (6 - 0 + 1)))
+ : bool))) >>= fun w__2 : bool =>
+ (if sumbool_of_bool w__2 then
+ let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__354 14 14 in
+ (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned => returnm true
else
(and_boolM
- (let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__348 14 12 in
- (and_boolM (returnm ((encdec_iop_backwards_matches _mappingpatterns_2_) : bool))
- ((if encdec_iop_backwards_matches _mappingpatterns_2_ then
- (encdec_iop_backwards _mappingpatterns_2_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ (if size_bits_backwards_matches _mappingpatterns_5_ then
+ (size_bits_backwards _mappingpatterns_5_) >>= fun size =>
+ returnm ((Z.leb (projT1 (word_width_bytes size)) 4) : bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__348 6 0) ('b"0010011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__7 : bool =>
- (if sumbool_of_bool w__7 then
- let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__348 14 12 in
- (encdec_iop_backwards _mappingpatterns_2_) >>= fun op => returnm true
+ (returnm ((andb (eq_vec (subrange_vec_dec v__354 14 14) ('b"0" : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0100011" : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__4 : bool =>
+ (if sumbool_of_bool w__4 then
+ let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ (size_bits_backwards _mappingpatterns_5_) >>= fun size => returnm true
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__348 25 20 in
- orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__348 31 26) ('b"000000" : mword (31 - 26 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0010011" : mword (6 - 0 + 1))))))
- then
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0011011" : mword (6 - 0 + 1))))) then
returnm true
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__348 25 20 in
- orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__348 31 26) ('b"000000" : mword (31 - 26 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0010011" : mword (6 - 0 + 1))))))
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__348 25 20 in
- orb (Z.eqb 32 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__348 31 26) ('b"010000" : mword (31 - 26 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0010011" : mword (6 - 0 + 1))))))
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"010" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"011" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"111" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"110" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"100" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__354 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0110011" : mword (6 - 0 + 1))))
- then
+ else if andb (eq_vec (subrange_vec_dec v__354 31 28) (Ox"0" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__354 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 28) (Ox"8" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__354 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ returnm true
+ else if eq_vec v__354 (Ox"0000100F" : mword 32) then returnm true
+ else if eq_vec v__354 (Ox"00000073" : mword 32) then returnm true
+ else if eq_vec v__354 (Ox"30200073" : mword 32) then returnm true
+ else if eq_vec v__354 (Ox"10200073" : mword 32) then returnm true
+ else if eq_vec v__354 (Ox"00100073" : mword 32) then returnm true
+ else if eq_vec v__354 (Ox"10500073" : mword 32) then returnm true
+ else if andb (eq_vec (subrange_vec_dec v__354 31 25) ('b"0001001" : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__354 14 0)
+ ('b"000000001110011"
+ : mword (14 - 0 + 1))) then
returnm true
else
(and_boolM
- (let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__348 14 14 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_4_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_4_ then
- (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_3_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_3_ then
- (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned =>
- returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 4)
- (andb (negb is_unsigned)
- ((Z.leb (projT1 (word_width_bytes size)) 4)
- : bool)))
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__354 25 25 in
+ let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__354 26 26 in
+ (if size_bits_backwards_matches _mappingpatterns_8_ then
+ (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_7_ then
+ (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_6_ then
+ (bool_bits_backwards _mappingpatterns_6_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__348 6 0) ('b"0000011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__12 : bool =>
- (if sumbool_of_bool w__12 then
- let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__348 14 14 in
- (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned => returnm true
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__354 31 27)
+ ('b"00010"
+ : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 24 20)
+ ('b"00000"
+ : mword (24 - 20 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))))
+ : bool))) >>= fun w__8 : bool =>
+ (if sumbool_of_bool w__8 then
+ let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__354 25 25 in
+ let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__354 26 26 in
+ (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_6_) >>= fun aq => returnm true
else
(and_boolM
- (let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__348 13 12 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_5_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_5_ then
- (size_bits_backwards _mappingpatterns_5_) >>= fun size =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 4) : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__354 26 26 in
+ let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__354 25 25 in
+ (if size_bits_backwards_matches _mappingpatterns_11_ then
+ (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_10_ then
+ (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_9_ then
+ (bool_bits_backwards _mappingpatterns_9_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0100011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__15 : bool =>
- (if sumbool_of_bool w__15 then
- let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__348 13 12 in
- (size_bits_backwards _mappingpatterns_5_) >>= fun size => returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__348 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0011011" : mword (6 - 0 + 1)))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 28) (Ox"0" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__348 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- returnm true
- else if andb (eq_vec (subrange_vec_dec v__348 31 28) (Ox"8" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__348 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- returnm true
- else if eq_vec v__348 (Ox"0000100F" : mword 32) then returnm true
- else if eq_vec v__348 (Ox"00000073" : mword 32) then returnm true
- else if eq_vec v__348 (Ox"30200073" : mword 32) then returnm true
- else if eq_vec v__348 (Ox"10200073" : mword 32) then returnm true
- else if eq_vec v__348 (Ox"00100073" : mword 32) then returnm true
- else if eq_vec v__348 (Ox"10500073" : mword 32) then returnm true
- else if andb
- (eq_vec (subrange_vec_dec v__348 31 25)
- ('b"0001001"
- : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__348 14 0)
- ('b"000000001110011"
- : mword (14 - 0 + 1))) then
- returnm true
+ (eq_vec (subrange_vec_dec v__354 31 27)
+ ('b"00011"
+ : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__12 : bool =>
+ (if sumbool_of_bool w__12 then
+ let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__354 26 26 in
+ let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__354 25 25 in
+ (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_9_) >>= fun aq => returnm true
else
(and_boolM
- (let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__348 25 25 in
- let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__348 26 26 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_8_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_8_ then
- (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_7_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_7_ then
- (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_6_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_6_ then
- (bool_bits_backwards _mappingpatterns_6_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 4)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__354 31 27 in
+ let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__354 25 25 in
+ let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__354 26 26 in
+ let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__354 31 27 in
+ (if size_bits_backwards_matches _mappingpatterns_15_ then
+ (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_14_ then
+ (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_13_ then
+ (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
+ (if encdec_amoop_backwards_matches _mappingpatterns_12_ then
+ (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 31 27)
- ('b"00010"
- : mword (31 - 27 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 24 20)
- ('b"00000"
- : mword (24 - 20 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))))
- : bool))) >>= fun w__22 : bool =>
- (if sumbool_of_bool w__22 then
- let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__348 25 25 in
- let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__348 26 26 in
- (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_6_) >>= fun aq => returnm true
+ (eq_vec (subrange_vec_dec v__354 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__17 : bool =>
+ (if sumbool_of_bool w__17 then
+ let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__354 31 27 in
+ let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__354 25 25 in
+ let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__354 26 26 in
+ let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__354 31 27 in
+ (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
+ (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op => returnm true
+ else if andb
+ (let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__354 14 12 in
+ encdec_mul_op_backwards_matches _mappingpatterns_16_)
+ (andb
+ (eq_vec (subrange_vec_dec v__354 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1)))) then
+ let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__354 14 12 in
+ (encdec_mul_op_backwards _mappingpatterns_16_) >>= fun '(high, signed1, signed2) =>
+ returnm true
+ else if andb
+ (let _mappingpatterns_17_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_17_)
+ (andb
+ (eq_vec (subrange_vec_dec v__354 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let _mappingpatterns_17_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_17_) >>= fun s => returnm true
+ else if andb
+ (let _mappingpatterns_18_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_18_)
+ (andb
+ (eq_vec (subrange_vec_dec v__354 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let _mappingpatterns_18_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_18_) >>= fun s => returnm true
+ else if sumbool_of_bool
+ (andb (Z.eqb 32 64)
+ (andb
+ (eq_vec (subrange_vec_dec v__354 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0111011"
+ : mword (6 - 0 + 1)))))) then
+ returnm true
else
(and_boolM
- (let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__348 26 26 in
- let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__348 25 25 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_11_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_11_ then
- (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_10_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_10_ then
- (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_9_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_9_ then
- (bool_bits_backwards _mappingpatterns_9_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 4)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_19_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_19_ then
+ (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s =>
+ returnm ((Z.eqb 32 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 31 27)
- ('b"00011"
- : mword (31 - 27 + 1)))
+ (eq_vec (subrange_vec_dec v__354 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
(andb
- (eq_vec (subrange_vec_dec v__348 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0101111"
+ (eq_vec (subrange_vec_dec v__354 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0111011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__29 : bool =>
- (if sumbool_of_bool w__29 then
- let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__348 26 26 in
- let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__348 25 25 in
- (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_9_) >>= fun aq => returnm true
+ : bool))) >>= fun w__19 : bool =>
+ (if sumbool_of_bool w__19 then
+ let _mappingpatterns_19_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s => returnm true
else
(and_boolM
- (let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__348 31 27 in
- let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__348 25 25 in
- let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__348 26 26 in
- let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__348 31 27 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_15_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_15_ then
- (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_14_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_14_ then
- (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_13_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_13_
- then
- (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
- (and_boolM
- (returnm ((encdec_amoop_backwards_matches
- _mappingpatterns_12_)
- : bool))
- ((if encdec_amoop_backwards_matches
- _mappingpatterns_12_ then
- (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op =>
- returnm ((Z.leb
- (projT1
- (word_width_bytes size)) 4)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_20_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_20_ then
+ (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s =>
+ returnm ((Z.eqb 32 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__38 : bool =>
- (if sumbool_of_bool w__38 then
- let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__348 31 27 in
- let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__348 25 25 in
- let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__348 26 26 in
- let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__348 31 27 in
- (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
- (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op => returnm true
+ (eq_vec (subrange_vec_dec v__354 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0111011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__21 : bool =>
+ (if sumbool_of_bool w__21 then
+ let _mappingpatterns_20_ : mword 1 := subrange_vec_dec v__354 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s => returnm true
else
(and_boolM
- (let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__348 14 12 in
- (and_boolM
- (returnm ((encdec_mul_op_backwards_matches _mappingpatterns_16_)
- : bool))
- ((if encdec_mul_op_backwards_matches _mappingpatterns_16_ then
- (encdec_mul_op_backwards _mappingpatterns_16_) >>= fun '(high, signed1, signed2) =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_22_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_21_ : mword 1 := subrange_vec_dec v__354 14 14 in
+ (if encdec_csrop_backwards_matches _mappingpatterns_22_ then
+ (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
+ returnm ((bool_bits_backwards_matches _mappingpatterns_21_)
+ : bool)
+ else returnm false)
: M (bool))
- (returnm ((andb
- (eq_vec (subrange_vec_dec v__348 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__41 : bool =>
- (if sumbool_of_bool w__41 then
- let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__348 14 12 in
- (encdec_mul_op_backwards _mappingpatterns_16_) >>= fun '(high, signed1, signed2) =>
+ (returnm ((eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"1110011"
+ : mword (6 - 0 + 1)))
+ : bool))) >>= fun w__23 : bool =>
+ (if sumbool_of_bool w__23 then
+ let _mappingpatterns_22_ : mword 2 := subrange_vec_dec v__354 13 12 in
+ let _mappingpatterns_21_ : mword 1 := subrange_vec_dec v__354 14 14 in
+ (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
+ (bool_bits_backwards _mappingpatterns_21_) >>= fun is_imm =>
+ returnm true
+ else if eq_vec v__354 (Ox"00200073" : mword 32) then returnm true
+ else if andb
+ (let fm : bits 4 := subrange_vec_dec v__354 31 28 in
+ let rs : regidx := subrange_vec_dec v__354 19 15 in
+ let rd : regidx := subrange_vec_dec v__354 11 7 in
+ let fm : bits 4 := subrange_vec_dec v__354 31 28 in
+ orb
+ (andb (neq_vec fm (Ox"0" : mword 4))
+ (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5))
+ (neq_vec rd ('b"00000" : mword 5))))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let imm : bits 12 := subrange_vec_dec v__354 31 20 in
+ let rs : regidx := subrange_vec_dec v__354 19 15 in
+ let rd : regidx := subrange_vec_dec v__354 11 7 in
+ let imm : bits 12 := subrange_vec_dec v__354 31 20 in
+ orb (neq_vec imm (Ox"000" : mword 12))
+ (orb (neq_vec rs zreg) (neq_vec rd zreg)))
+ (andb
+ (eq_vec (subrange_vec_dec v__354 14 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
returnm true
else
- (and_boolM
- (let _mappingpatterns_17_ : mword 1 :=
- subrange_vec_dec v__348 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches _mappingpatterns_17_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_17_ then
- (bool_not_bits_backwards _mappingpatterns_17_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__44 : bool =>
- (if sumbool_of_bool w__44 then
- let _mappingpatterns_17_ : mword 1 := subrange_vec_dec v__348 12 12 in
- (bool_not_bits_backwards _mappingpatterns_17_) >>= fun s =>
- returnm true
+ (eq_vec (subrange_vec_dec v__354 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__25 : bool =>
+ (if sumbool_of_bool w__25 then returnm true
else
- (and_boolM
- (let _mappingpatterns_18_ : mword 1 :=
- subrange_vec_dec v__348 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_18_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_18_
- then
- (bool_not_bits_backwards _mappingpatterns_18_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__47 : bool =>
- (if sumbool_of_bool w__47 then
- let _mappingpatterns_18_ : mword 1 :=
- subrange_vec_dec v__348 12 12 in
- (bool_not_bits_backwards _mappingpatterns_18_) >>= fun s =>
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 32 64)
- (andb
- (eq_vec (subrange_vec_dec v__348 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))) then
- returnm true
+ (eq_vec (subrange_vec_dec v__354 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__27 : bool =>
+ (if sumbool_of_bool w__27 then returnm true
else
- (and_boolM
- (let _mappingpatterns_19_ : mword 1 :=
- subrange_vec_dec v__348 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_19_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_19_
- then
- (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s =>
- returnm ((Z.eqb 32 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__50 : bool =>
- (if sumbool_of_bool w__50 then
- let _mappingpatterns_19_ : mword 1 :=
- subrange_vec_dec v__348 12 12 in
- (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s =>
- returnm true
+ (eq_vec (subrange_vec_dec v__354 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__29 : bool =>
+ (if sumbool_of_bool w__29 then returnm true
else
- (and_boolM
- (let _mappingpatterns_20_ : mword 1 :=
- subrange_vec_dec v__348 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_20_)
- : bool))
- ((if bool_not_bits_backwards_matches
- _mappingpatterns_20_ then
- (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s =>
- returnm ((Z.eqb 32 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__348 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__53 : bool =>
- (if sumbool_of_bool w__53 then
- let _mappingpatterns_20_ : mword 1 :=
- subrange_vec_dec v__348 12 12 in
- (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s =>
- returnm true
+ (eq_vec (subrange_vec_dec v__354 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__31 : bool =>
+ (if sumbool_of_bool w__31 then returnm true
else
(and_boolM
- (let _mappingpatterns_22_ : mword 2 :=
- subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_21_ : mword 1 :=
- subrange_vec_dec v__348 14 14 in
- (and_boolM
- (returnm ((encdec_csrop_backwards_matches
- _mappingpatterns_22_)
- : bool))
- ((if encdec_csrop_backwards_matches
- _mappingpatterns_22_ then
- (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_21_)
- : bool))
- ((if bool_bits_backwards_matches
- _mappingpatterns_21_ then
- (bool_bits_backwards _mappingpatterns_21_) >>= fun is_imm =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_23_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_23_ then
+ (encdec_rounding_mode_backwards _mappingpatterns_23_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__348 6 0)
- ('b"1110011"
- : mword (6 - 0 + 1)))
- : bool))) >>= fun w__58 : bool =>
- (if sumbool_of_bool w__58 then
- let _mappingpatterns_22_ : mword 2 :=
- subrange_vec_dec v__348 13 12 in
- let _mappingpatterns_21_ : mword 1 :=
- subrange_vec_dec v__348 14 14 in
- (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
- (bool_bits_backwards _mappingpatterns_21_) >>= fun is_imm =>
- returnm true
- else if eq_vec v__348 (Ox"00200073" : mword 32) then
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__354 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"1000011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__34 : bool =>
+ (if sumbool_of_bool w__34 then
+ let _mappingpatterns_23_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_23_) >>= fun rm =>
returnm true
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_24_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_24_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_24_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__348 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__348 6 0)
- ('b"0000111"
+ (eq_vec (subrange_vec_dec v__354 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__354 6 0)
+ ('b"1000111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__60 : bool =>
- (if sumbool_of_bool w__60 then returnm true
+ : bool))) >>= fun w__37 : bool =>
+ (if sumbool_of_bool w__37 then
+ let _mappingpatterns_24_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_24_) >>= fun rm =>
+ returnm true
else
- (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_25_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_25_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_25_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__348 14 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__354 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__348 6 0)
- ('b"0000111"
+ (subrange_vec_dec v__354 6 0)
+ ('b"1001011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__62 : bool =>
- (if sumbool_of_bool w__62 then returnm true
+ : bool))) >>= fun w__40 : bool =>
+ (if sumbool_of_bool w__40 then
+ let _mappingpatterns_25_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_25_) >>= fun rm =>
+ returnm true
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_26_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_26_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_26_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__348 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__354 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__348 6 0)
- ('b"0100111"
+ (subrange_vec_dec v__354 6 0)
+ ('b"1001111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__64 : bool =>
- (if sumbool_of_bool w__64 then returnm true
+ : bool))) >>= fun w__43 : bool =>
+ (if sumbool_of_bool w__43 then
+ let _mappingpatterns_26_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_26_) >>= fun rm =>
+ returnm true
else
(and_boolM
- ((is_RV32D_or_RV64D tt)
+ (let _mappingpatterns_27_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_27_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_27_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__348 14
- 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__354 31
+ 25)
+ ('b"0000000"
+ : mword (31 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__348 6
+ (subrange_vec_dec v__354 6
0)
- ('b"0100111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__66 : bool =>
- (if sumbool_of_bool w__66 then returnm true
+ : bool))) >>= fun w__46 : bool =>
+ (if sumbool_of_bool w__46 then
+ let _mappingpatterns_27_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_27_) >>= fun rm =>
+ returnm true
else
(and_boolM
- (let _mappingpatterns_23_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_23_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_23_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_23_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_28_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_28_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_28_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__348
- 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ (subrange_vec_dec v__354
+ 31 25)
+ ('b"0000100"
+ : mword (31 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__348
+ (subrange_vec_dec v__354
6 0)
- ('b"1000011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__70 : bool =>
- (if sumbool_of_bool w__70 then
- let _mappingpatterns_23_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
+ : bool))) >>= fun w__49 : bool =>
+ (if sumbool_of_bool w__49 then
+ let _mappingpatterns_28_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_23_) >>= fun rm =>
+ _mappingpatterns_28_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_24_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_24_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_24_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_24_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_29_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_29_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_29_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__354 31 25)
+ ('b"0001000"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
- v__348 6 0)
- ('b"1000111"
+ v__354 6 0)
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__74 : bool =>
- (if sumbool_of_bool w__74 then
- let _mappingpatterns_24_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
+ : bool))) >>= fun w__52 : bool =>
+ (if sumbool_of_bool w__52 then
+ let _mappingpatterns_29_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_24_) >>= fun rm =>
+ _mappingpatterns_29_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_25_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_25_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_25_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_25_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_30_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_30_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_30_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__354 31 25)
+ ('b"0001100"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
- v__348 6 0)
- ('b"1001011"
+ v__354 6 0)
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__78 : bool =>
- (if sumbool_of_bool w__78 then
- let _mappingpatterns_25_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
+ : bool))) >>= fun w__55 : bool =>
+ (if sumbool_of_bool w__55 then
+ let _mappingpatterns_30_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_25_) >>= fun rm =>
+ _mappingpatterns_30_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_26_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_26_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_26_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_26_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_31_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_31_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_31_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__354 31 20)
+ (Ox"580"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348 6 0)
- ('b"1001111"
+ v__354 6 0)
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__82 : bool =>
- (if sumbool_of_bool w__82 then
- let _mappingpatterns_26_ : mword 3 :=
- subrange_vec_dec v__348 14 12 in
+ : bool))) >>= fun w__58 : bool =>
+ (if sumbool_of_bool w__58 then
+ let _mappingpatterns_31_ : mword 3 :=
+ subrange_vec_dec v__354 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_26_) >>= fun rm =>
+ _mappingpatterns_31_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_27_ : mword 3 :=
- subrange_vec_dec v__348 14
+ (let _mappingpatterns_32_ : mword 3 :=
+ subrange_vec_dec v__354 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_27_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_27_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_27_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_32_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_32_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348 31
- 25)
- ('b"0000000"
- : mword (31 - 25 + 1)))
+ v__354 31
+ 20)
+ (Ox"C00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348 6
+ v__354 6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__86 : bool =>
- (if sumbool_of_bool w__86 then
- let _mappingpatterns_27_ : mword 3 :=
- subrange_vec_dec v__348 14
+ : bool))) >>= fun w__61 : bool =>
+ (if sumbool_of_bool w__61 then
+ let _mappingpatterns_32_ : mword 3 :=
+ subrange_vec_dec v__354 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_27_) >>= fun rm =>
+ _mappingpatterns_32_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_28_ : mword 3 :=
- subrange_vec_dec v__348
+ (let _mappingpatterns_33_ : mword 3 :=
+ subrange_vec_dec v__354
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_28_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_28_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_28_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_33_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_33_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
- 31 25)
- ('b"0000100"
- : mword (31 - 25 + 1)))
+ v__354
+ 31 20)
+ (Ox"C01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__90 : bool =>
+ : bool))) >>= fun w__64 : bool =>
(if sumbool_of_bool
- w__90 then
- let _mappingpatterns_28_ : mword 3 :=
- subrange_vec_dec v__348
+ w__64 then
+ let _mappingpatterns_33_ : mword 3 :=
+ subrange_vec_dec v__354
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_28_) >>= fun rm =>
+ _mappingpatterns_33_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_29_ : mword 3 :=
+ (let _mappingpatterns_34_ : mword 3 :=
subrange_vec_dec
- v__348 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_29_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_29_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_29_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_34_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_34_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 25)
- ('b"0001000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__94 : bool =>
+ : bool))) >>= fun w__67 : bool =>
(if sumbool_of_bool
- w__94 then
- let _mappingpatterns_29_ : mword 3 :=
+ w__67 then
+ let _mappingpatterns_34_ : mword 3 :=
subrange_vec_dec
- v__348 14 12 in
+ v__354 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_29_) >>= fun rm =>
+ _mappingpatterns_34_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_30_ : mword 3 :=
+ (let _mappingpatterns_35_ : mword 3 :=
subrange_vec_dec
- v__348 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_30_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_30_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_30_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_35_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_35_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 25)
- ('b"0001100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__98 : bool =>
+ : bool))) >>= fun w__70 : bool =>
(if sumbool_of_bool
- w__98 then
- let _mappingpatterns_30_ : mword 3 :=
+ w__70 then
+ let _mappingpatterns_35_ : mword 3 :=
subrange_vec_dec
- v__348 14 12 in
+ v__354 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_30_) >>= fun rm =>
+ _mappingpatterns_35_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_31_ : mword 3 :=
+ (let _mappingpatterns_36_ : mword 3 :=
subrange_vec_dec
- v__348 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_31_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_31_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_31_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ v__354 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_36_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_36_) >>= fun rm =>
+ (is_RV64F tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
20)
- (Ox"580"
+ (Ox"C02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__102 : bool =>
+ : bool))) >>= fun w__73 : bool =>
(if sumbool_of_bool
- w__102 then
- let _mappingpatterns_31_ : mword 3 :=
+ w__73 then
+ let _mappingpatterns_36_ : mword 3 :=
subrange_vec_dec
- v__348 14 12 in
+ v__354 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_31_) >>= fun rm =>
+ _mappingpatterns_36_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_32_ : mword 3 :=
+ (let _mappingpatterns_37_ : mword 3 :=
subrange_vec_dec
- v__348 14
+ v__354 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_32_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_32_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_32_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_37_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_37_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
20)
- (Ox"C00"
+ (Ox"C03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__106 : bool =>
+ : bool))) >>= fun w__76 : bool =>
(if sumbool_of_bool
- w__106 then
- let _mappingpatterns_32_ : mword 3 :=
+ w__76 then
+ let _mappingpatterns_37_ : mword 3 :=
subrange_vec_dec
- v__348 14
+ v__354 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_32_) >>= fun rm =>
+ _mappingpatterns_37_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_33_ : mword 3 :=
+ (let _mappingpatterns_38_ : mword 3 :=
subrange_vec_dec
- v__348
+ v__354
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_33_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_33_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_33_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_38_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_38_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
20)
- (Ox"C01"
+ (Ox"D02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__110 : bool =>
+ : bool))) >>= fun w__79 : bool =>
(if sumbool_of_bool
- w__110
- then
- let _mappingpatterns_33_ : mword 3 :=
+ w__79 then
+ let _mappingpatterns_38_ : mword 3 :=
subrange_vec_dec
- v__348
+ v__354
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_33_) >>= fun rm =>
+ _mappingpatterns_38_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_34_ : mword 3 :=
+ (let _mappingpatterns_39_ : mword 3 :=
subrange_vec_dec
- v__348
+ v__354
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_34_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_34_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_34_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_39_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_39_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
20)
- (Ox"D00"
+ (Ox"D03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__114 : bool =>
+ : bool))) >>= fun w__82 : bool =>
(if sumbool_of_bool
- w__114
+ w__82
then
- let _mappingpatterns_34_ : mword 3 :=
+ let _mappingpatterns_39_ : mword 3 :=
subrange_vec_dec
- v__348
+ v__354
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_34_) >>= fun rm =>
+ _mappingpatterns_39_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_35_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_35_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_35_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_35_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 20)
- (Ox"D01"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__118 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__84 : bool =>
(if sumbool_of_bool
- w__118
+ w__84
then
- let _mappingpatterns_35_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_35_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_36_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_36_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_36_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_36_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 20)
- (Ox"C02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__122 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__86 : bool =>
(if sumbool_of_bool
- w__122
+ w__86
then
- let _mappingpatterns_36_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_36_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_37_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_37_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_37_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_37_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 20)
- (Ox"C03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__126 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 14
+ 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__88 : bool =>
(if
sumbool_of_bool
- w__126
+ w__88
then
- let _mappingpatterns_37_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_37_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_38_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_38_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_38_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_38_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 20)
- (Ox"D02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__130 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__90 : bool =>
(if
sumbool_of_bool
- w__130
+ w__90
then
- let _mappingpatterns_38_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_38_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_39_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_39_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_39_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_39_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 20)
- (Ox"D03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__134 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__354
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__92 : bool =>
(if
sumbool_of_bool
- w__134
+ w__92
then
- let _mappingpatterns_39_ : mword 3 :=
- subrange_vec_dec
- v__348
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_39_) >>= fun rm =>
returnm true
else
(and_boolM
@@ -21837,30 +21489,30 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
14
12)
- ('b"000"
+ ('b"010"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__136 : bool =>
+ : bool))) >>= fun w__94 : bool =>
(if
sumbool_of_bool
- w__136
+ w__94
then
returnm true
else
@@ -21871,30 +21523,30 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
14
12)
('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__138 : bool =>
+ : bool))) >>= fun w__96 : bool =>
(if
sumbool_of_bool
- w__138
+ w__96
then
returnm true
else
@@ -21905,311 +21557,136 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__140 : bool =>
+ : bool))) >>= fun w__98 : bool =>
(if
sumbool_of_bool
- w__140
+ w__98
then
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
14
12)
- ('b"000"
+ ('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__142 : bool =>
+ : bool))) >>= fun w__100 : bool =>
(if
sumbool_of_bool
- w__142
+ w__100
then
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
14
12)
- ('b"001"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__144 : bool =>
+ : bool))) >>= fun w__102 : bool =>
(if
sumbool_of_bool
- w__144
+ w__102
then
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"F00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__348
+ v__354
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__146 : bool =>
- (if
- sumbool_of_bool
- w__146
- then
- returnm true
- else
- (and_boolM
- ((is_RV32F_or_RV64F
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__148 : bool =>
- (if
- sumbool_of_bool
- w__148
- then
- returnm true
- else
- (and_boolM
- ((is_RV32F_or_RV64F
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__150 : bool =>
- (if
- sumbool_of_bool
- w__150
- then
- returnm true
- else
- (and_boolM
- ((haveFExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__152 : bool =>
- (if
- sumbool_of_bool
- w__152
- then
- returnm true
- else
- (and_boolM
- ((haveFExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__154 : bool =>
- (if
- sumbool_of_bool
- w__154
- then
- returnm true
- else
- (and_boolM
- ((haveFExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 31
- 20)
- (Ox"F00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__348
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__348
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__156 : bool =>
- returnm (if
- sumbool_of_bool
- w__156
- then
- true
- else
- true))
- : M (bool))
- : M (bool))
- : M (bool))
- : M (bool))
- : M (bool))
+ : bool))) >>= fun w__104 : bool =>
+ returnm (if
+ sumbool_of_bool
+ w__104
+ then
+ true
+ else
+ true))
: M (bool))
: M (bool))
: M (bool))
@@ -22258,20 +21735,20 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec ('b"0" : mword 1)
(concat_vec ('b"00000" : mword 5)
(concat_vec ('b"00000" : mword 5) ('b"01" : mword 2)))))
- | C_ADDI4SPN (rd, v__680) =>
- (if let nz96 : bits 4 := subrange_vec_dec v__680 7 4 in
- let nz96 : bits 4 := subrange_vec_dec v__680 7 4 in
- let nz54 : bits 2 := subrange_vec_dec v__680 3 2 in
- let nz3 : bits 1 := subrange_vec_dec v__680 1 1 in
- let nz2 : bits 1 := subrange_vec_dec v__680 0 0 in
+ | C_ADDI4SPN (rd, v__692) =>
+ (if let nz96 : bits 4 := subrange_vec_dec v__692 7 4 in
+ let nz96 : bits 4 := subrange_vec_dec v__692 7 4 in
+ let nz54 : bits 2 := subrange_vec_dec v__692 3 2 in
+ let nz3 : bits 1 := subrange_vec_dec v__692 1 1 in
+ let nz2 : bits 1 := subrange_vec_dec v__692 0 0 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))) then
- let nz96 : bits 4 := subrange_vec_dec v__680 7 4 in
- let nz96 : bits 4 := subrange_vec_dec v__680 7 4 in
- let nz54 : bits 2 := subrange_vec_dec v__680 3 2 in
- let nz3 : bits 1 := subrange_vec_dec v__680 1 1 in
- let nz2 : bits 1 := subrange_vec_dec v__680 0 0 in
+ let nz96 : bits 4 := subrange_vec_dec v__692 7 4 in
+ let nz96 : bits 4 := subrange_vec_dec v__692 7 4 in
+ let nz54 : bits 2 := subrange_vec_dec v__692 3 2 in
+ let nz3 : bits 1 := subrange_vec_dec v__692 1 1 in
+ let nz2 : bits 1 := subrange_vec_dec v__692 0 0 in
returnm (concat_vec ('b"000" : mword 3)
(concat_vec (nz54 : bits 2)
(concat_vec (nz96 : bits 4)
@@ -22280,22 +21757,22 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rd : cregidx) ('b"00" : mword 2)))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LW (v__681, rs1, rd) =>
- let ui6 : bits 1 := subrange_vec_dec v__681 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__681 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__681 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__681 0 0 in
+ | C_LW (v__693, rs1, rd) =>
+ let ui6 : bits 1 := subrange_vec_dec v__693 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__693 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__693 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__693 0 0 in
returnm (concat_vec ('b"010" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
(concat_vec (ui2 : bits 1)
(concat_vec (ui6 : bits 1)
(concat_vec (rd : cregidx) ('b"00" : mword 2)))))))
- | C_LD (v__682, rs1, rd) =>
+ | C_LD (v__694, rs1, rd) =>
(if sumbool_of_bool (Z.eqb 32 64) then
- let ui76 : bits 2 := subrange_vec_dec v__682 4 3 in
- let ui76 : bits 2 := subrange_vec_dec v__682 4 3 in
- let ui53 : bits 3 := subrange_vec_dec v__682 2 0 in
+ let ui76 : bits 2 := subrange_vec_dec v__694 4 3 in
+ let ui76 : bits 2 := subrange_vec_dec v__694 4 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__694 2 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
@@ -22303,22 +21780,22 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rd : cregidx) ('b"00" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SW (v__683, rs1, rs2) =>
- let ui6 : bits 1 := subrange_vec_dec v__683 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__683 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__683 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__683 0 0 in
+ | C_SW (v__695, rs1, rs2) =>
+ let ui6 : bits 1 := subrange_vec_dec v__695 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__695 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__695 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__695 0 0 in
returnm (concat_vec ('b"110" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
(concat_vec (ui2 : bits 1)
(concat_vec (ui6 : bits 1)
(concat_vec (rs2 : cregidx) ('b"00" : mword 2)))))))
- | C_SD (v__684, rs1, rs2) =>
+ | C_SD (v__696, rs1, rs2) =>
(if sumbool_of_bool (Z.eqb 32 64) then
- let ui76 : bits 2 := subrange_vec_dec v__684 4 3 in
- let ui76 : bits 2 := subrange_vec_dec v__684 4 3 in
- let ui53 : bits 3 := subrange_vec_dec v__684 2 0 in
+ let ui76 : bits 2 := subrange_vec_dec v__696 4 3 in
+ let ui76 : bits 2 := subrange_vec_dec v__696 4 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__696 2 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : bits 3)
@@ -22326,32 +21803,32 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rs2 : bits 3) ('b"00" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ADDI (v__685, rsd) =>
- (if let nzi5 : bits 1 := subrange_vec_dec v__685 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__685 5 5 in
- let nzi40 : bits 5 := subrange_vec_dec v__685 4 0 in
+ | C_ADDI (v__697, rsd) =>
+ (if let nzi5 : bits 1 := subrange_vec_dec v__697 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__697 5 5 in
+ let nzi40 : bits 5 := subrange_vec_dec v__697 4 0 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5))) (neq_vec rsd zreg)
then
- let nzi5 : bits 1 := subrange_vec_dec v__685 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__685 5 5 in
- let nzi40 : bits 5 := subrange_vec_dec v__685 4 0 in
+ let nzi5 : bits 1 := subrange_vec_dec v__697 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__697 5 5 in
+ let nzi40 : bits 5 := subrange_vec_dec v__697 4 0 in
returnm (concat_vec ('b"000" : mword 3)
(concat_vec (nzi5 : bits 1)
(concat_vec (rsd : regidx)
(concat_vec (nzi40 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_JAL v__686 =>
+ | C_JAL v__698 =>
(if sumbool_of_bool (Z.eqb 32 32) then
- let i11 : bits 1 := subrange_vec_dec v__686 10 10 in
- let i98 : bits 2 := subrange_vec_dec v__686 8 7 in
- let i7 : bits 1 := subrange_vec_dec v__686 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__686 5 5 in
- let i5 : bits 1 := subrange_vec_dec v__686 4 4 in
- let i4 : bits 1 := subrange_vec_dec v__686 3 3 in
- let i31 : bits 3 := subrange_vec_dec v__686 2 0 in
- let i11 : bits 1 := subrange_vec_dec v__686 10 10 in
- let i10 : bits 1 := subrange_vec_dec v__686 9 9 in
+ let i11 : bits 1 := subrange_vec_dec v__698 10 10 in
+ let i98 : bits 2 := subrange_vec_dec v__698 8 7 in
+ let i7 : bits 1 := subrange_vec_dec v__698 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__698 5 5 in
+ let i5 : bits 1 := subrange_vec_dec v__698 4 4 in
+ let i4 : bits 1 := subrange_vec_dec v__698 3 3 in
+ let i31 : bits 3 := subrange_vec_dec v__698 2 0 in
+ let i11 : bits 1 := subrange_vec_dec v__698 10 10 in
+ let i10 : bits 1 := subrange_vec_dec v__698 9 9 in
returnm (concat_vec ('b"001" : mword 3)
(concat_vec (i11 : bits 1)
(concat_vec (i4 : bits 1)
@@ -22363,44 +21840,44 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ADDIW (v__687, rsd) =>
+ | C_ADDIW (v__699, rsd) =>
(if sumbool_of_bool (andb (neq_vec rsd zreg) (Z.eqb 32 64)) then
- let imm5 : bits 1 := subrange_vec_dec v__687 5 5 in
- let imm5 : bits 1 := subrange_vec_dec v__687 5 5 in
- let imm40 : bits 5 := subrange_vec_dec v__687 4 0 in
+ let imm5 : bits 1 := subrange_vec_dec v__699 5 5 in
+ let imm5 : bits 1 := subrange_vec_dec v__699 5 5 in
+ let imm40 : bits 5 := subrange_vec_dec v__699 4 0 in
returnm (concat_vec ('b"001" : mword 3)
(concat_vec (imm5 : bits 1)
(concat_vec (rsd : regidx)
(concat_vec (imm40 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LI (v__688, rd) =>
+ | C_LI (v__700, rd) =>
(if neq_vec rd zreg then
- let imm5 : bits 1 := subrange_vec_dec v__688 5 5 in
- let imm5 : bits 1 := subrange_vec_dec v__688 5 5 in
- let imm40 : bits 5 := subrange_vec_dec v__688 4 0 in
+ let imm5 : bits 1 := subrange_vec_dec v__700 5 5 in
+ let imm5 : bits 1 := subrange_vec_dec v__700 5 5 in
+ let imm40 : bits 5 := subrange_vec_dec v__700 4 0 in
returnm (concat_vec ('b"010" : mword 3)
(concat_vec (imm5 : bits 1)
(concat_vec (rd : regidx)
(concat_vec (imm40 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ADDI16SP v__689 =>
- (if let nzi9 : bits 1 := subrange_vec_dec v__689 5 5 in
- let nzi9 : bits 1 := subrange_vec_dec v__689 5 5 in
- let nzi87 : bits 2 := subrange_vec_dec v__689 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__689 2 2 in
- let nzi5 : bits 1 := subrange_vec_dec v__689 1 1 in
- let nzi4 : bits 1 := subrange_vec_dec v__689 0 0 in
+ | C_ADDI16SP v__701 =>
+ (if let nzi9 : bits 1 := subrange_vec_dec v__701 5 5 in
+ let nzi9 : bits 1 := subrange_vec_dec v__701 5 5 in
+ let nzi87 : bits 2 := subrange_vec_dec v__701 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__701 2 2 in
+ let nzi5 : bits 1 := subrange_vec_dec v__701 1 1 in
+ let nzi4 : bits 1 := subrange_vec_dec v__701 0 0 in
neq_vec (concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))) then
- let nzi9 : bits 1 := subrange_vec_dec v__689 5 5 in
- let nzi9 : bits 1 := subrange_vec_dec v__689 5 5 in
- let nzi87 : bits 2 := subrange_vec_dec v__689 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__689 2 2 in
- let nzi5 : bits 1 := subrange_vec_dec v__689 1 1 in
- let nzi4 : bits 1 := subrange_vec_dec v__689 0 0 in
+ let nzi9 : bits 1 := subrange_vec_dec v__701 5 5 in
+ let nzi9 : bits 1 := subrange_vec_dec v__701 5 5 in
+ let nzi87 : bits 2 := subrange_vec_dec v__701 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__701 2 2 in
+ let nzi5 : bits 1 := subrange_vec_dec v__701 1 1 in
+ let nzi4 : bits 1 := subrange_vec_dec v__701 0 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (nzi9 : bits 1)
(concat_vec ('b"00010" : mword 5)
@@ -22410,30 +21887,30 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (nzi5 : bits 1) ('b"01" : mword 2))))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LUI (v__690, rd) =>
- (if let imm17 : bits 1 := subrange_vec_dec v__690 5 5 in
- let imm17 : bits 1 := subrange_vec_dec v__690 5 5 in
- let imm1612 : bits 5 := subrange_vec_dec v__690 4 0 in
+ | C_LUI (v__702, rd) =>
+ (if let imm17 : bits 1 := subrange_vec_dec v__702 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__702 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__702 4 0 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp) (neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5))))
then
- let imm17 : bits 1 := subrange_vec_dec v__690 5 5 in
- let imm17 : bits 1 := subrange_vec_dec v__690 5 5 in
- let imm1612 : bits 5 := subrange_vec_dec v__690 4 0 in
+ let imm17 : bits 1 := subrange_vec_dec v__702 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__702 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__702 4 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (imm17 : bits 1)
(concat_vec (rd : regidx)
(concat_vec (imm1612 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SRLI (v__691, rsd) =>
- (if let nzui5 : bits 1 := subrange_vec_dec v__691 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__691 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__691 4 0 in
+ | C_SRLI (v__703, rsd) =>
+ (if let nzui5 : bits 1 := subrange_vec_dec v__703 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__703 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__703 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
- let nzui5 : bits 1 := subrange_vec_dec v__691 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__691 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__691 4 0 in
+ let nzui5 : bits 1 := subrange_vec_dec v__703 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__703 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__703 4 0 in
returnm (concat_vec ('b"100" : mword 3)
(concat_vec (nzui5 : bits 1)
(concat_vec ('b"00" : mword 2)
@@ -22441,14 +21918,14 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (nzui40 : bits 5) ('b"01" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SRAI (v__692, rsd) =>
- (if let nzui5 : bits 1 := subrange_vec_dec v__692 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__692 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__692 4 0 in
+ | C_SRAI (v__704, rsd) =>
+ (if let nzui5 : bits 1 := subrange_vec_dec v__704 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__704 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__704 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
- let nzui5 : bits 1 := subrange_vec_dec v__692 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__692 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__692 4 0 in
+ let nzui5 : bits 1 := subrange_vec_dec v__704 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__704 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__704 4 0 in
returnm (concat_vec ('b"100" : mword 3)
(concat_vec (nzui5 : bits 1)
(concat_vec ('b"01" : mword 2)
@@ -22456,10 +21933,10 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (nzui40 : bits 5) ('b"01" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ANDI (v__693, rsd) =>
- let i5 : bits 1 := subrange_vec_dec v__693 5 5 in
- let i5 : bits 1 := subrange_vec_dec v__693 5 5 in
- let i40 : bits 5 := subrange_vec_dec v__693 4 0 in
+ | C_ANDI (v__705, rsd) =>
+ let i5 : bits 1 := subrange_vec_dec v__705 5 5 in
+ let i5 : bits 1 := subrange_vec_dec v__705 5 5 in
+ let i40 : bits 5 := subrange_vec_dec v__705 4 0 in
returnm (concat_vec ('b"100" : mword 3)
(concat_vec (i5 : bits 1)
(concat_vec ('b"10" : mword 2)
@@ -22513,16 +21990,16 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rs2 : cregidx) ('b"01" : mword 2)))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_J v__694 =>
- let i11 : bits 1 := subrange_vec_dec v__694 10 10 in
- let i98 : bits 2 := subrange_vec_dec v__694 8 7 in
- let i7 : bits 1 := subrange_vec_dec v__694 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__694 5 5 in
- let i5 : bits 1 := subrange_vec_dec v__694 4 4 in
- let i4 : bits 1 := subrange_vec_dec v__694 3 3 in
- let i31 : bits 3 := subrange_vec_dec v__694 2 0 in
- let i11 : bits 1 := subrange_vec_dec v__694 10 10 in
- let i10 : bits 1 := subrange_vec_dec v__694 9 9 in
+ | C_J v__706 =>
+ let i11 : bits 1 := subrange_vec_dec v__706 10 10 in
+ let i98 : bits 2 := subrange_vec_dec v__706 8 7 in
+ let i7 : bits 1 := subrange_vec_dec v__706 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__706 5 5 in
+ let i5 : bits 1 := subrange_vec_dec v__706 4 4 in
+ let i4 : bits 1 := subrange_vec_dec v__706 3 3 in
+ let i31 : bits 3 := subrange_vec_dec v__706 2 0 in
+ let i11 : bits 1 := subrange_vec_dec v__706 10 10 in
+ let i10 : bits 1 := subrange_vec_dec v__706 9 9 in
returnm (concat_vec ('b"101" : mword 3)
(concat_vec (i11 : bits 1)
(concat_vec (i4 : bits 1)
@@ -22532,13 +22009,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i7 : bits 1)
(concat_vec (i31 : bits 3)
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))))
- | C_BEQZ (v__695, rs) =>
- let i8 : bits 1 := subrange_vec_dec v__695 7 7 in
- let i8 : bits 1 := subrange_vec_dec v__695 7 7 in
- let i76 : bits 2 := subrange_vec_dec v__695 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__695 4 4 in
- let i43 : bits 2 := subrange_vec_dec v__695 3 2 in
- let i21 : bits 2 := subrange_vec_dec v__695 1 0 in
+ | C_BEQZ (v__707, rs) =>
+ let i8 : bits 1 := subrange_vec_dec v__707 7 7 in
+ let i8 : bits 1 := subrange_vec_dec v__707 7 7 in
+ let i76 : bits 2 := subrange_vec_dec v__707 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__707 4 4 in
+ let i43 : bits 2 := subrange_vec_dec v__707 3 2 in
+ let i21 : bits 2 := subrange_vec_dec v__707 1 0 in
returnm (concat_vec ('b"110" : mword 3)
(concat_vec (i8 : bits 1)
(concat_vec (i43 : bits 2)
@@ -22546,13 +22023,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i76 : bits 2)
(concat_vec (i21 : bits 2)
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))
- | C_BNEZ (v__696, rs) =>
- let i8 : bits 1 := subrange_vec_dec v__696 7 7 in
- let i8 : bits 1 := subrange_vec_dec v__696 7 7 in
- let i76 : bits 2 := subrange_vec_dec v__696 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__696 4 4 in
- let i43 : bits 2 := subrange_vec_dec v__696 3 2 in
- let i21 : bits 2 := subrange_vec_dec v__696 1 0 in
+ | C_BNEZ (v__708, rs) =>
+ let i8 : bits 1 := subrange_vec_dec v__708 7 7 in
+ let i8 : bits 1 := subrange_vec_dec v__708 7 7 in
+ let i76 : bits 2 := subrange_vec_dec v__708 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__708 4 4 in
+ let i43 : bits 2 := subrange_vec_dec v__708 3 2 in
+ let i21 : bits 2 := subrange_vec_dec v__708 1 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (i8 : bits 1)
(concat_vec (i43 : bits 2)
@@ -22560,28 +22037,28 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i76 : bits 2)
(concat_vec (i21 : bits 2)
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))
- | C_SLLI (v__697, rsd) =>
+ | C_SLLI (v__709, rsd) =>
(if sumbool_of_bool
- (let nzui5 : bits 1 := subrange_vec_dec v__697 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__697 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__697 4 0 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__709 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__709 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__709 4 0 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1))))) then
- let nzui5 : bits 1 := subrange_vec_dec v__697 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__697 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__697 4 0 in
+ let nzui5 : bits 1 := subrange_vec_dec v__709 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__709 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__709 4 0 in
returnm (concat_vec ('b"000" : mword 3)
(concat_vec (nzui5 : bits 1)
(concat_vec (rsd : regidx)
(concat_vec (nzui40 : bits 5) ('b"10" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LWSP (v__698, rd) =>
+ | C_LWSP (v__710, rd) =>
(if neq_vec rd zreg then
- let ui76 : bits 2 := subrange_vec_dec v__698 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__698 5 4 in
- let ui5 : bits 1 := subrange_vec_dec v__698 3 3 in
- let ui42 : bits 3 := subrange_vec_dec v__698 2 0 in
+ let ui76 : bits 2 := subrange_vec_dec v__710 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__710 5 4 in
+ let ui5 : bits 1 := subrange_vec_dec v__710 3 3 in
+ let ui42 : bits 3 := subrange_vec_dec v__710 2 0 in
returnm (concat_vec ('b"010" : mword 3)
(concat_vec (ui5 : bits 1)
(concat_vec (rd : regidx)
@@ -22589,12 +22066,12 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (ui76 : bits 2) ('b"10" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LDSP (v__699, rd) =>
+ | C_LDSP (v__711, rd) =>
(if sumbool_of_bool (andb (neq_vec rd zreg) (Z.eqb 32 64)) then
- let ui86 : bits 3 := subrange_vec_dec v__699 5 3 in
- let ui86 : bits 3 := subrange_vec_dec v__699 5 3 in
- let ui5 : bits 1 := subrange_vec_dec v__699 2 2 in
- let ui43 : bits 2 := subrange_vec_dec v__699 1 0 in
+ let ui86 : bits 3 := subrange_vec_dec v__711 5 3 in
+ let ui86 : bits 3 := subrange_vec_dec v__711 5 3 in
+ let ui5 : bits 1 := subrange_vec_dec v__711 2 2 in
+ let ui43 : bits 2 := subrange_vec_dec v__711 1 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui5 : bits 1)
(concat_vec (rd : regidx)
@@ -22602,18 +22079,18 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (ui86 : bits 3) ('b"10" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SWSP (v__700, rs2) =>
- let ui76 : bits 2 := subrange_vec_dec v__700 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__700 5 4 in
- let ui52 : bits 4 := subrange_vec_dec v__700 3 0 in
+ | C_SWSP (v__712, rs2) =>
+ let ui76 : bits 2 := subrange_vec_dec v__712 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__712 5 4 in
+ let ui52 : bits 4 := subrange_vec_dec v__712 3 0 in
returnm (concat_vec ('b"110" : mword 3)
(concat_vec (ui52 : bits 4)
(concat_vec (ui76 : bits 2) (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
- | C_SDSP (v__701, rs2) =>
+ | C_SDSP (v__713, rs2) =>
(if sumbool_of_bool (Z.eqb 32 64) then
- let ui86 : bits 3 := subrange_vec_dec v__701 5 3 in
- let ui86 : bits 3 := subrange_vec_dec v__701 5 3 in
- let ui53 : bits 3 := subrange_vec_dec v__701 2 0 in
+ let ui86 : bits 3 := subrange_vec_dec v__713 5 3 in
+ let ui86 : bits 3 := subrange_vec_dec v__713 5 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__713 2 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (ui86 : bits 3)
@@ -22655,7 +22132,96 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rsd : regidx) (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FLWSP (v__702, rd) =>
+ | C_NOP_HINT v__714 =>
+ (if let im5 : bits 1 := subrange_vec_dec v__714 5 5 in
+ let im5 : bits 1 := subrange_vec_dec v__714 5 5 in
+ let im40 : bits 5 := subrange_vec_dec v__714 4 0 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)) then
+ let im5 : bits 1 := subrange_vec_dec v__714 5 5 in
+ let im5 : bits 1 := subrange_vec_dec v__714 5 5 in
+ let im40 : bits 5 := subrange_vec_dec v__714 4 0 in
+ returnm (concat_vec ('b"000" : mword 3)
+ (concat_vec (im5 : bits 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (im40 : bits 5) ('b"01" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_ADDI_HINT rsd =>
+ (if neq_vec rsd zreg then
+ returnm (concat_vec ('b"000" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec (rsd : regidx)
+ (concat_vec ('b"00000" : mword 5) ('b"01" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_LI_HINT v__715 =>
+ let imm5 : bits 1 := subrange_vec_dec v__715 5 5 in
+ let imm5 : bits 1 := subrange_vec_dec v__715 5 5 in
+ let imm40 : bits 5 := subrange_vec_dec v__715 4 0 in
+ returnm (concat_vec ('b"010" : mword 3)
+ (concat_vec (imm5 : bits 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (imm40 : bits 5) ('b"01" : mword 2)))))
+ | C_LUI_HINT v__716 =>
+ (if let imm17 : bits 1 := subrange_vec_dec v__716 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__716 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__716 4 0 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)) then
+ let imm17 : bits 1 := subrange_vec_dec v__716 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__716 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__716 4 0 in
+ returnm (concat_vec ('b"011" : mword 3)
+ (concat_vec (imm17 : bits 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (imm1612 : bits 5) ('b"01" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_MV_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_ADD_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"1" : mword 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_SLLI_HINT (v__717, rsd) =>
+ (if sumbool_of_bool
+ (let nzui5 : bits 1 := subrange_vec_dec v__717 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__717 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__717 4 0 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5))) (eq_vec rsd zreg))
+ (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1)))) then
+ let nzui5 : bits 1 := subrange_vec_dec v__717 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__717 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__717 4 0 in
+ returnm (concat_vec ('b"000" : mword 3)
+ (concat_vec (nzui5 : bits 1)
+ (concat_vec (rsd : regidx)
+ (concat_vec (nzui40 : bits 5) ('b"10" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_SRLI_HINT rsd =>
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec ('b"00" : mword 2)
+ (concat_vec (rsd : cregidx)
+ (concat_vec ('b"00000" : mword 5) ('b"01" : mword 2))))))
+ | C_SRAI_HINT rsd =>
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec ('b"01" : mword 2)
+ (concat_vec (rsd : cregidx)
+ (concat_vec ('b"00000" : mword 5) ('b"01" : mword 2))))))
+ | C_FLWSP (v__718, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -22666,13 +22232,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__45 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__57 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__45 then
- let ui76 : bits 2 := subrange_vec_dec v__702 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__702 5 4 in
- let ui5 : bits 1 := subrange_vec_dec v__702 3 3 in
- let ui42 : bits 3 := subrange_vec_dec v__702 2 0 in
+ (if sumbool_of_bool w__57 then
+ let ui76 : bits 2 := subrange_vec_dec v__718 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__718 5 4 in
+ let ui5 : bits 1 := subrange_vec_dec v__718 3 3 in
+ let ui42 : bits 3 := subrange_vec_dec v__718 2 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui5 : bits 1)
(concat_vec (rd : regidx)
@@ -22680,7 +22246,7 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (ui76 : bits 2) ('b"10" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FSWSP (v__703, rs2) =>
+ | C_FSWSP (v__719, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -22691,19 +22257,19 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__51 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__63 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__51 then
- let ui76 : bits 2 := subrange_vec_dec v__703 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__703 5 4 in
- let ui52 : bits 4 := subrange_vec_dec v__703 3 0 in
+ (if sumbool_of_bool w__63 then
+ let ui76 : bits 2 := subrange_vec_dec v__719 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__719 5 4 in
+ let ui52 : bits 4 := subrange_vec_dec v__719 3 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui52 : bits 4)
(concat_vec (ui76 : bits 2)
(concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FLW (v__704, rs1, rd) =>
+ | C_FLW (v__720, rs1, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -22714,13 +22280,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__57 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__69 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__57 then
- let ui6 : bits 1 := subrange_vec_dec v__704 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__704 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__704 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__704 0 0 in
+ (if sumbool_of_bool w__69 then
+ let ui6 : bits 1 := subrange_vec_dec v__720 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__720 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__720 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__720 0 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
@@ -22729,7 +22295,7 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rd : cregidx) ('b"00" : mword 2)))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FSW (v__705, rs1, rs2) =>
+ | C_FSW (v__721, rs1, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -22740,13 +22306,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__63 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__75 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__63 then
- let ui6 : bits 1 := subrange_vec_dec v__705 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__705 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__705 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__705 0 0 in
+ (if sumbool_of_bool w__75 then
+ let ui6 : bits 1 := subrange_vec_dec v__721 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__721 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__721 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__721 0 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
@@ -22761,86 +22327,86 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
: M (mword 16).
Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
- let v__706 := arg_ in
- (if eq_vec v__706 (Ox"0001" : mword 16) then returnm (C_NOP tt)
+ let v__722 := arg_ in
+ (if eq_vec v__722 (Ox"0001" : mword 16) then returnm (C_NOP tt)
else if andb
- (let nz96 : bits 4 := subrange_vec_dec v__706 10 7 in
- let nz54 : bits 2 := subrange_vec_dec v__706 12 11 in
- let nz3 : bits 1 := subrange_vec_dec v__706 5 5 in
- let nz2 : bits 1 := subrange_vec_dec v__706 6 6 in
+ (let nz96 : bits 4 := subrange_vec_dec v__722 10 7 in
+ let nz54 : bits 2 := subrange_vec_dec v__722 12 11 in
+ let nz3 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let nz2 : bits 1 := subrange_vec_dec v__722 6 6 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"00" : mword (1 - 0 + 1)))) then
- let rd : cregidx := subrange_vec_dec v__706 4 2 in
- let nz96 : bits 4 := subrange_vec_dec v__706 10 7 in
- let nz54 : bits 2 := subrange_vec_dec v__706 12 11 in
- let nz3 : bits 1 := subrange_vec_dec v__706 5 5 in
- let nz2 : bits 1 := subrange_vec_dec v__706 6 6 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"00" : mword (1 - 0 + 1)))) then
+ let rd : cregidx := subrange_vec_dec v__722 4 2 in
+ let nz96 : bits 4 := subrange_vec_dec v__722 10 7 in
+ let nz54 : bits 2 := subrange_vec_dec v__722 12 11 in
+ let nz3 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let nz2 : bits 1 := subrange_vec_dec v__722 6 6 in
returnm (C_ADDI4SPN
(rd, concat_vec (nz96 : bits 4)
(concat_vec (nz54 : bits 2) (concat_vec (nz3 : bits 1) (nz2 : bits 1)))))
- else if andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"00" : mword (1 - 0 + 1))) then
- let ui6 : bits 1 := subrange_vec_dec v__706 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__706 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__706 6 6 in
- let rs1 : cregidx := subrange_vec_dec v__706 9 7 in
- let rd : cregidx := subrange_vec_dec v__706 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ let ui6 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__722 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__722 6 6 in
+ let rs1 : cregidx := subrange_vec_dec v__722 9 7 in
+ let rd : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_LW
(concat_vec (ui6 : bits 1) (concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rd))
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"00" : mword (1 - 0 + 1))))) then
- let ui76 : bits 2 := subrange_vec_dec v__706 6 5 in
- let ui53 : bits 3 := subrange_vec_dec v__706 12 10 in
- let rs1 : cregidx := subrange_vec_dec v__706 9 7 in
- let rd : cregidx := subrange_vec_dec v__706 4 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ let ui76 : bits 2 := subrange_vec_dec v__722 6 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__722 12 10 in
+ let rs1 : cregidx := subrange_vec_dec v__722 9 7 in
+ let rd : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_LD (concat_vec (ui76 : bits 2) (ui53 : bits 3), rs1, rd))
- else if andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"00" : mword (1 - 0 + 1))) then
- let ui6 : bits 1 := subrange_vec_dec v__706 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__706 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__706 6 6 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
- let rs1 : cregidx := subrange_vec_dec v__706 9 7 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ let ui6 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__722 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__722 6 6 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
+ let rs1 : cregidx := subrange_vec_dec v__722 9 7 in
returnm (C_SW
(concat_vec (ui6 : bits 1) (concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rs2))
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"00" : mword (1 - 0 + 1))))) then
- let ui76 : bits 2 := subrange_vec_dec v__706 6 5 in
- let ui53 : bits 3 := subrange_vec_dec v__706 12 10 in
- let rs2 : bits 3 := subrange_vec_dec v__706 4 2 in
- let rs1 : bits 3 := subrange_vec_dec v__706 9 7 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ let ui76 : bits 2 := subrange_vec_dec v__722 6 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__722 12 10 in
+ let rs2 : bits 3 := subrange_vec_dec v__722 4 2 in
+ let rs1 : bits 3 := subrange_vec_dec v__722 9 7 in
returnm (C_SD (concat_vec (ui76 : bits 2) (ui53 : bits 3), rs1, rs2))
else if andb
- (let rsd : regidx := subrange_vec_dec v__706 11 7 in
- let nzi5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzi40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let nzi5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzi40 : bits 5 := subrange_vec_dec v__722 6 2 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5)))
(neq_vec rsd zreg))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : regidx := subrange_vec_dec v__706 11 7 in
- let nzi5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzi40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let nzi5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzi40 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_ADDI (concat_vec (nzi5 : bits 1) (nzi40 : bits 5), rsd))
else if sumbool_of_bool
(andb (Z.eqb 32 32)
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let i98 : bits 2 := subrange_vec_dec v__706 10 9 in
- let i7 : bits 1 := subrange_vec_dec v__706 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__706 7 7 in
- let i5 : bits 1 := subrange_vec_dec v__706 2 2 in
- let i4 : bits 1 := subrange_vec_dec v__706 11 11 in
- let i31 : bits 3 := subrange_vec_dec v__706 5 3 in
- let i11 : bits 1 := subrange_vec_dec v__706 12 12 in
- let i10 : bits 1 := subrange_vec_dec v__706 8 8 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let i98 : bits 2 := subrange_vec_dec v__722 10 9 in
+ let i7 : bits 1 := subrange_vec_dec v__722 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__722 7 7 in
+ let i5 : bits 1 := subrange_vec_dec v__722 2 2 in
+ let i4 : bits 1 := subrange_vec_dec v__722 11 11 in
+ let i31 : bits 3 := subrange_vec_dec v__722 5 3 in
+ let i11 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let i10 : bits 1 := subrange_vec_dec v__722 8 8 in
returnm (C_JAL
(concat_vec (i11 : bits 1)
(concat_vec (i10 : bits 1)
@@ -22851,136 +22417,136 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(concat_vec (i4 : bits 1) (i31 : bits 3)))))))))
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__706 11 7 in
+ (let rsd : regidx := subrange_vec_dec v__722 11 7 in
andb (neq_vec rsd zreg) (Z.eqb 32 64))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let rsd : regidx := subrange_vec_dec v__706 11 7 in
- let imm5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let imm40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let imm5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let imm40 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_ADDIW (concat_vec (imm5 : bits 1) (imm40 : bits 5), rsd))
else if andb
- (let rd : regidx := subrange_vec_dec v__706 11 7 in
+ (let rd : regidx := subrange_vec_dec v__722 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rd : regidx := subrange_vec_dec v__706 11 7 in
- let imm5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let imm40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rd : regidx := subrange_vec_dec v__722 11 7 in
+ let imm5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let imm40 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_LI (concat_vec (imm5 : bits 1) (imm40 : bits 5), rd))
else if andb
- (let nzi9 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzi87 : bits 2 := subrange_vec_dec v__706 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__706 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__706 2 2 in
- let nzi4 : bits 1 := subrange_vec_dec v__706 6 6 in
+ (let nzi9 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzi87 : bits 2 := subrange_vec_dec v__722 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__722 2 2 in
+ let nzi4 : bits 1 := subrange_vec_dec v__722 6 6 in
neq_vec (concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"011" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 11 7) ('b"00010" : mword (11 - 7 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let nzi9 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzi87 : bits 2 := subrange_vec_dec v__706 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__706 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__706 2 2 in
- let nzi4 : bits 1 := subrange_vec_dec v__706 6 6 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 11 7) ('b"00010" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let nzi9 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzi87 : bits 2 := subrange_vec_dec v__722 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__722 2 2 in
+ let nzi4 : bits 1 := subrange_vec_dec v__722 6 6 in
returnm (C_ADDI16SP
(concat_vec (nzi9 : bits 1)
(concat_vec (nzi87 : bits 2)
(concat_vec (nzi6 : bits 1) (concat_vec (nzi5 : bits 1) (nzi4 : bits 1))))))
else if andb
- (let rd : regidx := subrange_vec_dec v__706 11 7 in
- let imm17 : bits 1 := subrange_vec_dec v__706 12 12 in
- let imm1612 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (let rd : regidx := subrange_vec_dec v__722 11 7 in
+ let imm17 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__722 6 2 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp)
(neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rd : regidx := subrange_vec_dec v__706 11 7 in
- let imm17 : bits 1 := subrange_vec_dec v__706 12 12 in
- let imm1612 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rd : regidx := subrange_vec_dec v__722 11 7 in
+ let imm17 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_LUI (concat_vec (imm17 : bits 1) (imm1612 : bits 5), rd))
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 11 10) ('b"00" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 11 10) ('b"00" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_SRLI (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 11 10) ('b"01" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 11 10) ('b"01" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_SRAI (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
- else if andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 11 10) ('b"10" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let i5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let i40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 11 10) ('b"10" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let i5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let i40 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_ANDI (concat_vec (i5 : bits 1) (i40 : bits 5), rsd))
- else if andb (eq_vec (subrange_vec_dec v__706 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_SUB (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__706 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_XOR (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__706 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 6 5) ('b"10" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 6 5) ('b"10" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_OR (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__706 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 6 5) ('b"11" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 6 5) ('b"11" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_AND (rsd, rs2))
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__706 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_SUBW (rsd, rs2))
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__706 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__706 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
- let rsd : cregidx := subrange_vec_dec v__706 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_ADDW (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"101" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))) then
- let i98 : bits 2 := subrange_vec_dec v__706 10 9 in
- let i7 : bits 1 := subrange_vec_dec v__706 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__706 7 7 in
- let i5 : bits 1 := subrange_vec_dec v__706 2 2 in
- let i4 : bits 1 := subrange_vec_dec v__706 11 11 in
- let i31 : bits 3 := subrange_vec_dec v__706 5 3 in
- let i11 : bits 1 := subrange_vec_dec v__706 12 12 in
- let i10 : bits 1 := subrange_vec_dec v__706 8 8 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"101" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ let i98 : bits 2 := subrange_vec_dec v__722 10 9 in
+ let i7 : bits 1 := subrange_vec_dec v__722 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__722 7 7 in
+ let i5 : bits 1 := subrange_vec_dec v__722 2 2 in
+ let i4 : bits 1 := subrange_vec_dec v__722 11 11 in
+ let i31 : bits 3 := subrange_vec_dec v__722 5 3 in
+ let i11 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let i10 : bits 1 := subrange_vec_dec v__722 8 8 in
returnm (C_J
(concat_vec (i11 : bits 1)
(concat_vec (i10 : bits 1)
@@ -22989,113 +22555,182 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(concat_vec (i6 : bits 1)
(concat_vec (i5 : bits 1)
(concat_vec (i4 : bits 1) (i31 : bits 3)))))))))
- else if andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))) then
- let rs : cregidx := subrange_vec_dec v__706 9 7 in
- let i8 : bits 1 := subrange_vec_dec v__706 12 12 in
- let i76 : bits 2 := subrange_vec_dec v__706 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__706 2 2 in
- let i43 : bits 2 := subrange_vec_dec v__706 11 10 in
- let i21 : bits 2 := subrange_vec_dec v__706 4 3 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ let rs : cregidx := subrange_vec_dec v__722 9 7 in
+ let i8 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let i76 : bits 2 := subrange_vec_dec v__722 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__722 2 2 in
+ let i43 : bits 2 := subrange_vec_dec v__722 11 10 in
+ let i21 : bits 2 := subrange_vec_dec v__722 4 3 in
returnm (C_BEQZ
(concat_vec (i8 : bits 1)
(concat_vec (i76 : bits 2)
(concat_vec (i5 : bits 1) (concat_vec (i43 : bits 2) (i21 : bits 2)))), rs))
- else if andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"01" : mword (1 - 0 + 1))) then
- let rs : cregidx := subrange_vec_dec v__706 9 7 in
- let i8 : bits 1 := subrange_vec_dec v__706 12 12 in
- let i76 : bits 2 := subrange_vec_dec v__706 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__706 2 2 in
- let i43 : bits 2 := subrange_vec_dec v__706 11 10 in
- let i21 : bits 2 := subrange_vec_dec v__706 4 3 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ let rs : cregidx := subrange_vec_dec v__722 9 7 in
+ let i8 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let i76 : bits 2 := subrange_vec_dec v__722 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__722 2 2 in
+ let i43 : bits 2 := subrange_vec_dec v__722 11 10 in
+ let i21 : bits 2 := subrange_vec_dec v__722 4 3 in
returnm (C_BNEZ
(concat_vec (i8 : bits 1)
(concat_vec (i76 : bits 2)
(concat_vec (i5 : bits 1) (concat_vec (i43 : bits 2) (i21 : bits 2)))), rs))
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__706 11 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1)))))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1))))) then
- let rsd : regidx := subrange_vec_dec v__706 11 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
returnm (C_SLLI (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
else if andb
- (let rd : regidx := subrange_vec_dec v__706 11 7 in
+ (let rd : regidx := subrange_vec_dec v__722 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1)))) then
- let ui76 : bits 2 := subrange_vec_dec v__706 3 2 in
- let ui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let ui42 : bits 3 := subrange_vec_dec v__706 6 4 in
- let rd : regidx := subrange_vec_dec v__706 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let ui76 : bits 2 := subrange_vec_dec v__722 3 2 in
+ let ui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let ui42 : bits 3 := subrange_vec_dec v__722 6 4 in
+ let rd : regidx := subrange_vec_dec v__722 11 7 in
returnm (C_LWSP
(concat_vec (ui76 : bits 2) (concat_vec (ui5 : bits 1) (ui42 : bits 3)), rd))
else if sumbool_of_bool
(andb
- (let rd : regidx := subrange_vec_dec v__706 11 7 in
+ (let rd : regidx := subrange_vec_dec v__722 11 7 in
andb (neq_vec rd zreg) (Z.eqb 32 64))
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1))))) then
- let ui86 : bits 3 := subrange_vec_dec v__706 4 2 in
- let ui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let ui43 : bits 2 := subrange_vec_dec v__706 6 5 in
- let rd : regidx := subrange_vec_dec v__706 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let ui86 : bits 3 := subrange_vec_dec v__722 4 2 in
+ let ui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let ui43 : bits 2 := subrange_vec_dec v__722 6 5 in
+ let rd : regidx := subrange_vec_dec v__722 11 7 in
returnm (C_LDSP
(concat_vec (ui86 : bits 3) (concat_vec (ui5 : bits 1) (ui43 : bits 2)), rd))
- else if andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1))) then
- let ui76 : bits 2 := subrange_vec_dec v__706 8 7 in
- let ui52 : bits 4 := subrange_vec_dec v__706 12 9 in
- let rs2 : regidx := subrange_vec_dec v__706 6 2 in
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ let ui76 : bits 2 := subrange_vec_dec v__722 8 7 in
+ let ui52 : bits 4 := subrange_vec_dec v__722 12 9 in
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
returnm (C_SWSP (concat_vec (ui76 : bits 2) (ui52 : bits 4), rs2))
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1))))) then
- let ui86 : bits 3 := subrange_vec_dec v__706 9 7 in
- let ui53 : bits 3 := subrange_vec_dec v__706 12 10 in
- let rs2 : regidx := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let ui86 : bits 3 := subrange_vec_dec v__722 9 7 in
+ let ui53 : bits 3 := subrange_vec_dec v__722 12 10 in
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
returnm (C_SDSP (concat_vec (ui86 : bits 3) (ui53 : bits 3), rs2))
else if andb
- (let rs1 : regidx := subrange_vec_dec v__706 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__722 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__706 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__706 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
- let rs1 : regidx := subrange_vec_dec v__706 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__722 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ let rs1 : regidx := subrange_vec_dec v__722 11 7 in
returnm (C_JR rs1)
else if andb
- (let rs1 : regidx := subrange_vec_dec v__706 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__722 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__706 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__706 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
- let rs1 : regidx := subrange_vec_dec v__706 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__722 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ let rs1 : regidx := subrange_vec_dec v__722 11 7 in
returnm (C_JALR rs1)
else if andb
- (let rs2 : regidx := subrange_vec_dec v__706 6 2 in
- let rd : regidx := subrange_vec_dec v__706 11 7 in
+ (let rs2 : regidx := subrange_vec_dec v__722 6 2 in
+ let rd : regidx := subrange_vec_dec v__722 11 7 in
andb (neq_vec rd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__706 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1)))) then
- let rs2 : regidx := subrange_vec_dec v__706 6 2 in
- let rd : regidx := subrange_vec_dec v__706 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
+ let rd : regidx := subrange_vec_dec v__722 11 7 in
returnm (C_MV (rd, rs2))
- else if eq_vec v__706 (Ox"9002" : mword 16) then returnm (C_EBREAK tt)
+ else if eq_vec v__722 (Ox"9002" : mword 16) then returnm (C_EBREAK tt)
else if andb
- (let rsd : regidx := subrange_vec_dec v__706 11 7 in
- let rs2 : regidx := subrange_vec_dec v__706 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
andb (neq_vec rsd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__706 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1)))) then
- let rsd : regidx := subrange_vec_dec v__706 11 7 in
- let rs2 : regidx := subrange_vec_dec v__706 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__722 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
returnm (C_ADD (rsd, rs2))
+ else if andb
+ (let im5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let im40 : bits 5 := subrange_vec_dec v__722 6 2 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let im5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let im40 : bits 5 := subrange_vec_dec v__722 6 2 in
+ returnm (C_NOP_HINT (concat_vec (im5 : bits 1) (im40 : bits 5)))
+ else if andb
+ (let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ neq_vec rsd zreg)
+ (andb (eq_vec (subrange_vec_dec v__722 15 12) (Ox"0" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__722 6 0) ('b"0000001" : mword (6 - 0 + 1)))) then
+ let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ returnm (C_ADDI_HINT rsd)
+ else if andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let imm5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let imm40 : bits 5 := subrange_vec_dec v__722 6 2 in
+ returnm (C_LI_HINT (concat_vec (imm5 : bits 1) (imm40 : bits 5)))
+ else if andb
+ (let imm17 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__722 6 2 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__722 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let imm17 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__722 6 2 in
+ returnm (C_LUI_HINT (concat_vec (imm17 : bits 1) (imm1612 : bits 5)))
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__722 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__722 15 7) ('b"100000000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
+ returnm (C_MV_HINT rs2)
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__722 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__722 15 7) ('b"100100000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
+ returnm (C_ADD_HINT rs2)
+ else if sumbool_of_bool
+ (andb
+ (let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5))) (eq_vec rsd zreg))
+ (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1))))
+ (andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let rsd : regidx := subrange_vec_dec v__722 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__722 6 2 in
+ returnm (C_SLLI_HINT (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
+ else if andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100000" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__722 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ returnm (C_SRLI_HINT rsd)
+ else if andb (eq_vec (subrange_vec_dec v__722 15 10) ('b"100001" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__722 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
+ let rsd : cregidx := subrange_vec_dec v__722 9 7 in
+ returnm (C_SRAI_HINT rsd)
else
(and_boolMP
(((and_boolMP
@@ -23112,15 +22747,15 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
: M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (32 =? 32)) _bool = true)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}))
(build_trivial_ex
- (returnm ((andb (eq_vec (subrange_vec_dec v__706 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (returnm ((andb (eq_vec (subrange_vec_dec v__722 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__4 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__4 then
- let ui76 : bits 2 := subrange_vec_dec v__706 3 2 in
- let ui5 : bits 1 := subrange_vec_dec v__706 12 12 in
- let ui42 : bits 3 := subrange_vec_dec v__706 6 4 in
- let rd : regidx := subrange_vec_dec v__706 11 7 in
+ let ui76 : bits 2 := subrange_vec_dec v__722 3 2 in
+ let ui5 : bits 1 := subrange_vec_dec v__722 12 12 in
+ let ui42 : bits 3 := subrange_vec_dec v__722 6 4 in
+ let rd : regidx := subrange_vec_dec v__722 11 7 in
returnm (C_FLWSP
(concat_vec (ui76 : bits 2) (concat_vec (ui5 : bits 1) (ui42 : bits 3)), rd))
else
@@ -23140,15 +22775,15 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(32 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__706 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__722 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__9 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__9 then
- let ui76 : bits 2 := subrange_vec_dec v__706 8 7 in
- let ui52 : bits 4 := subrange_vec_dec v__706 12 9 in
- let rs2 : regidx := subrange_vec_dec v__706 6 2 in
+ let ui76 : bits 2 := subrange_vec_dec v__722 8 7 in
+ let ui52 : bits 4 := subrange_vec_dec v__722 12 9 in
+ let rs2 : regidx := subrange_vec_dec v__722 6 2 in
returnm (C_FSWSP (concat_vec (ui76 : bits 2) (ui52 : bits 4), rs2))
else
(and_boolMP
@@ -23167,17 +22802,17 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(32 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__706 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__722 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__14 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__14 then
- let ui6 : bits 1 := subrange_vec_dec v__706 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__706 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__706 6 6 in
- let rs1 : cregidx := subrange_vec_dec v__706 9 7 in
- let rd : cregidx := subrange_vec_dec v__706 4 2 in
+ let ui6 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__722 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__722 6 6 in
+ let rs1 : cregidx := subrange_vec_dec v__722 9 7 in
+ let rd : cregidx := subrange_vec_dec v__722 4 2 in
returnm (C_FLW
(concat_vec (ui6 : bits 1) (concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rd))
else
@@ -23197,23 +22832,23 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(32 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__706 15 13)
+ (eq_vec (subrange_vec_dec v__722 15 13)
('b"111"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__706 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__722 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__19 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__19 then
- let ui6 : bits 1 := subrange_vec_dec v__706 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__706 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__706 6 6 in
- let rs2 : cregidx := subrange_vec_dec v__706 4 2 in
- let rs1 : cregidx := subrange_vec_dec v__706 9 7 in
+ let ui6 : bits 1 := subrange_vec_dec v__722 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__722 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__722 6 6 in
+ let rs2 : cregidx := subrange_vec_dec v__722 4 2 in
+ let rs1 : cregidx := subrange_vec_dec v__722 9 7 in
C_FSW
(concat_vec (ui6 : bits 1)
(concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rs2)
- else C_ILLEGAL v__706))
+ else C_ILLEGAL v__722))
: M (ast))
: M (ast))
: M (ast))
@@ -23222,101 +22857,132 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(match arg_ with
| C_NOP tt => returnm true
- | C_ADDI4SPN (rd, v__854) =>
- returnm (if let nz96 : bits 4 := subrange_vec_dec v__854 7 4 in
- let nz96 : bits 4 := subrange_vec_dec v__854 7 4 in
- let nz54 : bits 2 := subrange_vec_dec v__854 3 2 in
- let nz3 : bits 1 := subrange_vec_dec v__854 1 1 in
- let nz2 : bits 1 := subrange_vec_dec v__854 0 0 in
+ | C_ADDI4SPN (rd, v__912) =>
+ returnm (if let nz96 : bits 4 := subrange_vec_dec v__912 7 4 in
+ let nz96 : bits 4 := subrange_vec_dec v__912 7 4 in
+ let nz54 : bits 2 := subrange_vec_dec v__912 3 2 in
+ let nz3 : bits 1 := subrange_vec_dec v__912 1 1 in
+ let nz2 : bits 1 := subrange_vec_dec v__912 0 0 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))) then
true
else false)
- | C_LW (v__855, rs1, rd) => returnm true
- | C_LD (v__856, rs1, rd) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
- | C_SW (v__857, rs1, rs2) => returnm true
- | C_SD (v__858, rs1, rs2) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
- | C_ADDI (v__859, rsd) =>
- returnm (if let nzi5 : bits 1 := subrange_vec_dec v__859 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__859 5 5 in
- let nzi40 : bits 5 := subrange_vec_dec v__859 4 0 in
+ | C_LW (v__913, rs1, rd) => returnm true
+ | C_LD (v__914, rs1, rd) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
+ | C_SW (v__915, rs1, rs2) => returnm true
+ | C_SD (v__916, rs1, rs2) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
+ | C_ADDI (v__917, rsd) =>
+ returnm (if let nzi5 : bits 1 := subrange_vec_dec v__917 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__917 5 5 in
+ let nzi40 : bits 5 := subrange_vec_dec v__917 4 0 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5)))
(neq_vec rsd zreg) then
true
else false)
- | C_JAL v__860 => returnm (if sumbool_of_bool (Z.eqb 32 32) then true else false)
- | C_ADDIW (v__861, rsd) =>
+ | C_JAL v__918 => returnm (if sumbool_of_bool (Z.eqb 32 32) then true else false)
+ | C_ADDIW (v__919, rsd) =>
returnm (if sumbool_of_bool (andb (neq_vec rsd zreg) (Z.eqb 32 64)) then true else false)
- | C_LI (v__862, rd) => returnm (if neq_vec rd zreg then true else false)
- | C_ADDI16SP v__863 =>
- returnm (if let nzi9 : bits 1 := subrange_vec_dec v__863 5 5 in
- let nzi9 : bits 1 := subrange_vec_dec v__863 5 5 in
- let nzi87 : bits 2 := subrange_vec_dec v__863 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__863 2 2 in
- let nzi5 : bits 1 := subrange_vec_dec v__863 1 1 in
- let nzi4 : bits 1 := subrange_vec_dec v__863 0 0 in
+ | C_LI (v__920, rd) => returnm (if neq_vec rd zreg then true else false)
+ | C_ADDI16SP v__921 =>
+ returnm (if let nzi9 : bits 1 := subrange_vec_dec v__921 5 5 in
+ let nzi9 : bits 1 := subrange_vec_dec v__921 5 5 in
+ let nzi87 : bits 2 := subrange_vec_dec v__921 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__921 2 2 in
+ let nzi5 : bits 1 := subrange_vec_dec v__921 1 1 in
+ let nzi4 : bits 1 := subrange_vec_dec v__921 0 0 in
neq_vec
(concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))) then
true
else false)
- | C_LUI (v__864, rd) =>
- returnm (if let imm17 : bits 1 := subrange_vec_dec v__864 5 5 in
- let imm17 : bits 1 := subrange_vec_dec v__864 5 5 in
- let imm1612 : bits 5 := subrange_vec_dec v__864 4 0 in
+ | C_LUI (v__922, rd) =>
+ returnm (if let imm17 : bits 1 := subrange_vec_dec v__922 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__922 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__922 4 0 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp)
(neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))) then
true
else false)
- | C_SRLI (v__865, rsd) =>
- returnm (if let nzui5 : bits 1 := subrange_vec_dec v__865 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__865 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__865 4 0 in
+ | C_SRLI (v__923, rsd) =>
+ returnm (if let nzui5 : bits 1 := subrange_vec_dec v__923 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__923 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__923 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
true
else false)
- | C_SRAI (v__866, rsd) =>
- returnm (if let nzui5 : bits 1 := subrange_vec_dec v__866 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__866 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__866 4 0 in
+ | C_SRAI (v__924, rsd) =>
+ returnm (if let nzui5 : bits 1 := subrange_vec_dec v__924 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__924 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__924 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
true
else false)
- | C_ANDI (v__867, rsd) => returnm true
+ | C_ANDI (v__925, rsd) => returnm true
| C_SUB (rsd, rs2) => returnm true
| C_XOR (rsd, rs2) => returnm true
| C_OR (rsd, rs2) => returnm true
| C_AND (rsd, rs2) => returnm true
| C_SUBW (rsd, rs2) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
| C_ADDW (rsd, rs2) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
- | C_J v__868 => returnm true
- | C_BEQZ (v__869, rs) => returnm true
- | C_BNEZ (v__870, rs) => returnm true
- | C_SLLI (v__871, rsd) =>
+ | C_J v__926 => returnm true
+ | C_BEQZ (v__927, rs) => returnm true
+ | C_BNEZ (v__928, rs) => returnm true
+ | C_SLLI (v__929, rsd) =>
returnm (if sumbool_of_bool
- (let nzui5 : bits 1 := subrange_vec_dec v__871 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__871 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__871 4 0 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__929 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__929 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__929 4 0 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1)))))
then
true
else false)
- | C_LWSP (v__872, rd) => returnm (if neq_vec rd zreg then true else false)
- | C_LDSP (v__873, rd) =>
+ | C_LWSP (v__930, rd) => returnm (if neq_vec rd zreg then true else false)
+ | C_LDSP (v__931, rd) =>
returnm (if sumbool_of_bool (andb (neq_vec rd zreg) (Z.eqb 32 64)) then true else false)
- | C_SWSP (v__874, rs2) => returnm true
- | C_SDSP (v__875, rs2) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
+ | C_SWSP (v__932, rs2) => returnm true
+ | C_SDSP (v__933, rs2) => returnm (if sumbool_of_bool (Z.eqb 32 64) then true else false)
| C_JR rs1 => returnm (if neq_vec rs1 zreg then true else false)
| C_JALR rs1 => returnm (if neq_vec rs1 zreg then true else false)
| C_MV (rd, rs2) => returnm (if andb (neq_vec rd zreg) (neq_vec rs2 zreg) then true else false)
| C_EBREAK tt => returnm true
| C_ADD (rsd, rs2) =>
returnm (if andb (neq_vec rsd zreg) (neq_vec rs2 zreg) then true else false)
- | C_FLWSP (v__876, rd) =>
+ | C_NOP_HINT v__934 =>
+ returnm (if let im5 : bits 1 := subrange_vec_dec v__934 5 5 in
+ let im5 : bits 1 := subrange_vec_dec v__934 5 5 in
+ let im40 : bits 5 := subrange_vec_dec v__934 4 0 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)) then
+ true
+ else false)
+ | C_ADDI_HINT rsd => returnm (if neq_vec rsd zreg then true else false)
+ | C_LI_HINT v__935 => returnm true
+ | C_LUI_HINT v__936 =>
+ returnm (if let imm17 : bits 1 := subrange_vec_dec v__936 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__936 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__936 4 0 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)) then
+ true
+ else false)
+ | C_MV_HINT rs2 => returnm (if neq_vec rs2 zreg then true else false)
+ | C_ADD_HINT rs2 => returnm (if neq_vec rs2 zreg then true else false)
+ | C_SLLI_HINT (v__937, rsd) =>
+ returnm (if sumbool_of_bool
+ (let nzui5 : bits 1 := subrange_vec_dec v__937 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__937 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__937 4 0 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
+ (eq_vec rsd zreg)) (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1))))
+ then
+ true
+ else false)
+ | C_SRLI_HINT rsd => returnm true
+ | C_SRAI_HINT rsd => returnm true
+ | C_FLWSP (v__938, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -23330,7 +22996,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__3 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__3 then true else false)
- | C_FSWSP (v__877, rs2) =>
+ | C_FSWSP (v__939, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -23344,7 +23010,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__7 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__7 then true else false)
- | C_FLW (v__878, rs1, rd) =>
+ | C_FLW (v__940, rs1, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -23358,7 +23024,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__11 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__11 then true else false)
- | C_FSW (v__879, rs1, rs2) =>
+ | C_FSW (v__941, rs1, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -23378,199 +23044,254 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
: M (bool).
Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
- let v__880 := arg_ in
- (if eq_vec v__880 (Ox"0001" : mword 16) then returnm true
+ let v__942 := arg_ in
+ (if eq_vec v__942 (Ox"0001" : mword 16) then returnm true
else if andb
- (let nz96 : bits 4 := subrange_vec_dec v__880 10 7 in
- let nz54 : bits 2 := subrange_vec_dec v__880 12 11 in
- let nz3 : bits 1 := subrange_vec_dec v__880 5 5 in
- let nz2 : bits 1 := subrange_vec_dec v__880 6 6 in
+ (let nz96 : bits 4 := subrange_vec_dec v__942 10 7 in
+ let nz54 : bits 2 := subrange_vec_dec v__942 12 11 in
+ let nz3 : bits 1 := subrange_vec_dec v__942 5 5 in
+ let nz2 : bits 1 := subrange_vec_dec v__942 6 6 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"00" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"00" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"00" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"00" : mword (1 - 0 + 1))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"00" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"00" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rsd : regidx := subrange_vec_dec v__880 11 7 in
- let nzi5 : bits 1 := subrange_vec_dec v__880 12 12 in
- let nzi40 : bits 5 := subrange_vec_dec v__880 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__942 11 7 in
+ let nzi5 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let nzi40 : bits 5 := subrange_vec_dec v__942 6 2 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5)))
(neq_vec rsd zreg))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 32 32)
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__880 11 7 in
+ (let rsd : regidx := subrange_vec_dec v__942 11 7 in
andb (neq_vec rsd zreg) (Z.eqb 32 64))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rd : regidx := subrange_vec_dec v__880 11 7 in
+ (let rd : regidx := subrange_vec_dec v__942 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if andb
- (let nzi9 : bits 1 := subrange_vec_dec v__880 12 12 in
- let nzi87 : bits 2 := subrange_vec_dec v__880 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__880 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__880 2 2 in
- let nzi4 : bits 1 := subrange_vec_dec v__880 6 6 in
+ (let nzi9 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let nzi87 : bits 2 := subrange_vec_dec v__942 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__942 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__942 2 2 in
+ let nzi4 : bits 1 := subrange_vec_dec v__942 6 6 in
neq_vec (concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"011" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 11 7) ('b"00010" : mword (11 - 7 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 11 7) ('b"00010" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rd : regidx := subrange_vec_dec v__880 11 7 in
- let imm17 : bits 1 := subrange_vec_dec v__880 12 12 in
- let imm1612 : bits 5 := subrange_vec_dec v__880 6 2 in
+ (let rd : regidx := subrange_vec_dec v__942 11 7 in
+ let imm17 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__942 6 2 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp)
(neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__880 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__880 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__942 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 11 10) ('b"00" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 11 10) ('b"00" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__880 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__880 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__942 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 11 10) ('b"01" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 11 10) ('b"01" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 11 10) ('b"10" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 11 10) ('b"10" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 6 5) ('b"10" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 6 5) ('b"10" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 6 5) ('b"11" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 6 5) ('b"11" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__880 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__880 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__880 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"101" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"101" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__880 11 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__880 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__880 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__942 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__942 6 2 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1)))))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rd : regidx := subrange_vec_dec v__880 11 7 in
+ (let rd : regidx := subrange_vec_dec v__942 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1)))) then
returnm true
else if sumbool_of_bool
(andb
- (let rd : regidx := subrange_vec_dec v__880 11 7 in
+ (let rd : regidx := subrange_vec_dec v__942 11 7 in
andb (neq_vec rd zreg) (Z.eqb 32 64))
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 32 64)
- (andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rs1 : regidx := subrange_vec_dec v__880 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__942 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__880 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__880 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__942 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
returnm true
else if andb
- (let rs1 : regidx := subrange_vec_dec v__880 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__942 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__880 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__880 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__942 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
returnm true
else if andb
- (let rs2 : regidx := subrange_vec_dec v__880 6 2 in
- let rd : regidx := subrange_vec_dec v__880 11 7 in
+ (let rs2 : regidx := subrange_vec_dec v__942 6 2 in
+ let rd : regidx := subrange_vec_dec v__942 11 7 in
andb (neq_vec rd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__880 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1)))) then
returnm true
- else if eq_vec v__880 (Ox"9002" : mword 16) then returnm true
+ else if eq_vec v__942 (Ox"9002" : mword 16) then returnm true
else if andb
- (let rsd : regidx := subrange_vec_dec v__880 11 7 in
- let rs2 : regidx := subrange_vec_dec v__880 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__942 11 7 in
+ let rs2 : regidx := subrange_vec_dec v__942 6 2 in
andb (neq_vec rsd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__880 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__942 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let im5 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let im40 : bits 5 := subrange_vec_dec v__942 6 2 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ returnm true
+ else if andb
+ (let rsd : regidx := subrange_vec_dec v__942 11 7 in
+ neq_vec rsd zreg)
+ (andb (eq_vec (subrange_vec_dec v__942 15 12) (Ox"0" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__942 6 0) ('b"0000001" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let imm17 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__942 6 2 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__942 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ returnm true
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__942 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__942 15 7) ('b"100000000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__942 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__942 15 7) ('b"100100000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if sumbool_of_bool
+ (andb
+ (let rsd : regidx := subrange_vec_dec v__942 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__942 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__942 6 2 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5))) (eq_vec rsd zreg))
+ (orb (Z.eqb 32 64) (eq_vec nzui5 ('b"0" : mword 1))))
+ (andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100000" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__942 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__942 15 10) ('b"100001" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__942 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
returnm true
else
(and_boolMP
@@ -23588,8 +23309,8 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
: M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (32 =? 32)) _bool = true)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}))
(build_trivial_ex
- (returnm ((andb (eq_vec (subrange_vec_dec v__880 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (returnm ((andb (eq_vec (subrange_vec_dec v__942 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (32 =? 32)) _bool = true)})) >>= fun '(existT _ w__4 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__4 then returnm true
@@ -23610,8 +23331,8 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
(32 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__880 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__942 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__9 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
@@ -23633,8 +23354,8 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
(32 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__880 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__942 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__14 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
@@ -23656,10 +23377,10 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
(32 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__880 15 13)
+ (eq_vec (subrange_vec_dec v__942 15 13)
('b"111"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__880 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__942 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)})) >>= fun '(existT _ w__19 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(32 =? 32)) _bool = true)}) =>
@@ -23692,14 +23413,15 @@ Definition execute_UTYPE (imm : mword 20) (rd : mword 5) (op : uop) : M (Retired
(wX_bits rd ret) >> returnm RETIRE_SUCCESS.
Definition execute_URET '(tt : unit) : M (Retired) :=
- (haveUsrMode tt) >>= fun w__0 : bool =>
- (if sumbool_of_bool (negb w__0) then (handle_illegal tt) : M (unit)
+ (or_boolM ((haveUsrMode tt) >>= fun w__0 : bool => returnm ((negb w__0) : bool))
+ (returnm ((negb (sys_enable_next tt)) : bool))) >>= fun w__1 : bool =>
+ (if sumbool_of_bool w__1 then (handle_illegal tt) : M (unit)
else if negb (ext_check_xret_priv User) then returnm (ext_fail_xret_priv tt)
else
- read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
- ((read_reg PC_ref) : M (mword 32)) >>= fun w__2 : mword 32 =>
- (exception_handler w__1 (CTL_URET tt) w__2) >>= fun w__3 : mword 32 =>
- (set_next_pc w__3)
+ read_reg cur_privilege_ref >>= fun w__2 : Privilege =>
+ ((read_reg PC_ref) : M (mword 32)) >>= fun w__3 : mword 32 =>
+ (exception_handler w__2 (CTL_URET tt) w__3) >>= fun w__4 : mword 32 =>
+ (set_next_pc w__4)
: M (unit)) >>
returnm RETIRE_FAIL.
@@ -23731,13 +23453,15 @@ Definition execute_STORE_FP (imm : mword 12) (rs2 : mword 5) (rs1 : mword 5) (wi
| MemValue _ =>
(rF_bits rs2) >>= fun rs2_val =>
(match (width, 32) with
- | (BYTE, _) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (HALF, _) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (WORD, _) =>
+ | (BYTE, g__321) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (HALF, g__322) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (WORD, g__323) =>
(mem_write_value addr 4 (subrange_vec_dec rs2_val 31 0) aq rl con) >>= fun w__4 : MemoryOpResult bool =>
(process_fstore vaddr w__4)
: M (Retired)
- | _ => exit tt : M (Retired)
+ | _ =>
+ assert_exp' false "Pattern match failure at model/riscv_insts_fext.sail 401:14 - 406:15" >>= fun _ =>
+ exit tt
end)
: M (Retired)
end)
@@ -23781,7 +23505,12 @@ Definition execute_STORECON
| TR_Failure (e, _) => (handle_mem_exception vaddr e) >> returnm RETIRE_FAIL
| TR_Address (addr, _) =>
(match (width, 32) with
- | (WORD, _) => (mem_write_ea addr 4 aq rl true) : M (MemoryOpResult unit)
+ | (BYTE, _) =>
+ (mem_write_ea addr 1 (andb aq rl) rl true) : M (MemoryOpResult unit)
+ | (HALF, _) =>
+ (mem_write_ea addr 2 (andb aq rl) rl true) : M (MemoryOpResult unit)
+ | (WORD, _) =>
+ (mem_write_ea addr 4 (andb aq rl) rl true) : M (MemoryOpResult unit)
| _ =>
(internal_error "STORECON expected word or double")
: M (MemoryOpResult unit)
@@ -23791,8 +23520,17 @@ Definition execute_STORECON
| MemValue _ =>
(rX_bits rs2) >>= fun rs2_val =>
(match (width, 32) with
+ | (BYTE, _) =>
+ (mem_write_value addr 1 (subrange_vec_dec rs2_val 7 0) (andb aq rl) rl
+ true)
+ : M (MemoryOpResult bool)
+ | (HALF, _) =>
+ (mem_write_value addr 2 (subrange_vec_dec rs2_val 15 0) (andb aq rl) rl
+ true)
+ : M (MemoryOpResult bool)
| (WORD, _) =>
- (mem_write_value addr 4 (subrange_vec_dec rs2_val 31 0) aq rl true)
+ (mem_write_value addr 4 (subrange_vec_dec rs2_val 31 0) (andb aq rl) rl
+ true)
: M (MemoryOpResult bool)
| _ =>
(internal_error "STORECON expected word or double")
@@ -23849,16 +23587,18 @@ Definition execute_STORE
| MemValue _ =>
(rX_bits rs2) >>= fun rs2_val =>
(match (width, 32) with
- | (BYTE, _) =>
+ | (BYTE, g__313) =>
(mem_write_value paddr 1 (subrange_vec_dec rs2_val 7 0) aq rl false)
: M (MemoryOpResult bool)
- | (HALF, _) =>
+ | (HALF, g__314) =>
(mem_write_value paddr 2 (subrange_vec_dec rs2_val 15 0) aq rl false)
: M (MemoryOpResult bool)
- | (WORD, _) =>
+ | (WORD, g__315) =>
(mem_write_value paddr 4 (subrange_vec_dec rs2_val 31 0) aq rl false)
: M (MemoryOpResult bool)
- | _ => exit tt : M (MemoryOpResult bool)
+ | _ =>
+ assert_exp' false "Pattern match failure at model/riscv_insts_base.sail 394:47 - 399:15" >>= fun _ =>
+ exit tt
end) >>= fun res : MemoryOpResult bool =>
(match res with
| MemValue true => returnm RETIRE_SUCCESS
@@ -23886,15 +23626,16 @@ Definition execute_SRET '(tt : unit) : M (Retired) :=
: M (bool)
| Machine => (haveSupMode tt) >>= fun w__4 : bool => returnm (negb w__4)
end) >>= fun sret_illegal : bool =>
- (if sumbool_of_bool sret_illegal then (handle_illegal tt) : M (unit)
- else if negb (ext_check_xret_priv Supervisor) then returnm (ext_fail_xret_priv tt)
+ (if sumbool_of_bool sret_illegal then (handle_illegal tt) >> returnm RETIRE_FAIL
+ else if negb (ext_check_xret_priv Supervisor) then
+ let '_ := (ext_fail_xret_priv tt) : unit in
+ returnm RETIRE_FAIL
else
read_reg cur_privilege_ref >>= fun w__5 : Privilege =>
((read_reg PC_ref) : M (mword 32)) >>= fun w__6 : mword 32 =>
(exception_handler w__5 (CTL_SRET tt) w__6) >>= fun w__7 : mword 32 =>
- (set_next_pc w__7)
- : M (unit)) >>
- returnm RETIRE_FAIL.
+ (set_next_pc w__7) >> returnm RETIRE_SUCCESS)
+ : M (Retired).
Definition execute_SHIFTW (shamt : mword 5) (rs1 : mword 5) (rd : mword 5) (op : sop) : M (Retired) :=
(rX_bits rs1) >>= fun w__0 : mword 32 =>
@@ -23940,14 +23681,14 @@ Definition execute_SFENCE_VMA (rs1 : mword 5) (rs2 : mword 5) : M (Retired) :=
| Supervisor =>
read_reg mstatus_ref >>= fun w__3 : Mstatus =>
read_reg mstatus_ref >>= fun w__4 : Mstatus =>
- let p__309 := (architecture (get_mstatus_SXL w__3), _get_Mstatus_TVM w__4) in
- (match p__309 with
- | (Some g__308, b__0) =>
+ let p__317 := (architecture (get_mstatus_SXL w__3), _get_Mstatus_TVM w__4) in
+ (match p__317 with
+ | (Some g__316, b__0) =>
(if eq_vec b__0 ('b"1" : mword 1) then (handle_illegal tt) >> returnm RETIRE_FAIL
else if eq_vec b__0 ('b"0" : mword 1) then
(flush_TLB asid addr) >> returnm RETIRE_SUCCESS
else
- (match (Some g__308, b__0) with
+ (match (Some g__316, b__0) with
| (_, _) => (internal_error "unimplemented sfence architecture") : M (Retired)
end)
: M (Retired))
@@ -24095,15 +23836,16 @@ Definition execute_MUL
Definition execute_MRET '(tt : unit) : M (Retired) :=
read_reg cur_privilege_ref >>= fun w__0 : Privilege =>
- (if generic_neq w__0 Machine then (handle_illegal tt) : M (unit)
- else if negb (ext_check_xret_priv Machine) then returnm (ext_fail_xret_priv tt)
+ (if generic_neq w__0 Machine then (handle_illegal tt) >> returnm RETIRE_FAIL
+ else if negb (ext_check_xret_priv Machine) then
+ let '_ := (ext_fail_xret_priv tt) : unit in
+ returnm RETIRE_FAIL
else
read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
((read_reg PC_ref) : M (mword 32)) >>= fun w__2 : mword 32 =>
(exception_handler w__1 (CTL_MRET tt) w__2) >>= fun w__3 : mword 32 =>
- (set_next_pc w__3)
- : M (unit)) >>
- returnm RETIRE_FAIL.
+ (set_next_pc w__3) >> returnm RETIRE_SUCCESS)
+ : M (Retired).
Definition execute_LOAD_FP (imm : mword 12) (rs1 : mword 5) (rd : mword 5) (width : word_width)
: M (Retired) :=
@@ -24123,13 +23865,15 @@ Definition execute_LOAD_FP (imm : mword 12) (rs1 : mword 5) (rd : mword 5) (widt
| TR_Address (addr, _) =>
let '(aq, rl, res) := (false, false, false) in
(match (width, 32) with
- | (BYTE, _) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (HALF, _) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (WORD, _) =>
+ | (BYTE, g__318) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (HALF, g__319) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (WORD, g__320) =>
(mem_read (Read Data) addr 4 aq rl res) >>= fun w__2 : MemoryOpResult (mword (8 * 4)) =>
(process_fload32 rd vaddr w__2)
: M (Retired)
- | _ => exit tt : M (Retired)
+ | _ =>
+ assert_exp' false "Pattern match failure at model/riscv_insts_fext.sail 331:10 - 338:11" >>= fun _ =>
+ exit tt
end)
: M (Retired)
end)
@@ -24164,11 +23908,19 @@ Definition execute_LOADRES
| TR_Failure (e, _) => (handle_mem_exception vaddr e) >> returnm RETIRE_FAIL
| TR_Address (addr, _) =>
(match (width, 32) with
- | (WORD, _) =>
- (mem_read (Read Data) addr 4 aq rl true) >>= fun w__3 : MemoryOpResult (mword (8 * 4)) =>
+ | (BYTE, _) =>
+ (mem_read (Read Data) addr 1 aq (andb aq rl) true) >>= fun w__3 : MemoryOpResult (mword (8 * 1)) =>
(process_loadres rd vaddr w__3 false)
: M (Retired)
- | _ => (internal_error "LOADRES expected WORD or DOUBLE") : M (Retired)
+ | (HALF, _) =>
+ (mem_read (Read Data) addr 2 aq (andb aq rl) true) >>= fun w__5 : MemoryOpResult (mword (8 * 2)) =>
+ (process_loadres rd vaddr w__5 false)
+ : M (Retired)
+ | (WORD, _) =>
+ (mem_read (Read Data) addr 4 aq (andb aq rl) true) >>= fun w__7 : MemoryOpResult (mword (8 * 4)) =>
+ (process_loadres rd vaddr w__7 false)
+ : M (Retired)
+ | _ => (internal_error "Unexpected AMO width") : M (Retired)
end)
: M (Retired)
end)
@@ -24198,19 +23950,21 @@ Definition execute_LOAD
| TR_Failure (e, _) => (handle_mem_exception vaddr e) >> returnm RETIRE_FAIL
| TR_Address (paddr, _) =>
(match (width, 32) with
- | (BYTE, _) =>
+ | (BYTE, g__310) =>
(mem_read (Read Data) paddr 1 aq rl false) >>= fun w__2 : MemoryOpResult (mword (8 * 1)) =>
(process_load rd vaddr w__2 is_unsigned)
: M (Retired)
- | (HALF, _) =>
+ | (HALF, g__311) =>
(mem_read (Read Data) paddr 2 aq rl false) >>= fun w__4 : MemoryOpResult (mword (8 * 2)) =>
(process_load rd vaddr w__4 is_unsigned)
: M (Retired)
- | (WORD, _) =>
+ | (WORD, g__312) =>
(mem_read (Read Data) paddr 4 aq rl false) >>= fun w__6 : MemoryOpResult (mword (8 * 4)) =>
(process_load rd vaddr w__6 is_unsigned)
: M (Retired)
- | _ => exit tt : M (Retired)
+ | _ =>
+ assert_exp' false "Pattern match failure at model/riscv_insts_base.sail 329:10 - 338:11" >>= fun _ =>
+ exit tt
end)
: M (Retired)
end)
@@ -24453,14 +24207,14 @@ Definition execute_F_BIN_RM_TYPE_S
Definition execute_FENCE_TSO (pred : mword 4) (succ : mword 4) : M (Retired) :=
(match (pred, succ) with
- | (v__1068, v__1069) =>
- (if andb (eq_vec (subrange_vec_dec v__1068 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1069 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ | (v__1172, v__1173) =>
+ (if andb (eq_vec (subrange_vec_dec v__1172 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1173 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_tso tt))
: M (unit)
else
- returnm (if andb (eq_vec (subrange_vec_dec v__1068 1 0) ('b"00" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1069 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ returnm (if andb (eq_vec (subrange_vec_dec v__1172 1 0) ('b"00" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1173 1 0) ('b"00" : mword (1 - 0 + 1))) then
tt
else
let '_ := (print_endline "FIXME: unsupported fence") : unit in
@@ -24469,50 +24223,58 @@ Definition execute_FENCE_TSO (pred : mword 4) (succ : mword 4) : M (Retired) :=
end) >>
returnm RETIRE_SUCCESS.
+Definition execute_FENCE_RESERVED
+(fm : mword 4) (pred : mword 4) (succ : mword 4) (rs : mword 5) (rd : mword 5)
+: Retired :=
+ RETIRE_SUCCESS.
+
+Definition execute_FENCEI_RESERVED (imm : mword 12) (rs : mword 5) (rd : mword 5) : Retired :=
+ RETIRE_SUCCESS.
+
Definition execute_FENCEI '(tt : unit) : Retired := RETIRE_SUCCESS.
Definition execute_FENCE (pred : mword 4) (succ : mword 4) : M (Retired) :=
(match (pred, succ) with
- | (v__1028, v__1029) =>
- (if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ | (v__1132, v__1133) =>
+ (if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_rw_rw tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_r_rw tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"10" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_r_r tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"01" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_rw_w tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"01" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_w_w tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_w_rw tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"10" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_rw_r tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"01" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_r_w tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1132 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1133 1 0) ('b"10" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_w_r tt))
: M (unit)
else
- returnm (if andb (eq_vec (subrange_vec_dec v__1028 1 0) ('b"00" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1029 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ returnm (if eq_vec (subrange_vec_dec v__1133 1 0) ('b"00" : mword (1 - 0 + 1)) then tt
+ else if eq_vec (subrange_vec_dec v__1132 1 0) ('b"00" : mword (1 - 0 + 1)) then
tt
else
let '_ := (print_endline "FIXME: unsupported fence") : unit in
@@ -24538,7 +24300,8 @@ Definition execute_ECALL '(tt : unit) : M (Retired) :=
(set_next_pc w__3) >> returnm RETIRE_FAIL.
Definition execute_EBREAK '(tt : unit) : M (Retired) :=
- (handle_exception (E_Breakpoint tt)) >> returnm RETIRE_FAIL.
+ ((read_reg PC_ref) : M (mword 32)) >>= fun w__0 : mword 32 =>
+ (handle_mem_exception w__0 (E_Breakpoint tt)) >> returnm RETIRE_FAIL.
Definition execute_DIVW (rs2 : mword 5) (rs1 : mword 5) (rd : mword 5) (s : bool) : M (Retired) :=
(haveMulDiv tt) >>= fun w__0 : bool =>
@@ -24572,11 +24335,29 @@ Definition execute_DIV (rs2 : mword 5) (rs1 : mword 5) (rd : mword 5) (s : bool)
else (handle_illegal tt) >> returnm RETIRE_FAIL)
: M (Retired).
+Definition execute_C_SRLI_HINT (rsd : mword 3) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_SRAI_HINT (rsd : mword 3) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_SLLI_HINT (shamt : mword 6) (rsd : mword 5) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_NOP_HINT (imm : mword 6) : Retired := RETIRE_SUCCESS.
+
Definition execute_C_NOP '(tt : unit) : Retired := RETIRE_SUCCESS.
+Definition execute_C_MV_HINT (rs2 : mword 5) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_LUI_HINT (imm : mword 6) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_LI_HINT (imm : mword 6) : Retired := RETIRE_SUCCESS.
+
Definition execute_C_ILLEGAL (s : mword 16) : M (Retired) :=
(handle_illegal tt) >> returnm RETIRE_FAIL.
+Definition execute_C_ADD_HINT (rs2 : mword 5) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_ADDI_HINT (rsd : mword 5) : Retired := RETIRE_SUCCESS.
+
Definition execute_CSR (csr : mword 12) (rs1 : mword 5) (rd : mword 5) (is_imm : bool) (op : csrop)
: M (Retired) :=
(if sumbool_of_bool is_imm then returnm (EXTZ 32 rs1)
@@ -24649,44 +24430,65 @@ Definition execute_AMO
: M (Retired) :=
(haveAtomics tt) >>= fun w__0 : bool =>
(if sumbool_of_bool w__0 then
- (ext_data_get_addr rs1 (zeros_implicit 32) (ReadWrite Data) width) >>= fun w__1 : Ext_DataAddr_Check unit =>
+ (ext_data_get_addr rs1 (zeros_implicit 32) (ReadWrite (Data, Data)) width) >>= fun w__1 : Ext_DataAddr_Check unit =>
(match w__1 with
| Ext_DataAddr_Error e =>
let '_ := (ext_handle_data_check_error e) : unit in
returnm RETIRE_FAIL
| Ext_DataAddr_OK vaddr =>
- (translateAddr vaddr (ReadWrite Data)) >>= fun w__2 : TR_Result (mword 32) ExceptionType =>
+ (translateAddr vaddr (ReadWrite (Data, Data))) >>= fun w__2 : TR_Result (mword 32) ExceptionType =>
(match w__2 with
| TR_Failure (e, _) => (handle_mem_exception vaddr e) >> returnm RETIRE_FAIL
| TR_Address (addr, _) =>
(match (width, 32) with
+ | (BYTE, _) => (mem_write_ea addr 1 (andb aq rl) rl true) : M (MemoryOpResult unit)
+ | (HALF, _) => (mem_write_ea addr 2 (andb aq rl) rl true) : M (MemoryOpResult unit)
| (WORD, _) => (mem_write_ea addr 4 (andb aq rl) rl true) : M (MemoryOpResult unit)
- | _ => (internal_error "AMO expected WORD or DOUBLE") : M (MemoryOpResult unit)
+ | _ => (internal_error "Unexpected AMO width") : M (MemoryOpResult unit)
end) >>= fun eares : MemoryOpResult unit =>
let is_unsigned : bool :=
match op with | AMOMINU => true | AMOMAXU => true | _ => false end in
(match width with
+ | BYTE =>
+ (if sumbool_of_bool is_unsigned then
+ (rX_bits rs2) >>= fun w__7 : mword 32 =>
+ returnm (EXTZ 32 (subrange_vec_dec w__7 7 0))
+ else
+ (rX_bits rs2) >>= fun w__8 : mword 32 =>
+ returnm (EXTS 32 (subrange_vec_dec w__8 7 0)))
+ : M (mword 32)
+ | HALF =>
+ (if sumbool_of_bool is_unsigned then
+ (rX_bits rs2) >>= fun w__10 : mword 32 =>
+ returnm (EXTZ 32 (subrange_vec_dec w__10 15 0))
+ else
+ (rX_bits rs2) >>= fun w__11 : mword 32 =>
+ returnm (EXTS 32 (subrange_vec_dec w__11 15 0)))
+ : M (mword 32)
| WORD =>
(if sumbool_of_bool is_unsigned then
- (rX_bits rs2) >>= fun w__5 : mword 32 =>
- returnm (EXTZ 32 (subrange_vec_dec w__5 31 0))
+ (rX_bits rs2) >>= fun w__13 : mword 32 =>
+ returnm (EXTZ 32 (subrange_vec_dec w__13 31 0))
else
- (rX_bits rs2) >>= fun w__6 : mword 32 =>
- returnm (EXTS 32 (subrange_vec_dec w__6 31 0)))
+ (rX_bits rs2) >>= fun w__14 : mword 32 =>
+ returnm (EXTS 32 (subrange_vec_dec w__14 31 0)))
: M (mword 32)
| DOUBLE => (rX_bits rs2) : M (mword 32)
- | _ => (internal_error "AMO expected WORD or DOUBLE") : M (mword 32)
end) >>= fun rs2_val : xlenbits =>
(match eares with
| MemException e => (handle_mem_exception addr e) >> returnm RETIRE_FAIL
| MemValue _ =>
(match (width, 32) with
+ | (BYTE, _) =>
+ (mem_read (ReadWrite (Data, Data)) addr 1 aq (andb aq rl) true) >>= fun w__17 : MemoryOpResult (mword (8 * 1)) =>
+ returnm (extend_value is_unsigned w__17)
+ | (HALF, _) =>
+ (mem_read (ReadWrite (Data, Data)) addr 2 aq (andb aq rl) true) >>= fun w__18 : MemoryOpResult (mword (8 * 2)) =>
+ returnm (extend_value is_unsigned w__18)
| (WORD, _) =>
- (mem_read (ReadWrite Data) addr 4 aq (andb aq rl) true) >>= fun w__10 : MemoryOpResult (mword (8 * 4)) =>
- returnm (extend_value is_unsigned w__10)
- | _ =>
- (internal_error "AMO expected WORD or DOUBLE")
- : M (MemoryOpResult (mword 32))
+ (mem_read (ReadWrite (Data, Data)) addr 4 aq (andb aq rl) true) >>= fun w__19 : MemoryOpResult (mword (8 * 4)) =>
+ returnm (extend_value is_unsigned w__19)
+ | _ => (internal_error "Unexpected AMO width") : M (MemoryOpResult (mword 32))
end) >>= fun mval : MemoryOpResult xlenbits =>
(match mval with
| MemException e => (handle_mem_exception addr e) >> returnm RETIRE_FAIL
@@ -24715,18 +24517,26 @@ Definition execute_AMO
(projT1
(max_atom (projT1 (uint rs2_val)) (projT1 (uint loaded))))
end in
- (match width with
- | WORD => returnm (EXTS 32 (subrange_vec_dec loaded 31 0))
- | DOUBLE => returnm loaded
- | _ => (internal_error "AMO expected WORD or DOUBLE") : M (mword 32)
- end) >>= fun rval : xlenbits =>
+ let rval : xlenbits :=
+ match width with
+ | BYTE => EXTS 32 (subrange_vec_dec loaded 7 0)
+ | HALF => EXTS 32 (subrange_vec_dec loaded 15 0)
+ | WORD => EXTS 32 (subrange_vec_dec loaded 31 0)
+ | DOUBLE => loaded
+ end in
(match (width, 32) with
+ | (BYTE, _) =>
+ (mem_write_value addr 1 (subrange_vec_dec result 7 0) (andb aq rl) rl true)
+ : M (MemoryOpResult bool)
+ | (HALF, _) =>
+ (mem_write_value addr 2 (subrange_vec_dec result 15 0) (andb aq rl) rl
+ true)
+ : M (MemoryOpResult bool)
| (WORD, _) =>
(mem_write_value addr 4 (subrange_vec_dec result 31 0) (andb aq rl) rl
true)
: M (MemoryOpResult bool)
- | _ =>
- (internal_error "AMO expected WORD or DOUBLE") : M (MemoryOpResult bool)
+ | _ => (internal_error "Unexpected AMO width") : M (MemoryOpResult bool)
end) >>= fun wval : MemoryOpResult bool =>
(match wval with
| MemValue true => (wX_bits rd rval) >> returnm RETIRE_SUCCESS
@@ -25005,6 +24815,17 @@ exact (
| REMW (rs2, rs1, rd, s) => (execute_REMW rs2 rs1 rd s) : M (Retired)
| CSR (csr, rs1, rd, is_imm, op) => (execute_CSR csr rs1 rd is_imm op) : M (Retired)
| URET arg0 => (execute_URET arg0) : M (Retired)
+ | C_NOP_HINT imm => returnm (execute_C_NOP_HINT imm)
+ | C_ADDI_HINT rsd => returnm (execute_C_ADDI_HINT rsd)
+ | C_LI_HINT imm => returnm (execute_C_LI_HINT imm)
+ | C_LUI_HINT imm => returnm (execute_C_LUI_HINT imm)
+ | C_MV_HINT rs2 => returnm (execute_C_MV_HINT rs2)
+ | C_ADD_HINT rs2 => returnm (execute_C_ADD_HINT rs2)
+ | C_SLLI_HINT (shamt, rsd) => returnm (execute_C_SLLI_HINT shamt rsd)
+ | C_SRLI_HINT rsd => returnm (execute_C_SRLI_HINT rsd)
+ | C_SRAI_HINT rsd => returnm (execute_C_SRAI_HINT rsd)
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) => returnm (execute_FENCE_RESERVED fm pred succ rs rd)
+ | FENCEI_RESERVED (imm, rs, rd) => returnm (execute_FENCEI_RESERVED imm rs rd)
| LOAD_FP (imm, rs1, rd, width) => (execute_LOAD_FP imm rs1 rd width) : M (Retired)
| STORE_FP (imm, rs2, rs1, width) => (execute_STORE_FP imm rs2 rs1 width) : M (Retired)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, op) =>
@@ -25630,285 +25451,356 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
(string_append (csr_name_map_forwards csr)
(string_append (sep_forwards tt) (string_append w__158 "")))))))
| URET tt => returnm "uret"
+ | C_NOP_HINT imm =>
+ returnm (string_append "c.nop.hint." (string_append (decimal_string_of_bits imm) ""))
+ | C_ADDI_HINT rsd =>
+ (if neq_vec rsd zreg then
+ (reg_name_forwards rsd) >>= fun w__159 : string =>
+ returnm (string_append "c.addi.hint." (string_append w__159 ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_LI_HINT imm =>
+ returnm (string_append "c.li.hint." (string_append (decimal_string_of_bits imm) ""))
+ | C_LUI_HINT imm =>
+ (if neq_vec imm ('b"000000" : mword 6) then
+ returnm (string_append "c.lui.hint." (string_append (decimal_string_of_bits imm) ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_MV_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ (reg_name_forwards rs2) >>= fun w__164 : string =>
+ returnm (string_append "c.mv.hint." (string_append w__164 ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_ADD_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ (reg_name_forwards rs2) >>= fun w__167 : string =>
+ returnm (string_append "c.add.hint." (string_append w__167 ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_SLLI_HINT (shamt, rsd) =>
+ (if orb (eq_vec shamt ('b"000000" : mword 6)) (eq_vec rsd zreg) then
+ (reg_name_forwards rsd) >>= fun w__170 : string =>
+ returnm (string_append "c.slli.hint."
+ (string_append w__170
+ (string_append "." (string_append (decimal_string_of_bits shamt) ""))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_SRLI_HINT rsd =>
+ (creg_name_forwards rsd) >>= fun w__173 : string =>
+ returnm (string_append "c.srli.hint." (string_append w__173 ""))
+ | C_SRAI_HINT rsd =>
+ (creg_name_forwards rsd) >>= fun w__174 : string =>
+ returnm (string_append "c.srai.hint." (string_append w__174 ""))
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ (if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5))) then
+ (fence_bits_forwards pred) >>= fun w__175 : string =>
+ (fence_bits_forwards succ) >>= fun w__176 : string =>
+ (reg_name_forwards rs) >>= fun w__177 : string =>
+ (reg_name_forwards rd) >>= fun w__178 : string =>
+ returnm (string_append "fence.reserved."
+ (string_append w__175
+ (string_append "."
+ (string_append w__176
+ (string_append "."
+ (string_append w__177
+ (string_append "."
+ (string_append w__178
+ (string_append "."
+ (string_append (decimal_string_of_bits fm) ""))))))))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ (if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg)) then
+ (reg_name_forwards rd) >>= fun w__181 : string =>
+ (reg_name_forwards rs) >>= fun w__182 : string =>
+ returnm (string_append "fence.i.reserved."
+ (string_append w__181
+ (string_append "."
+ (string_append w__182
+ (string_append "." (string_append (decimal_string_of_bits imm) ""))))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
| LOAD_FP (imm, rs1, rd, width) =>
- (freg_name_forwards rd) >>= fun w__159 : string =>
- (reg_name_forwards rs1) >>= fun w__160 : string =>
+ (freg_name_forwards rd) >>= fun w__185 : string =>
+ (reg_name_forwards rs1) >>= fun w__186 : string =>
returnm (string_append "fl"
(string_append (size_mnemonic_forwards width)
(string_append (spc_forwards tt)
- (string_append w__159
+ (string_append w__185
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits imm)
(string_append (opt_spc_forwards tt)
(string_append "("
(string_append (opt_spc_forwards tt)
- (string_append w__160
+ (string_append w__186
(string_append (opt_spc_forwards tt)
(string_append ")" ""))))))))))))
| STORE_FP (imm, rs2, rs1, width) =>
- (freg_name_forwards rs2) >>= fun w__161 : string =>
- (reg_name_forwards rs1) >>= fun w__162 : string =>
+ (freg_name_forwards rs2) >>= fun w__187 : string =>
+ (reg_name_forwards rs1) >>= fun w__188 : string =>
returnm (string_append "fs"
(string_append (size_mnemonic_forwards width)
(string_append (spc_forwards tt)
- (string_append w__161
+ (string_append w__187
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits imm)
(string_append (opt_spc_forwards tt)
(string_append "("
(string_append (opt_spc_forwards tt)
- (string_append w__162
+ (string_append w__188
(string_append (opt_spc_forwards tt)
(string_append ")" ""))))))))))))
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, op) =>
- (freg_name_forwards rd) >>= fun w__163 : string =>
- (freg_name_forwards rs1) >>= fun w__164 : string =>
- (freg_name_forwards rs2) >>= fun w__165 : string =>
- (freg_name_forwards rs3) >>= fun w__166 : string =>
+ (freg_name_forwards rd) >>= fun w__189 : string =>
+ (freg_name_forwards rs1) >>= fun w__190 : string =>
+ (freg_name_forwards rs2) >>= fun w__191 : string =>
+ (freg_name_forwards rs3) >>= fun w__192 : string =>
returnm (string_append (f_madd_type_mnemonic_S_forwards op)
(string_append (spc_forwards tt)
- (string_append w__163
+ (string_append w__189
(string_append (sep_forwards tt)
- (string_append w__164
+ (string_append w__190
(string_append (sep_forwards tt)
- (string_append w__165
+ (string_append w__191
(string_append (sep_forwards tt)
- (string_append w__166
+ (string_append w__192
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))))))
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, op) =>
- (freg_name_forwards rd) >>= fun w__167 : string =>
- (freg_name_forwards rs1) >>= fun w__168 : string =>
- (freg_name_forwards rs2) >>= fun w__169 : string =>
+ (freg_name_forwards rd) >>= fun w__193 : string =>
+ (freg_name_forwards rs1) >>= fun w__194 : string =>
+ (freg_name_forwards rs2) >>= fun w__195 : string =>
returnm (string_append (f_bin_rm_type_mnemonic_S_forwards op)
(string_append (spc_forwards tt)
- (string_append w__167
+ (string_append w__193
(string_append (sep_forwards tt)
- (string_append w__168
+ (string_append w__194
(string_append (sep_forwards tt)
- (string_append w__169
+ (string_append w__195
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FSQRT_S) =>
- (freg_name_forwards rd) >>= fun w__170 : string =>
- (freg_name_forwards rs1) >>= fun w__171 : string =>
+ (freg_name_forwards rd) >>= fun w__196 : string =>
+ (freg_name_forwards rs1) >>= fun w__197 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FSQRT_S)
(string_append (spc_forwards tt)
- (string_append w__170
+ (string_append w__196
(string_append (sep_forwards tt)
- (string_append w__171
+ (string_append w__197
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_W_S) =>
- (reg_name_forwards rd) >>= fun w__172 : string =>
- (freg_name_forwards rs1) >>= fun w__173 : string =>
+ (reg_name_forwards rd) >>= fun w__198 : string =>
+ (freg_name_forwards rs1) >>= fun w__199 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_W_S)
(string_append (spc_forwards tt)
- (string_append w__172
+ (string_append w__198
(string_append (sep_forwards tt)
- (string_append w__173
+ (string_append w__199
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_WU_S) =>
- (reg_name_forwards rd) >>= fun w__174 : string =>
- (freg_name_forwards rs1) >>= fun w__175 : string =>
+ (reg_name_forwards rd) >>= fun w__200 : string =>
+ (freg_name_forwards rs1) >>= fun w__201 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_WU_S)
(string_append (spc_forwards tt)
- (string_append w__174
+ (string_append w__200
(string_append (sep_forwards tt)
- (string_append w__175
+ (string_append w__201
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_W) =>
- (freg_name_forwards rd) >>= fun w__176 : string =>
- (reg_name_forwards rs1) >>= fun w__177 : string =>
+ (freg_name_forwards rd) >>= fun w__202 : string =>
+ (reg_name_forwards rs1) >>= fun w__203 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_W)
(string_append (spc_forwards tt)
- (string_append w__176
+ (string_append w__202
(string_append (sep_forwards tt)
- (string_append w__177
+ (string_append w__203
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_WU) =>
- (freg_name_forwards rd) >>= fun w__178 : string =>
- (reg_name_forwards rs1) >>= fun w__179 : string =>
+ (freg_name_forwards rd) >>= fun w__204 : string =>
+ (reg_name_forwards rs1) >>= fun w__205 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_WU)
(string_append (spc_forwards tt)
- (string_append w__178
+ (string_append w__204
(string_append (sep_forwards tt)
- (string_append w__179
+ (string_append w__205
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_L_S) =>
- (reg_name_forwards rd) >>= fun w__180 : string =>
- (freg_name_forwards rs1) >>= fun w__181 : string =>
+ (reg_name_forwards rd) >>= fun w__206 : string =>
+ (freg_name_forwards rs1) >>= fun w__207 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_L_S)
(string_append (spc_forwards tt)
- (string_append w__180
+ (string_append w__206
(string_append (sep_forwards tt)
- (string_append w__181
+ (string_append w__207
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_LU_S) =>
- (reg_name_forwards rd) >>= fun w__182 : string =>
- (freg_name_forwards rs1) >>= fun w__183 : string =>
+ (reg_name_forwards rd) >>= fun w__208 : string =>
+ (freg_name_forwards rs1) >>= fun w__209 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_LU_S)
(string_append (spc_forwards tt)
- (string_append w__182
+ (string_append w__208
(string_append (sep_forwards tt)
- (string_append w__183
+ (string_append w__209
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_L) =>
- (freg_name_forwards rd) >>= fun w__184 : string =>
- (reg_name_forwards rs1) >>= fun w__185 : string =>
+ (freg_name_forwards rd) >>= fun w__210 : string =>
+ (reg_name_forwards rs1) >>= fun w__211 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_L)
(string_append (spc_forwards tt)
- (string_append w__184
+ (string_append w__210
(string_append (sep_forwards tt)
- (string_append w__185
+ (string_append w__211
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_LU) =>
- (freg_name_forwards rd) >>= fun w__186 : string =>
- (reg_name_forwards rs1) >>= fun w__187 : string =>
+ (freg_name_forwards rd) >>= fun w__212 : string =>
+ (reg_name_forwards rs1) >>= fun w__213 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_LU)
(string_append (spc_forwards tt)
- (string_append w__186
+ (string_append w__212
(string_append (sep_forwards tt)
- (string_append w__187
+ (string_append w__213
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJ_S) =>
- (freg_name_forwards rd) >>= fun w__188 : string =>
- (freg_name_forwards rs1) >>= fun w__189 : string =>
- (freg_name_forwards rs2) >>= fun w__190 : string =>
+ (freg_name_forwards rd) >>= fun w__214 : string =>
+ (freg_name_forwards rs1) >>= fun w__215 : string =>
+ (freg_name_forwards rs2) >>= fun w__216 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FSGNJ_S)
(string_append (spc_forwards tt)
- (string_append w__188
+ (string_append w__214
(string_append (sep_forwards tt)
- (string_append w__189
- (string_append (sep_forwards tt) (string_append w__190 "")))))))
+ (string_append w__215
+ (string_append (sep_forwards tt) (string_append w__216 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJN_S) =>
- (freg_name_forwards rd) >>= fun w__191 : string =>
- (freg_name_forwards rs1) >>= fun w__192 : string =>
- (freg_name_forwards rs2) >>= fun w__193 : string =>
+ (freg_name_forwards rd) >>= fun w__217 : string =>
+ (freg_name_forwards rs1) >>= fun w__218 : string =>
+ (freg_name_forwards rs2) >>= fun w__219 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FSGNJN_S)
(string_append (spc_forwards tt)
- (string_append w__191
+ (string_append w__217
(string_append (sep_forwards tt)
- (string_append w__192
- (string_append (sep_forwards tt) (string_append w__193 "")))))))
+ (string_append w__218
+ (string_append (sep_forwards tt) (string_append w__219 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJX_S) =>
- (freg_name_forwards rd) >>= fun w__194 : string =>
- (freg_name_forwards rs1) >>= fun w__195 : string =>
- (freg_name_forwards rs2) >>= fun w__196 : string =>
+ (freg_name_forwards rd) >>= fun w__220 : string =>
+ (freg_name_forwards rs1) >>= fun w__221 : string =>
+ (freg_name_forwards rs2) >>= fun w__222 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FSGNJX_S)
(string_append (spc_forwards tt)
- (string_append w__194
+ (string_append w__220
(string_append (sep_forwards tt)
- (string_append w__195
- (string_append (sep_forwards tt) (string_append w__196 "")))))))
+ (string_append w__221
+ (string_append (sep_forwards tt) (string_append w__222 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FMIN_S) =>
- (freg_name_forwards rd) >>= fun w__197 : string =>
- (freg_name_forwards rs1) >>= fun w__198 : string =>
- (freg_name_forwards rs2) >>= fun w__199 : string =>
+ (freg_name_forwards rd) >>= fun w__223 : string =>
+ (freg_name_forwards rs1) >>= fun w__224 : string =>
+ (freg_name_forwards rs2) >>= fun w__225 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FMIN_S)
(string_append (spc_forwards tt)
- (string_append w__197
+ (string_append w__223
(string_append (sep_forwards tt)
- (string_append w__198
- (string_append (sep_forwards tt) (string_append w__199 "")))))))
+ (string_append w__224
+ (string_append (sep_forwards tt) (string_append w__225 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FMAX_S) =>
- (freg_name_forwards rd) >>= fun w__200 : string =>
- (freg_name_forwards rs1) >>= fun w__201 : string =>
- (freg_name_forwards rs2) >>= fun w__202 : string =>
+ (freg_name_forwards rd) >>= fun w__226 : string =>
+ (freg_name_forwards rs1) >>= fun w__227 : string =>
+ (freg_name_forwards rs2) >>= fun w__228 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FMAX_S)
(string_append (spc_forwards tt)
- (string_append w__200
+ (string_append w__226
(string_append (sep_forwards tt)
- (string_append w__201
- (string_append (sep_forwards tt) (string_append w__202 "")))))))
+ (string_append w__227
+ (string_append (sep_forwards tt) (string_append w__228 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FEQ_S) =>
- (reg_name_forwards rd) >>= fun w__203 : string =>
- (freg_name_forwards rs1) >>= fun w__204 : string =>
- (freg_name_forwards rs2) >>= fun w__205 : string =>
+ (reg_name_forwards rd) >>= fun w__229 : string =>
+ (freg_name_forwards rs1) >>= fun w__230 : string =>
+ (freg_name_forwards rs2) >>= fun w__231 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FEQ_S)
(string_append (spc_forwards tt)
- (string_append w__203
+ (string_append w__229
(string_append (sep_forwards tt)
- (string_append w__204
- (string_append (sep_forwards tt) (string_append w__205 "")))))))
+ (string_append w__230
+ (string_append (sep_forwards tt) (string_append w__231 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FLT_S) =>
- (reg_name_forwards rd) >>= fun w__206 : string =>
- (freg_name_forwards rs1) >>= fun w__207 : string =>
- (freg_name_forwards rs2) >>= fun w__208 : string =>
+ (reg_name_forwards rd) >>= fun w__232 : string =>
+ (freg_name_forwards rs1) >>= fun w__233 : string =>
+ (freg_name_forwards rs2) >>= fun w__234 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FLT_S)
(string_append (spc_forwards tt)
- (string_append w__206
+ (string_append w__232
(string_append (sep_forwards tt)
- (string_append w__207
- (string_append (sep_forwards tt) (string_append w__208 "")))))))
+ (string_append w__233
+ (string_append (sep_forwards tt) (string_append w__234 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FLE_S) =>
- (reg_name_forwards rd) >>= fun w__209 : string =>
- (freg_name_forwards rs1) >>= fun w__210 : string =>
- (freg_name_forwards rs2) >>= fun w__211 : string =>
+ (reg_name_forwards rd) >>= fun w__235 : string =>
+ (freg_name_forwards rs1) >>= fun w__236 : string =>
+ (freg_name_forwards rs2) >>= fun w__237 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FLE_S)
(string_append (spc_forwards tt)
- (string_append w__209
+ (string_append w__235
(string_append (sep_forwards tt)
- (string_append w__210
- (string_append (sep_forwards tt) (string_append w__211 "")))))))
+ (string_append w__236
+ (string_append (sep_forwards tt) (string_append w__237 "")))))))
| F_UN_TYPE_S (rs1, rd, FMV_X_W) =>
- (reg_name_forwards rd) >>= fun w__212 : string =>
- (freg_name_forwards rs1) >>= fun w__213 : string =>
+ (reg_name_forwards rd) >>= fun w__238 : string =>
+ (freg_name_forwards rs1) >>= fun w__239 : string =>
returnm (string_append (f_un_type_mnemonic_S_forwards FMV_X_W)
(string_append (spc_forwards tt)
- (string_append w__212
- (string_append (sep_forwards tt) (string_append w__213 "")))))
+ (string_append w__238
+ (string_append (sep_forwards tt) (string_append w__239 "")))))
| F_UN_TYPE_S (rs1, rd, FMV_W_X) =>
- (freg_name_forwards rd) >>= fun w__214 : string =>
- (reg_name_forwards rs1) >>= fun w__215 : string =>
+ (freg_name_forwards rd) >>= fun w__240 : string =>
+ (reg_name_forwards rs1) >>= fun w__241 : string =>
returnm (string_append (f_un_type_mnemonic_S_forwards FMV_W_X)
(string_append (spc_forwards tt)
- (string_append w__214
- (string_append (sep_forwards tt) (string_append w__215 "")))))
+ (string_append w__240
+ (string_append (sep_forwards tt) (string_append w__241 "")))))
| F_UN_TYPE_S (rs1, rd, FCLASS_S) =>
- (reg_name_forwards rd) >>= fun w__216 : string =>
- (freg_name_forwards rs1) >>= fun w__217 : string =>
+ (reg_name_forwards rd) >>= fun w__242 : string =>
+ (freg_name_forwards rs1) >>= fun w__243 : string =>
returnm (string_append (f_un_type_mnemonic_S_forwards FCLASS_S)
(string_append (spc_forwards tt)
- (string_append w__216
- (string_append (sep_forwards tt) (string_append w__217 "")))))
+ (string_append w__242
+ (string_append (sep_forwards tt) (string_append w__243 "")))))
| C_FLWSP (imm, rd) =>
(if sumbool_of_bool (Z.eqb 32 32) then
- (reg_name_forwards rd) >>= fun w__218 : string =>
+ (reg_name_forwards rd) >>= fun w__244 : string =>
returnm (string_append "c.flwsp"
(string_append (spc_forwards tt)
- (string_append w__218
+ (string_append w__244
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits imm) "")))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (string)
| C_FSWSP (uimm, rd) =>
(if sumbool_of_bool (Z.eqb 32 32) then
- (reg_name_forwards rd) >>= fun w__221 : string =>
+ (reg_name_forwards rd) >>= fun w__247 : string =>
returnm (string_append "c.fswsp"
(string_append (spc_forwards tt)
- (string_append w__221
+ (string_append w__247
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits uimm) "")))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (string)
| C_FLW (uimm, rsc, rdc) =>
(if sumbool_of_bool (Z.eqb 32 32) then
- (creg_name_forwards rdc) >>= fun w__224 : string =>
- (creg_name_forwards rsc) >>= fun w__225 : string =>
+ (creg_name_forwards rdc) >>= fun w__250 : string =>
+ (creg_name_forwards rsc) >>= fun w__251 : string =>
returnm (string_append "c.flw"
(string_append (spc_forwards tt)
- (string_append w__224
+ (string_append w__250
(string_append (sep_forwards tt)
- (string_append w__225
+ (string_append w__251
(string_append (sep_forwards tt)
(string_append
(decimal_string_of_bits
@@ -25917,13 +25809,13 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
: M (string)
| C_FSW (uimm, rsc1, rsc2) =>
(if sumbool_of_bool (Z.eqb 32 32) then
- (creg_name_forwards rsc1) >>= fun w__228 : string =>
- (creg_name_forwards rsc2) >>= fun w__229 : string =>
+ (creg_name_forwards rsc1) >>= fun w__254 : string =>
+ (creg_name_forwards rsc2) >>= fun w__255 : string =>
returnm (string_append "c.fsw"
(string_append (spc_forwards tt)
- (string_append w__228
+ (string_append w__254
(string_append (sep_forwards tt)
- (string_append w__229
+ (string_append w__255
(string_append (sep_forwards tt)
(string_append
(decimal_string_of_bits
@@ -25939,19 +25831,19 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
end)
: M (string).
-Definition _s2554_ (_s2555_ : string) : M (option (mword 16)) :=
- let _s2556_ := _s2555_ in
- (if string_startswith _s2556_ "c.illegal" then
- (match (string_drop _s2556_ (projT1 (string_length "c.illegal"))) with
- | _s2557_ =>
- (spc_matches_prefix _s2557_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2645_ (_s2646_ : string) : M (option (mword 16)) :=
+ let _s2647_ := _s2646_ in
+ (if string_startswith _s2647_ "c.illegal" then
+ (match (string_drop _s2647_ (projT1 (string_length "c.illegal"))) with
+ | _s2648_ =>
+ (spc_matches_prefix _s2648_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s2558_ _) =>
- match (string_drop _s2557_ _s2558_) with
- | _s2559_ =>
- match (hex_bits_16_matches_prefix _s2559_) with
- | Some (s, existT _ _s2560_ _) =>
- let p0_ := string_drop _s2559_ _s2560_ in
+ | Some (tt, existT _ _s2649_ _) =>
+ match (string_drop _s2648_ _s2649_) with
+ | _s2650_ =>
+ match (hex_bits_16_matches_prefix _s2650_) with
+ | Some (s, existT _ _s2651_ _) =>
+ let p0_ := string_drop _s2650_ _s2651_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -25964,19 +25856,19 @@ Definition _s2554_ (_s2555_ : string) : M (option (mword 16)) :=
else returnm None)
: M (option (mword 16)).
-Definition _s2546_ (_s2547_ : string) : M (option (mword 32)) :=
- let _s2548_ := _s2547_ in
- (if string_startswith _s2548_ "illegal" then
- (match (string_drop _s2548_ (projT1 (string_length "illegal"))) with
- | _s2549_ =>
- (spc_matches_prefix _s2549_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2637_ (_s2638_ : string) : M (option (mword 32)) :=
+ let _s2639_ := _s2638_ in
+ (if string_startswith _s2639_ "illegal" then
+ (match (string_drop _s2639_ (projT1 (string_length "illegal"))) with
+ | _s2640_ =>
+ (spc_matches_prefix _s2640_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s2550_ _) =>
- match (string_drop _s2549_ _s2550_) with
- | _s2551_ =>
- match (hex_bits_32_matches_prefix _s2551_) with
- | Some (s, existT _ _s2552_ _) =>
- let p0_ := string_drop _s2551_ _s2552_ in
+ | Some (tt, existT _ _s2641_ _) =>
+ match (string_drop _s2640_ _s2641_) with
+ | _s2642_ =>
+ match (hex_bits_32_matches_prefix _s2642_) with
+ | Some (s, existT _ _s2643_ _) =>
+ let p0_ := string_drop _s2642_ _s2643_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -25989,50 +25881,50 @@ Definition _s2546_ (_s2547_ : string) : M (option (mword 32)) :=
else returnm None)
: M (option (mword 32)).
-Definition _s2530_ (_s2531_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2532_ := _s2531_ in
- (if string_startswith _s2532_ "c.fsw" then
- (match (string_drop _s2532_ (projT1 (string_length "c.fsw"))) with
- | _s2533_ =>
- (spc_matches_prefix _s2533_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2621_ (_s2622_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s2623_ := _s2622_ in
+ (if string_startswith _s2623_ "c.fsw" then
+ (match (string_drop _s2623_ (projT1 (string_length "c.fsw"))) with
+ | _s2624_ =>
+ (spc_matches_prefix _s2624_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2534_ _) =>
- (match (string_drop _s2533_ _s2534_) with
- | _s2535_ =>
- (creg_name_matches_prefix _s2535_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2625_ _) =>
+ (match (string_drop _s2624_ _s2625_) with
+ | _s2626_ =>
+ (creg_name_matches_prefix _s2626_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s2536_ _) =>
- (match (string_drop _s2535_ _s2536_) with
- | _s2537_ =>
- (sep_matches_prefix _s2537_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s2627_ _) =>
+ (match (string_drop _s2626_ _s2627_) with
+ | _s2628_ =>
+ (sep_matches_prefix _s2628_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2538_ _) =>
- (match (string_drop _s2537_ _s2538_) with
- | _s2539_ =>
- (creg_name_matches_prefix _s2539_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2629_ _) =>
+ (match (string_drop _s2628_ _s2629_) with
+ | _s2630_ =>
+ (creg_name_matches_prefix _s2630_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s2540_ _) =>
- (match (string_drop _s2539_ _s2540_) with
- | _s2541_ =>
- (sep_matches_prefix _s2541_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s2631_ _) =>
+ (match (string_drop _s2630_ _s2631_) with
+ | _s2632_ =>
+ (sep_matches_prefix _s2632_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2542_ _) =>
- match (string_drop _s2541_ _s2542_) with
- | _s2543_ =>
- match (hex_bits_7_matches_prefix _s2543_) with
- | Some (v__1076, existT _ _s2544_ _) =>
- if eq_vec (subrange_vec_dec v__1076 1 0)
+ | Some (tt, existT _ _s2633_ _) =>
+ match (string_drop _s2632_ _s2633_) with
+ | _s2634_ =>
+ match (hex_bits_7_matches_prefix _s2634_) with
+ | Some (v__1180, existT _ _s2635_ _) =>
+ if eq_vec (subrange_vec_dec v__1180 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1076 6 2 in
+ subrange_vec_dec v__1180 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1076 6 2 in
- let p0_ := string_drop _s2543_ _s2544_ in
+ subrange_vec_dec v__1180 6 2 in
+ let p0_ := string_drop _s2634_ _s2635_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -26067,50 +25959,50 @@ Definition _s2530_ (_s2531_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2514_ (_s2515_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2516_ := _s2515_ in
- (if string_startswith _s2516_ "c.flw" then
- (match (string_drop _s2516_ (projT1 (string_length "c.flw"))) with
- | _s2517_ =>
- (spc_matches_prefix _s2517_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2605_ (_s2606_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s2607_ := _s2606_ in
+ (if string_startswith _s2607_ "c.flw" then
+ (match (string_drop _s2607_ (projT1 (string_length "c.flw"))) with
+ | _s2608_ =>
+ (spc_matches_prefix _s2608_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2518_ _) =>
- (match (string_drop _s2517_ _s2518_) with
- | _s2519_ =>
- (creg_name_matches_prefix _s2519_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2609_ _) =>
+ (match (string_drop _s2608_ _s2609_) with
+ | _s2610_ =>
+ (creg_name_matches_prefix _s2610_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s2520_ _) =>
- (match (string_drop _s2519_ _s2520_) with
- | _s2521_ =>
- (sep_matches_prefix _s2521_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s2611_ _) =>
+ (match (string_drop _s2610_ _s2611_) with
+ | _s2612_ =>
+ (sep_matches_prefix _s2612_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2522_ _) =>
- (match (string_drop _s2521_ _s2522_) with
- | _s2523_ =>
- (creg_name_matches_prefix _s2523_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2613_ _) =>
+ (match (string_drop _s2612_ _s2613_) with
+ | _s2614_ =>
+ (creg_name_matches_prefix _s2614_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s2524_ _) =>
- (match (string_drop _s2523_ _s2524_) with
- | _s2525_ =>
- (sep_matches_prefix _s2525_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s2615_ _) =>
+ (match (string_drop _s2614_ _s2615_) with
+ | _s2616_ =>
+ (sep_matches_prefix _s2616_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2526_ _) =>
- match (string_drop _s2525_ _s2526_) with
- | _s2527_ =>
- match (hex_bits_7_matches_prefix _s2527_) with
- | Some (v__1078, existT _ _s2528_ _) =>
- if eq_vec (subrange_vec_dec v__1078 1 0)
+ | Some (tt, existT _ _s2617_ _) =>
+ match (string_drop _s2616_ _s2617_) with
+ | _s2618_ =>
+ match (hex_bits_7_matches_prefix _s2618_) with
+ | Some (v__1182, existT _ _s2619_ _) =>
+ if eq_vec (subrange_vec_dec v__1182 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1078 6 2 in
+ subrange_vec_dec v__1182 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1078 6 2 in
- let p0_ := string_drop _s2527_ _s2528_ in
+ subrange_vec_dec v__1182 6 2 in
+ let p0_ := string_drop _s2618_ _s2619_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -26145,31 +26037,31 @@ Definition _s2514_ (_s2515_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2502_ (_s2503_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s2504_ := _s2503_ in
- (if string_startswith _s2504_ "c.fswsp" then
- (match (string_drop _s2504_ (projT1 (string_length "c.fswsp"))) with
- | _s2505_ =>
- (spc_matches_prefix _s2505_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2593_ (_s2594_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s2595_ := _s2594_ in
+ (if string_startswith _s2595_ "c.fswsp" then
+ (match (string_drop _s2595_ (projT1 (string_length "c.fswsp"))) with
+ | _s2596_ =>
+ (spc_matches_prefix _s2596_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2506_ _) =>
- (match (string_drop _s2505_ _s2506_) with
- | _s2507_ =>
- (reg_name_matches_prefix _s2507_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2597_ _) =>
+ (match (string_drop _s2596_ _s2597_) with
+ | _s2598_ =>
+ (reg_name_matches_prefix _s2598_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2508_ _) =>
- (match (string_drop _s2507_ _s2508_) with
- | _s2509_ =>
- (sep_matches_prefix _s2509_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2599_ _) =>
+ (match (string_drop _s2598_ _s2599_) with
+ | _s2600_ =>
+ (sep_matches_prefix _s2600_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2510_ _) =>
- match (string_drop _s2509_ _s2510_) with
- | _s2511_ =>
- match (hex_bits_6_matches_prefix _s2511_) with
- | Some (uimm, existT _ _s2512_ _) =>
- let p0_ := string_drop _s2511_ _s2512_ in
+ | Some (tt, existT _ _s2601_ _) =>
+ match (string_drop _s2600_ _s2601_) with
+ | _s2602_ =>
+ match (hex_bits_6_matches_prefix _s2602_) with
+ | Some (uimm, existT _ _s2603_ _) =>
+ let p0_ := string_drop _s2602_ _s2603_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -26192,31 +26084,31 @@ Definition _s2502_ (_s2503_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s2490_ (_s2491_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s2492_ := _s2491_ in
- (if string_startswith _s2492_ "c.flwsp" then
- (match (string_drop _s2492_ (projT1 (string_length "c.flwsp"))) with
- | _s2493_ =>
- (spc_matches_prefix _s2493_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2581_ (_s2582_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s2583_ := _s2582_ in
+ (if string_startswith _s2583_ "c.flwsp" then
+ (match (string_drop _s2583_ (projT1 (string_length "c.flwsp"))) with
+ | _s2584_ =>
+ (spc_matches_prefix _s2584_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2494_ _) =>
- (match (string_drop _s2493_ _s2494_) with
- | _s2495_ =>
- (reg_name_matches_prefix _s2495_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2585_ _) =>
+ (match (string_drop _s2584_ _s2585_) with
+ | _s2586_ =>
+ (reg_name_matches_prefix _s2586_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2496_ _) =>
- (match (string_drop _s2495_ _s2496_) with
- | _s2497_ =>
- (sep_matches_prefix _s2497_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2587_ _) =>
+ (match (string_drop _s2586_ _s2587_) with
+ | _s2588_ =>
+ (sep_matches_prefix _s2588_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2498_ _) =>
- match (string_drop _s2497_ _s2498_) with
- | _s2499_ =>
- match (hex_bits_6_matches_prefix _s2499_) with
- | Some (imm, existT _ _s2500_ _) =>
- let p0_ := string_drop _s2499_ _s2500_ in
+ | Some (tt, existT _ _s2589_ _) =>
+ match (string_drop _s2588_ _s2589_) with
+ | _s2590_ =>
+ match (hex_bits_6_matches_prefix _s2590_) with
+ | Some (imm, existT _ _s2591_ _) =>
+ let p0_ := string_drop _s2590_ _s2591_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -26239,38 +26131,38 @@ Definition _s2490_ (_s2491_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s2477_ (_s2478_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s2478_ with
- | _s2479_ =>
- (f_un_type_mnemonic_S_matches_prefix _s2479_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s2568_ (_s2569_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s2569_ with
+ | _s2570_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s2570_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_S, existT _ _s2480_ _) =>
- (match (string_drop _s2479_ _s2480_) with
- | _s2481_ =>
- (spc_matches_prefix _s2481_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_S, existT _ _s2571_ _) =>
+ (match (string_drop _s2570_ _s2571_) with
+ | _s2572_ =>
+ (spc_matches_prefix _s2572_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2482_ _) =>
- (match (string_drop _s2481_ _s2482_) with
- | _s2483_ =>
- (reg_name_matches_prefix _s2483_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2573_ _) =>
+ (match (string_drop _s2572_ _s2573_) with
+ | _s2574_ =>
+ (reg_name_matches_prefix _s2574_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2484_ _) =>
- (match (string_drop _s2483_ _s2484_) with
- | _s2485_ =>
- (sep_matches_prefix _s2485_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2575_ _) =>
+ (match (string_drop _s2574_ _s2575_) with
+ | _s2576_ =>
+ (sep_matches_prefix _s2576_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2486_ _) =>
- (match (string_drop _s2485_ _s2486_) with
- | _s2487_ =>
- (freg_name_matches_prefix _s2487_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2577_ _) =>
+ (match (string_drop _s2576_ _s2577_) with
+ | _s2578_ =>
+ (freg_name_matches_prefix _s2578_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s2488_ _) =>
- let p0_ := string_drop _s2487_ _s2488_ in
+ | Some (rs1, existT _ _s2579_ _) =>
+ let p0_ := string_drop _s2578_ _s2579_ in
if generic_eq p0_ "" then
Some (FCLASS_S, rd, rs1)
else None
@@ -26299,38 +26191,38 @@ Definition _s2477_ (_s2478_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s2464_ (_s2465_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s2465_ with
- | _s2466_ =>
- (f_un_type_mnemonic_S_matches_prefix _s2466_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s2555_ (_s2556_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s2556_ with
+ | _s2557_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s2557_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_W_X, existT _ _s2467_ _) =>
- (match (string_drop _s2466_ _s2467_) with
- | _s2468_ =>
- (spc_matches_prefix _s2468_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_W_X, existT _ _s2558_ _) =>
+ (match (string_drop _s2557_ _s2558_) with
+ | _s2559_ =>
+ (spc_matches_prefix _s2559_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2469_ _) =>
- (match (string_drop _s2468_ _s2469_) with
- | _s2470_ =>
- (freg_name_matches_prefix _s2470_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2560_ _) =>
+ (match (string_drop _s2559_ _s2560_) with
+ | _s2561_ =>
+ (freg_name_matches_prefix _s2561_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2471_ _) =>
- (match (string_drop _s2470_ _s2471_) with
- | _s2472_ =>
- (sep_matches_prefix _s2472_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2562_ _) =>
+ (match (string_drop _s2561_ _s2562_) with
+ | _s2563_ =>
+ (sep_matches_prefix _s2563_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2473_ _) =>
- (match (string_drop _s2472_ _s2473_) with
- | _s2474_ =>
- (reg_name_matches_prefix _s2474_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2564_ _) =>
+ (match (string_drop _s2563_ _s2564_) with
+ | _s2565_ =>
+ (reg_name_matches_prefix _s2565_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s2475_ _) =>
- let p0_ := string_drop _s2474_ _s2475_ in
+ | Some (rs1, existT _ _s2566_ _) =>
+ let p0_ := string_drop _s2565_ _s2566_ in
if generic_eq p0_ "" then Some (FMV_W_X, rd, rs1)
else None
| _ => None
@@ -26358,38 +26250,38 @@ Definition _s2464_ (_s2465_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s2451_ (_s2452_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s2452_ with
- | _s2453_ =>
- (f_un_type_mnemonic_S_matches_prefix _s2453_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s2542_ (_s2543_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s2543_ with
+ | _s2544_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s2544_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_W, existT _ _s2454_ _) =>
- (match (string_drop _s2453_ _s2454_) with
- | _s2455_ =>
- (spc_matches_prefix _s2455_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_W, existT _ _s2545_ _) =>
+ (match (string_drop _s2544_ _s2545_) with
+ | _s2546_ =>
+ (spc_matches_prefix _s2546_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2456_ _) =>
- (match (string_drop _s2455_ _s2456_) with
- | _s2457_ =>
- (reg_name_matches_prefix _s2457_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2547_ _) =>
+ (match (string_drop _s2546_ _s2547_) with
+ | _s2548_ =>
+ (reg_name_matches_prefix _s2548_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2458_ _) =>
- (match (string_drop _s2457_ _s2458_) with
- | _s2459_ =>
- (sep_matches_prefix _s2459_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2549_ _) =>
+ (match (string_drop _s2548_ _s2549_) with
+ | _s2550_ =>
+ (sep_matches_prefix _s2550_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2460_ _) =>
- (match (string_drop _s2459_ _s2460_) with
- | _s2461_ =>
- (freg_name_matches_prefix _s2461_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2551_ _) =>
+ (match (string_drop _s2550_ _s2551_) with
+ | _s2552_ =>
+ (freg_name_matches_prefix _s2552_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s2462_ _) =>
- let p0_ := string_drop _s2461_ _s2462_ in
+ | Some (rs1, existT _ _s2553_ _) =>
+ let p0_ := string_drop _s2552_ _s2553_ in
if generic_eq p0_ "" then Some (FMV_X_W, rd, rs1)
else None
| _ => None
@@ -26417,51 +26309,51 @@ Definition _s2451_ (_s2452_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s2434_ (_s2435_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2435_ with
- | _s2436_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2436_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2525_ (_s2526_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2526_ with
+ | _s2527_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2527_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_S, existT _ _s2437_ _) =>
- (match (string_drop _s2436_ _s2437_) with
- | _s2438_ =>
- (spc_matches_prefix _s2438_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_S, existT _ _s2528_ _) =>
+ (match (string_drop _s2527_ _s2528_) with
+ | _s2529_ =>
+ (spc_matches_prefix _s2529_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2439_ _) =>
- (match (string_drop _s2438_ _s2439_) with
- | _s2440_ =>
- (reg_name_matches_prefix _s2440_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2530_ _) =>
+ (match (string_drop _s2529_ _s2530_) with
+ | _s2531_ =>
+ (reg_name_matches_prefix _s2531_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2441_ _) =>
- (match (string_drop _s2440_ _s2441_) with
- | _s2442_ =>
- (sep_matches_prefix _s2442_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2532_ _) =>
+ (match (string_drop _s2531_ _s2532_) with
+ | _s2533_ =>
+ (sep_matches_prefix _s2533_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2443_ _) =>
- (match (string_drop _s2442_ _s2443_) with
- | _s2444_ =>
- (freg_name_matches_prefix _s2444_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2534_ _) =>
+ (match (string_drop _s2533_ _s2534_) with
+ | _s2535_ =>
+ (freg_name_matches_prefix _s2535_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2445_ _) =>
- (match (string_drop _s2444_ _s2445_) with
- | _s2446_ =>
- (sep_matches_prefix _s2446_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2536_ _) =>
+ (match (string_drop _s2535_ _s2536_) with
+ | _s2537_ =>
+ (sep_matches_prefix _s2537_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2447_ _) =>
- (match (string_drop _s2446_ _s2447_) with
- | _s2448_ =>
- (freg_name_matches_prefix _s2448_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2538_ _) =>
+ (match (string_drop _s2537_ _s2538_) with
+ | _s2539_ =>
+ (freg_name_matches_prefix _s2539_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2449_ _) =>
+ | Some (rs2, existT _ _s2540_ _) =>
let p0_ :=
- string_drop _s2448_ _s2449_ in
+ string_drop _s2539_ _s2540_ in
if generic_eq p0_ "" then
Some (FLE_S, rd, rs1, rs2)
else None
@@ -26500,51 +26392,51 @@ Definition _s2434_ (_s2435_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2417_ (_s2418_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2418_ with
- | _s2419_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2419_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2508_ (_s2509_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2509_ with
+ | _s2510_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2510_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_S, existT _ _s2420_ _) =>
- (match (string_drop _s2419_ _s2420_) with
- | _s2421_ =>
- (spc_matches_prefix _s2421_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_S, existT _ _s2511_ _) =>
+ (match (string_drop _s2510_ _s2511_) with
+ | _s2512_ =>
+ (spc_matches_prefix _s2512_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2422_ _) =>
- (match (string_drop _s2421_ _s2422_) with
- | _s2423_ =>
- (reg_name_matches_prefix _s2423_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2513_ _) =>
+ (match (string_drop _s2512_ _s2513_) with
+ | _s2514_ =>
+ (reg_name_matches_prefix _s2514_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2424_ _) =>
- (match (string_drop _s2423_ _s2424_) with
- | _s2425_ =>
- (sep_matches_prefix _s2425_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2515_ _) =>
+ (match (string_drop _s2514_ _s2515_) with
+ | _s2516_ =>
+ (sep_matches_prefix _s2516_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2426_ _) =>
- (match (string_drop _s2425_ _s2426_) with
- | _s2427_ =>
- (freg_name_matches_prefix _s2427_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2517_ _) =>
+ (match (string_drop _s2516_ _s2517_) with
+ | _s2518_ =>
+ (freg_name_matches_prefix _s2518_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2428_ _) =>
- (match (string_drop _s2427_ _s2428_) with
- | _s2429_ =>
- (sep_matches_prefix _s2429_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2519_ _) =>
+ (match (string_drop _s2518_ _s2519_) with
+ | _s2520_ =>
+ (sep_matches_prefix _s2520_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2430_ _) =>
- (match (string_drop _s2429_ _s2430_) with
- | _s2431_ =>
- (freg_name_matches_prefix _s2431_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2521_ _) =>
+ (match (string_drop _s2520_ _s2521_) with
+ | _s2522_ =>
+ (freg_name_matches_prefix _s2522_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2432_ _) =>
+ | Some (rs2, existT _ _s2523_ _) =>
let p0_ :=
- string_drop _s2431_ _s2432_ in
+ string_drop _s2522_ _s2523_ in
if generic_eq p0_ "" then
Some (FLT_S, rd, rs1, rs2)
else None
@@ -26583,51 +26475,51 @@ Definition _s2417_ (_s2418_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2400_ (_s2401_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2401_ with
- | _s2402_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2402_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2491_ (_s2492_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2492_ with
+ | _s2493_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2493_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_S, existT _ _s2403_ _) =>
- (match (string_drop _s2402_ _s2403_) with
- | _s2404_ =>
- (spc_matches_prefix _s2404_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_S, existT _ _s2494_ _) =>
+ (match (string_drop _s2493_ _s2494_) with
+ | _s2495_ =>
+ (spc_matches_prefix _s2495_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2405_ _) =>
- (match (string_drop _s2404_ _s2405_) with
- | _s2406_ =>
- (reg_name_matches_prefix _s2406_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2496_ _) =>
+ (match (string_drop _s2495_ _s2496_) with
+ | _s2497_ =>
+ (reg_name_matches_prefix _s2497_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2407_ _) =>
- (match (string_drop _s2406_ _s2407_) with
- | _s2408_ =>
- (sep_matches_prefix _s2408_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2498_ _) =>
+ (match (string_drop _s2497_ _s2498_) with
+ | _s2499_ =>
+ (sep_matches_prefix _s2499_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2409_ _) =>
- (match (string_drop _s2408_ _s2409_) with
- | _s2410_ =>
- (freg_name_matches_prefix _s2410_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2500_ _) =>
+ (match (string_drop _s2499_ _s2500_) with
+ | _s2501_ =>
+ (freg_name_matches_prefix _s2501_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2411_ _) =>
- (match (string_drop _s2410_ _s2411_) with
- | _s2412_ =>
- (sep_matches_prefix _s2412_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2502_ _) =>
+ (match (string_drop _s2501_ _s2502_) with
+ | _s2503_ =>
+ (sep_matches_prefix _s2503_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2413_ _) =>
- (match (string_drop _s2412_ _s2413_) with
- | _s2414_ =>
- (freg_name_matches_prefix _s2414_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2504_ _) =>
+ (match (string_drop _s2503_ _s2504_) with
+ | _s2505_ =>
+ (freg_name_matches_prefix _s2505_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2415_ _) =>
+ | Some (rs2, existT _ _s2506_ _) =>
let p0_ :=
- string_drop _s2414_ _s2415_ in
+ string_drop _s2505_ _s2506_ in
if generic_eq p0_ "" then
Some (FEQ_S, rd, rs1, rs2)
else None
@@ -26666,51 +26558,51 @@ Definition _s2400_ (_s2401_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2383_ (_s2384_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2384_ with
- | _s2385_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2385_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2474_ (_s2475_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2475_ with
+ | _s2476_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2476_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_S, existT _ _s2386_ _) =>
- (match (string_drop _s2385_ _s2386_) with
- | _s2387_ =>
- (spc_matches_prefix _s2387_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_S, existT _ _s2477_ _) =>
+ (match (string_drop _s2476_ _s2477_) with
+ | _s2478_ =>
+ (spc_matches_prefix _s2478_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2388_ _) =>
- (match (string_drop _s2387_ _s2388_) with
- | _s2389_ =>
- (freg_name_matches_prefix _s2389_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2479_ _) =>
+ (match (string_drop _s2478_ _s2479_) with
+ | _s2480_ =>
+ (freg_name_matches_prefix _s2480_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2390_ _) =>
- (match (string_drop _s2389_ _s2390_) with
- | _s2391_ =>
- (sep_matches_prefix _s2391_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2481_ _) =>
+ (match (string_drop _s2480_ _s2481_) with
+ | _s2482_ =>
+ (sep_matches_prefix _s2482_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2392_ _) =>
- (match (string_drop _s2391_ _s2392_) with
- | _s2393_ =>
- (freg_name_matches_prefix _s2393_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2483_ _) =>
+ (match (string_drop _s2482_ _s2483_) with
+ | _s2484_ =>
+ (freg_name_matches_prefix _s2484_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2394_ _) =>
- (match (string_drop _s2393_ _s2394_) with
- | _s2395_ =>
- (sep_matches_prefix _s2395_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2485_ _) =>
+ (match (string_drop _s2484_ _s2485_) with
+ | _s2486_ =>
+ (sep_matches_prefix _s2486_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2396_ _) =>
- (match (string_drop _s2395_ _s2396_) with
- | _s2397_ =>
- (freg_name_matches_prefix _s2397_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2487_ _) =>
+ (match (string_drop _s2486_ _s2487_) with
+ | _s2488_ =>
+ (freg_name_matches_prefix _s2488_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2398_ _) =>
+ | Some (rs2, existT _ _s2489_ _) =>
let p0_ :=
- string_drop _s2397_ _s2398_ in
+ string_drop _s2488_ _s2489_ in
if generic_eq p0_ "" then
Some (FMAX_S, rd, rs1, rs2)
else None
@@ -26749,51 +26641,51 @@ Definition _s2383_ (_s2384_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2366_ (_s2367_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2367_ with
- | _s2368_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2368_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2457_ (_s2458_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2458_ with
+ | _s2459_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2459_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_S, existT _ _s2369_ _) =>
- (match (string_drop _s2368_ _s2369_) with
- | _s2370_ =>
- (spc_matches_prefix _s2370_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_S, existT _ _s2460_ _) =>
+ (match (string_drop _s2459_ _s2460_) with
+ | _s2461_ =>
+ (spc_matches_prefix _s2461_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2371_ _) =>
- (match (string_drop _s2370_ _s2371_) with
- | _s2372_ =>
- (freg_name_matches_prefix _s2372_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2462_ _) =>
+ (match (string_drop _s2461_ _s2462_) with
+ | _s2463_ =>
+ (freg_name_matches_prefix _s2463_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2373_ _) =>
- (match (string_drop _s2372_ _s2373_) with
- | _s2374_ =>
- (sep_matches_prefix _s2374_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2464_ _) =>
+ (match (string_drop _s2463_ _s2464_) with
+ | _s2465_ =>
+ (sep_matches_prefix _s2465_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2375_ _) =>
- (match (string_drop _s2374_ _s2375_) with
- | _s2376_ =>
- (freg_name_matches_prefix _s2376_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2466_ _) =>
+ (match (string_drop _s2465_ _s2466_) with
+ | _s2467_ =>
+ (freg_name_matches_prefix _s2467_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2377_ _) =>
- (match (string_drop _s2376_ _s2377_) with
- | _s2378_ =>
- (sep_matches_prefix _s2378_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2468_ _) =>
+ (match (string_drop _s2467_ _s2468_) with
+ | _s2469_ =>
+ (sep_matches_prefix _s2469_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2379_ _) =>
- (match (string_drop _s2378_ _s2379_) with
- | _s2380_ =>
- (freg_name_matches_prefix _s2380_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2470_ _) =>
+ (match (string_drop _s2469_ _s2470_) with
+ | _s2471_ =>
+ (freg_name_matches_prefix _s2471_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2381_ _) =>
+ | Some (rs2, existT _ _s2472_ _) =>
let p0_ :=
- string_drop _s2380_ _s2381_ in
+ string_drop _s2471_ _s2472_ in
if generic_eq p0_ "" then
Some (FMIN_S, rd, rs1, rs2)
else None
@@ -26832,51 +26724,51 @@ Definition _s2366_ (_s2367_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2349_ (_s2350_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2350_ with
- | _s2351_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2351_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2440_ (_s2441_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2441_ with
+ | _s2442_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2442_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_S, existT _ _s2352_ _) =>
- (match (string_drop _s2351_ _s2352_) with
- | _s2353_ =>
- (spc_matches_prefix _s2353_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_S, existT _ _s2443_ _) =>
+ (match (string_drop _s2442_ _s2443_) with
+ | _s2444_ =>
+ (spc_matches_prefix _s2444_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2354_ _) =>
- (match (string_drop _s2353_ _s2354_) with
- | _s2355_ =>
- (freg_name_matches_prefix _s2355_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2445_ _) =>
+ (match (string_drop _s2444_ _s2445_) with
+ | _s2446_ =>
+ (freg_name_matches_prefix _s2446_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2356_ _) =>
- (match (string_drop _s2355_ _s2356_) with
- | _s2357_ =>
- (sep_matches_prefix _s2357_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2447_ _) =>
+ (match (string_drop _s2446_ _s2447_) with
+ | _s2448_ =>
+ (sep_matches_prefix _s2448_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2358_ _) =>
- (match (string_drop _s2357_ _s2358_) with
- | _s2359_ =>
- (freg_name_matches_prefix _s2359_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2449_ _) =>
+ (match (string_drop _s2448_ _s2449_) with
+ | _s2450_ =>
+ (freg_name_matches_prefix _s2450_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2360_ _) =>
- (match (string_drop _s2359_ _s2360_) with
- | _s2361_ =>
- (sep_matches_prefix _s2361_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2451_ _) =>
+ (match (string_drop _s2450_ _s2451_) with
+ | _s2452_ =>
+ (sep_matches_prefix _s2452_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2362_ _) =>
- (match (string_drop _s2361_ _s2362_) with
- | _s2363_ =>
- (freg_name_matches_prefix _s2363_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2453_ _) =>
+ (match (string_drop _s2452_ _s2453_) with
+ | _s2454_ =>
+ (freg_name_matches_prefix _s2454_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2364_ _) =>
+ | Some (rs2, existT _ _s2455_ _) =>
let p0_ :=
- string_drop _s2363_ _s2364_ in
+ string_drop _s2454_ _s2455_ in
if generic_eq p0_ "" then
Some (FSGNJX_S, rd, rs1, rs2)
else None
@@ -26915,51 +26807,51 @@ Definition _s2349_ (_s2350_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2332_ (_s2333_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2333_ with
- | _s2334_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2334_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2423_ (_s2424_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2424_ with
+ | _s2425_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2425_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_S, existT _ _s2335_ _) =>
- (match (string_drop _s2334_ _s2335_) with
- | _s2336_ =>
- (spc_matches_prefix _s2336_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_S, existT _ _s2426_ _) =>
+ (match (string_drop _s2425_ _s2426_) with
+ | _s2427_ =>
+ (spc_matches_prefix _s2427_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2337_ _) =>
- (match (string_drop _s2336_ _s2337_) with
- | _s2338_ =>
- (freg_name_matches_prefix _s2338_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2428_ _) =>
+ (match (string_drop _s2427_ _s2428_) with
+ | _s2429_ =>
+ (freg_name_matches_prefix _s2429_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2339_ _) =>
- (match (string_drop _s2338_ _s2339_) with
- | _s2340_ =>
- (sep_matches_prefix _s2340_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2430_ _) =>
+ (match (string_drop _s2429_ _s2430_) with
+ | _s2431_ =>
+ (sep_matches_prefix _s2431_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2341_ _) =>
- (match (string_drop _s2340_ _s2341_) with
- | _s2342_ =>
- (freg_name_matches_prefix _s2342_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2432_ _) =>
+ (match (string_drop _s2431_ _s2432_) with
+ | _s2433_ =>
+ (freg_name_matches_prefix _s2433_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2343_ _) =>
- (match (string_drop _s2342_ _s2343_) with
- | _s2344_ =>
- (sep_matches_prefix _s2344_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2434_ _) =>
+ (match (string_drop _s2433_ _s2434_) with
+ | _s2435_ =>
+ (sep_matches_prefix _s2435_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2345_ _) =>
- (match (string_drop _s2344_ _s2345_) with
- | _s2346_ =>
- (freg_name_matches_prefix _s2346_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2436_ _) =>
+ (match (string_drop _s2435_ _s2436_) with
+ | _s2437_ =>
+ (freg_name_matches_prefix _s2437_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2347_ _) =>
+ | Some (rs2, existT _ _s2438_ _) =>
let p0_ :=
- string_drop _s2346_ _s2347_ in
+ string_drop _s2437_ _s2438_ in
if generic_eq p0_ "" then
Some (FSGNJN_S, rd, rs1, rs2)
else None
@@ -26998,51 +26890,51 @@ Definition _s2332_ (_s2333_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2315_ (_s2316_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2316_ with
- | _s2317_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2317_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2406_ (_s2407_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2407_ with
+ | _s2408_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2408_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_S, existT _ _s2318_ _) =>
- (match (string_drop _s2317_ _s2318_) with
- | _s2319_ =>
- (spc_matches_prefix _s2319_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_S, existT _ _s2409_ _) =>
+ (match (string_drop _s2408_ _s2409_) with
+ | _s2410_ =>
+ (spc_matches_prefix _s2410_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2320_ _) =>
- (match (string_drop _s2319_ _s2320_) with
- | _s2321_ =>
- (freg_name_matches_prefix _s2321_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2411_ _) =>
+ (match (string_drop _s2410_ _s2411_) with
+ | _s2412_ =>
+ (freg_name_matches_prefix _s2412_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2322_ _) =>
- (match (string_drop _s2321_ _s2322_) with
- | _s2323_ =>
- (sep_matches_prefix _s2323_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2413_ _) =>
+ (match (string_drop _s2412_ _s2413_) with
+ | _s2414_ =>
+ (sep_matches_prefix _s2414_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2324_ _) =>
- (match (string_drop _s2323_ _s2324_) with
- | _s2325_ =>
- (freg_name_matches_prefix _s2325_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2415_ _) =>
+ (match (string_drop _s2414_ _s2415_) with
+ | _s2416_ =>
+ (freg_name_matches_prefix _s2416_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2326_ _) =>
- (match (string_drop _s2325_ _s2326_) with
- | _s2327_ =>
- (sep_matches_prefix _s2327_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2417_ _) =>
+ (match (string_drop _s2416_ _s2417_) with
+ | _s2418_ =>
+ (sep_matches_prefix _s2418_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2328_ _) =>
- (match (string_drop _s2327_ _s2328_) with
- | _s2329_ =>
- (freg_name_matches_prefix _s2329_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2419_ _) =>
+ (match (string_drop _s2418_ _s2419_) with
+ | _s2420_ =>
+ (freg_name_matches_prefix _s2420_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2330_ _) =>
+ | Some (rs2, existT _ _s2421_ _) =>
let p0_ :=
- string_drop _s2329_ _s2330_ in
+ string_drop _s2420_ _s2421_ in
if generic_eq p0_ "" then
Some (FSGNJ_S, rd, rs1, rs2)
else None
@@ -27081,52 +26973,52 @@ Definition _s2315_ (_s2316_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2298_ (_s2299_ : string)
+Definition _s2389_ (_s2390_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2299_ with
- | _s2300_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2300_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2390_ with
+ | _s2391_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2391_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_LU, existT _ _s2301_ _) =>
- (match (string_drop _s2300_ _s2301_) with
- | _s2302_ =>
- (spc_matches_prefix _s2302_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_LU, existT _ _s2392_ _) =>
+ (match (string_drop _s2391_ _s2392_) with
+ | _s2393_ =>
+ (spc_matches_prefix _s2393_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2303_ _) =>
- (match (string_drop _s2302_ _s2303_) with
- | _s2304_ =>
- (freg_name_matches_prefix _s2304_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2394_ _) =>
+ (match (string_drop _s2393_ _s2394_) with
+ | _s2395_ =>
+ (freg_name_matches_prefix _s2395_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2305_ _) =>
- (match (string_drop _s2304_ _s2305_) with
- | _s2306_ =>
- (sep_matches_prefix _s2306_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2396_ _) =>
+ (match (string_drop _s2395_ _s2396_) with
+ | _s2397_ =>
+ (sep_matches_prefix _s2397_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2307_ _) =>
- (match (string_drop _s2306_ _s2307_) with
- | _s2308_ =>
- (reg_name_matches_prefix _s2308_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2398_ _) =>
+ (match (string_drop _s2397_ _s2398_) with
+ | _s2399_ =>
+ (reg_name_matches_prefix _s2399_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2309_ _) =>
- (match (string_drop _s2308_ _s2309_) with
- | _s2310_ =>
- (sep_matches_prefix _s2310_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2400_ _) =>
+ (match (string_drop _s2399_ _s2400_) with
+ | _s2401_ =>
+ (sep_matches_prefix _s2401_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2311_ _) =>
- (match (string_drop _s2310_ _s2311_) with
- | _s2312_ =>
- (frm_mnemonic_matches_prefix _s2312_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2402_ _) =>
+ (match (string_drop _s2401_ _s2402_) with
+ | _s2403_ =>
+ (frm_mnemonic_matches_prefix _s2403_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2313_ _) =>
+ | Some (rm, existT _ _s2404_ _) =>
let p0_ :=
- string_drop _s2312_ _s2313_ in
+ string_drop _s2403_ _s2404_ in
if generic_eq p0_ "" then
Some (FCVT_S_LU, rd, rs1, rm)
else None
@@ -27165,52 +27057,52 @@ Definition _s2298_ (_s2299_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2281_ (_s2282_ : string)
+Definition _s2372_ (_s2373_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2282_ with
- | _s2283_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2283_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2373_ with
+ | _s2374_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2374_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_L, existT _ _s2284_ _) =>
- (match (string_drop _s2283_ _s2284_) with
- | _s2285_ =>
- (spc_matches_prefix _s2285_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_L, existT _ _s2375_ _) =>
+ (match (string_drop _s2374_ _s2375_) with
+ | _s2376_ =>
+ (spc_matches_prefix _s2376_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2286_ _) =>
- (match (string_drop _s2285_ _s2286_) with
- | _s2287_ =>
- (freg_name_matches_prefix _s2287_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2377_ _) =>
+ (match (string_drop _s2376_ _s2377_) with
+ | _s2378_ =>
+ (freg_name_matches_prefix _s2378_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2288_ _) =>
- (match (string_drop _s2287_ _s2288_) with
- | _s2289_ =>
- (sep_matches_prefix _s2289_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2379_ _) =>
+ (match (string_drop _s2378_ _s2379_) with
+ | _s2380_ =>
+ (sep_matches_prefix _s2380_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2290_ _) =>
- (match (string_drop _s2289_ _s2290_) with
- | _s2291_ =>
- (reg_name_matches_prefix _s2291_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2381_ _) =>
+ (match (string_drop _s2380_ _s2381_) with
+ | _s2382_ =>
+ (reg_name_matches_prefix _s2382_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2292_ _) =>
- (match (string_drop _s2291_ _s2292_) with
- | _s2293_ =>
- (sep_matches_prefix _s2293_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2383_ _) =>
+ (match (string_drop _s2382_ _s2383_) with
+ | _s2384_ =>
+ (sep_matches_prefix _s2384_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2294_ _) =>
- (match (string_drop _s2293_ _s2294_) with
- | _s2295_ =>
- (frm_mnemonic_matches_prefix _s2295_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2385_ _) =>
+ (match (string_drop _s2384_ _s2385_) with
+ | _s2386_ =>
+ (frm_mnemonic_matches_prefix _s2386_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2296_ _) =>
+ | Some (rm, existT _ _s2387_ _) =>
let p0_ :=
- string_drop _s2295_ _s2296_ in
+ string_drop _s2386_ _s2387_ in
if generic_eq p0_ "" then
Some (FCVT_S_L, rd, rs1, rm)
else None
@@ -27249,52 +27141,52 @@ Definition _s2281_ (_s2282_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2264_ (_s2265_ : string)
+Definition _s2355_ (_s2356_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2265_ with
- | _s2266_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2266_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2356_ with
+ | _s2357_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2357_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_S, existT _ _s2267_ _) =>
- (match (string_drop _s2266_ _s2267_) with
- | _s2268_ =>
- (spc_matches_prefix _s2268_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_S, existT _ _s2358_ _) =>
+ (match (string_drop _s2357_ _s2358_) with
+ | _s2359_ =>
+ (spc_matches_prefix _s2359_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2269_ _) =>
- (match (string_drop _s2268_ _s2269_) with
- | _s2270_ =>
- (reg_name_matches_prefix _s2270_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2360_ _) =>
+ (match (string_drop _s2359_ _s2360_) with
+ | _s2361_ =>
+ (reg_name_matches_prefix _s2361_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2271_ _) =>
- (match (string_drop _s2270_ _s2271_) with
- | _s2272_ =>
- (sep_matches_prefix _s2272_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2362_ _) =>
+ (match (string_drop _s2361_ _s2362_) with
+ | _s2363_ =>
+ (sep_matches_prefix _s2363_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2273_ _) =>
- (match (string_drop _s2272_ _s2273_) with
- | _s2274_ =>
- (freg_name_matches_prefix _s2274_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2364_ _) =>
+ (match (string_drop _s2363_ _s2364_) with
+ | _s2365_ =>
+ (freg_name_matches_prefix _s2365_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2275_ _) =>
- (match (string_drop _s2274_ _s2275_) with
- | _s2276_ =>
- (sep_matches_prefix _s2276_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2366_ _) =>
+ (match (string_drop _s2365_ _s2366_) with
+ | _s2367_ =>
+ (sep_matches_prefix _s2367_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2277_ _) =>
- (match (string_drop _s2276_ _s2277_) with
- | _s2278_ =>
- (frm_mnemonic_matches_prefix _s2278_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2368_ _) =>
+ (match (string_drop _s2367_ _s2368_) with
+ | _s2369_ =>
+ (frm_mnemonic_matches_prefix _s2369_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2279_ _) =>
+ | Some (rm, existT _ _s2370_ _) =>
let p0_ :=
- string_drop _s2278_ _s2279_ in
+ string_drop _s2369_ _s2370_ in
if generic_eq p0_ "" then
Some (FCVT_LU_S, rd, rs1, rm)
else None
@@ -27333,52 +27225,52 @@ Definition _s2264_ (_s2265_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2247_ (_s2248_ : string)
+Definition _s2338_ (_s2339_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2248_ with
- | _s2249_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2249_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2339_ with
+ | _s2340_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2340_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_S, existT _ _s2250_ _) =>
- (match (string_drop _s2249_ _s2250_) with
- | _s2251_ =>
- (spc_matches_prefix _s2251_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_S, existT _ _s2341_ _) =>
+ (match (string_drop _s2340_ _s2341_) with
+ | _s2342_ =>
+ (spc_matches_prefix _s2342_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2252_ _) =>
- (match (string_drop _s2251_ _s2252_) with
- | _s2253_ =>
- (reg_name_matches_prefix _s2253_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2343_ _) =>
+ (match (string_drop _s2342_ _s2343_) with
+ | _s2344_ =>
+ (reg_name_matches_prefix _s2344_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2254_ _) =>
- (match (string_drop _s2253_ _s2254_) with
- | _s2255_ =>
- (sep_matches_prefix _s2255_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2345_ _) =>
+ (match (string_drop _s2344_ _s2345_) with
+ | _s2346_ =>
+ (sep_matches_prefix _s2346_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2256_ _) =>
- (match (string_drop _s2255_ _s2256_) with
- | _s2257_ =>
- (freg_name_matches_prefix _s2257_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2347_ _) =>
+ (match (string_drop _s2346_ _s2347_) with
+ | _s2348_ =>
+ (freg_name_matches_prefix _s2348_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2258_ _) =>
- (match (string_drop _s2257_ _s2258_) with
- | _s2259_ =>
- (sep_matches_prefix _s2259_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2349_ _) =>
+ (match (string_drop _s2348_ _s2349_) with
+ | _s2350_ =>
+ (sep_matches_prefix _s2350_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2260_ _) =>
- (match (string_drop _s2259_ _s2260_) with
- | _s2261_ =>
- (frm_mnemonic_matches_prefix _s2261_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2351_ _) =>
+ (match (string_drop _s2350_ _s2351_) with
+ | _s2352_ =>
+ (frm_mnemonic_matches_prefix _s2352_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2262_ _) =>
+ | Some (rm, existT _ _s2353_ _) =>
let p0_ :=
- string_drop _s2261_ _s2262_ in
+ string_drop _s2352_ _s2353_ in
if generic_eq p0_ "" then
Some (FCVT_L_S, rd, rs1, rm)
else None
@@ -27417,52 +27309,52 @@ Definition _s2247_ (_s2248_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2230_ (_s2231_ : string)
+Definition _s2321_ (_s2322_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2231_ with
- | _s2232_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2232_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2322_ with
+ | _s2323_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2323_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_WU, existT _ _s2233_ _) =>
- (match (string_drop _s2232_ _s2233_) with
- | _s2234_ =>
- (spc_matches_prefix _s2234_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_WU, existT _ _s2324_ _) =>
+ (match (string_drop _s2323_ _s2324_) with
+ | _s2325_ =>
+ (spc_matches_prefix _s2325_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2235_ _) =>
- (match (string_drop _s2234_ _s2235_) with
- | _s2236_ =>
- (freg_name_matches_prefix _s2236_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2326_ _) =>
+ (match (string_drop _s2325_ _s2326_) with
+ | _s2327_ =>
+ (freg_name_matches_prefix _s2327_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2237_ _) =>
- (match (string_drop _s2236_ _s2237_) with
- | _s2238_ =>
- (sep_matches_prefix _s2238_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2328_ _) =>
+ (match (string_drop _s2327_ _s2328_) with
+ | _s2329_ =>
+ (sep_matches_prefix _s2329_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2239_ _) =>
- (match (string_drop _s2238_ _s2239_) with
- | _s2240_ =>
- (reg_name_matches_prefix _s2240_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2330_ _) =>
+ (match (string_drop _s2329_ _s2330_) with
+ | _s2331_ =>
+ (reg_name_matches_prefix _s2331_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2241_ _) =>
- (match (string_drop _s2240_ _s2241_) with
- | _s2242_ =>
- (sep_matches_prefix _s2242_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2332_ _) =>
+ (match (string_drop _s2331_ _s2332_) with
+ | _s2333_ =>
+ (sep_matches_prefix _s2333_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2243_ _) =>
- (match (string_drop _s2242_ _s2243_) with
- | _s2244_ =>
- (frm_mnemonic_matches_prefix _s2244_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2334_ _) =>
+ (match (string_drop _s2333_ _s2334_) with
+ | _s2335_ =>
+ (frm_mnemonic_matches_prefix _s2335_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2245_ _) =>
+ | Some (rm, existT _ _s2336_ _) =>
let p0_ :=
- string_drop _s2244_ _s2245_ in
+ string_drop _s2335_ _s2336_ in
if generic_eq p0_ "" then
Some (FCVT_S_WU, rd, rs1, rm)
else None
@@ -27501,52 +27393,52 @@ Definition _s2230_ (_s2231_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2213_ (_s2214_ : string)
+Definition _s2304_ (_s2305_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2214_ with
- | _s2215_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2215_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2305_ with
+ | _s2306_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2306_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_W, existT _ _s2216_ _) =>
- (match (string_drop _s2215_ _s2216_) with
- | _s2217_ =>
- (spc_matches_prefix _s2217_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_W, existT _ _s2307_ _) =>
+ (match (string_drop _s2306_ _s2307_) with
+ | _s2308_ =>
+ (spc_matches_prefix _s2308_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2218_ _) =>
- (match (string_drop _s2217_ _s2218_) with
- | _s2219_ =>
- (freg_name_matches_prefix _s2219_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2309_ _) =>
+ (match (string_drop _s2308_ _s2309_) with
+ | _s2310_ =>
+ (freg_name_matches_prefix _s2310_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2220_ _) =>
- (match (string_drop _s2219_ _s2220_) with
- | _s2221_ =>
- (sep_matches_prefix _s2221_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2311_ _) =>
+ (match (string_drop _s2310_ _s2311_) with
+ | _s2312_ =>
+ (sep_matches_prefix _s2312_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2222_ _) =>
- (match (string_drop _s2221_ _s2222_) with
- | _s2223_ =>
- (reg_name_matches_prefix _s2223_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2313_ _) =>
+ (match (string_drop _s2312_ _s2313_) with
+ | _s2314_ =>
+ (reg_name_matches_prefix _s2314_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2224_ _) =>
- (match (string_drop _s2223_ _s2224_) with
- | _s2225_ =>
- (sep_matches_prefix _s2225_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2315_ _) =>
+ (match (string_drop _s2314_ _s2315_) with
+ | _s2316_ =>
+ (sep_matches_prefix _s2316_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2226_ _) =>
- (match (string_drop _s2225_ _s2226_) with
- | _s2227_ =>
- (frm_mnemonic_matches_prefix _s2227_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2317_ _) =>
+ (match (string_drop _s2316_ _s2317_) with
+ | _s2318_ =>
+ (frm_mnemonic_matches_prefix _s2318_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2228_ _) =>
+ | Some (rm, existT _ _s2319_ _) =>
let p0_ :=
- string_drop _s2227_ _s2228_ in
+ string_drop _s2318_ _s2319_ in
if generic_eq p0_ "" then
Some (FCVT_S_W, rd, rs1, rm)
else None
@@ -27585,52 +27477,52 @@ Definition _s2213_ (_s2214_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2196_ (_s2197_ : string)
+Definition _s2287_ (_s2288_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2197_ with
- | _s2198_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2198_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2288_ with
+ | _s2289_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2289_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_S, existT _ _s2199_ _) =>
- (match (string_drop _s2198_ _s2199_) with
- | _s2200_ =>
- (spc_matches_prefix _s2200_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_S, existT _ _s2290_ _) =>
+ (match (string_drop _s2289_ _s2290_) with
+ | _s2291_ =>
+ (spc_matches_prefix _s2291_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2201_ _) =>
- (match (string_drop _s2200_ _s2201_) with
- | _s2202_ =>
- (reg_name_matches_prefix _s2202_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2292_ _) =>
+ (match (string_drop _s2291_ _s2292_) with
+ | _s2293_ =>
+ (reg_name_matches_prefix _s2293_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2203_ _) =>
- (match (string_drop _s2202_ _s2203_) with
- | _s2204_ =>
- (sep_matches_prefix _s2204_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2294_ _) =>
+ (match (string_drop _s2293_ _s2294_) with
+ | _s2295_ =>
+ (sep_matches_prefix _s2295_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2205_ _) =>
- (match (string_drop _s2204_ _s2205_) with
- | _s2206_ =>
- (freg_name_matches_prefix _s2206_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2296_ _) =>
+ (match (string_drop _s2295_ _s2296_) with
+ | _s2297_ =>
+ (freg_name_matches_prefix _s2297_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2207_ _) =>
- (match (string_drop _s2206_ _s2207_) with
- | _s2208_ =>
- (sep_matches_prefix _s2208_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2298_ _) =>
+ (match (string_drop _s2297_ _s2298_) with
+ | _s2299_ =>
+ (sep_matches_prefix _s2299_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2209_ _) =>
- (match (string_drop _s2208_ _s2209_) with
- | _s2210_ =>
- (frm_mnemonic_matches_prefix _s2210_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2300_ _) =>
+ (match (string_drop _s2299_ _s2300_) with
+ | _s2301_ =>
+ (frm_mnemonic_matches_prefix _s2301_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2211_ _) =>
+ | Some (rm, existT _ _s2302_ _) =>
let p0_ :=
- string_drop _s2210_ _s2211_ in
+ string_drop _s2301_ _s2302_ in
if generic_eq p0_ "" then
Some (FCVT_WU_S, rd, rs1, rm)
else None
@@ -27669,52 +27561,52 @@ Definition _s2196_ (_s2197_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2179_ (_s2180_ : string)
+Definition _s2270_ (_s2271_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2180_ with
- | _s2181_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2181_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2271_ with
+ | _s2272_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2272_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_S, existT _ _s2182_ _) =>
- (match (string_drop _s2181_ _s2182_) with
- | _s2183_ =>
- (spc_matches_prefix _s2183_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_S, existT _ _s2273_ _) =>
+ (match (string_drop _s2272_ _s2273_) with
+ | _s2274_ =>
+ (spc_matches_prefix _s2274_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2184_ _) =>
- (match (string_drop _s2183_ _s2184_) with
- | _s2185_ =>
- (reg_name_matches_prefix _s2185_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2275_ _) =>
+ (match (string_drop _s2274_ _s2275_) with
+ | _s2276_ =>
+ (reg_name_matches_prefix _s2276_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2186_ _) =>
- (match (string_drop _s2185_ _s2186_) with
- | _s2187_ =>
- (sep_matches_prefix _s2187_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2277_ _) =>
+ (match (string_drop _s2276_ _s2277_) with
+ | _s2278_ =>
+ (sep_matches_prefix _s2278_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2188_ _) =>
- (match (string_drop _s2187_ _s2188_) with
- | _s2189_ =>
- (freg_name_matches_prefix _s2189_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2279_ _) =>
+ (match (string_drop _s2278_ _s2279_) with
+ | _s2280_ =>
+ (freg_name_matches_prefix _s2280_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2190_ _) =>
- (match (string_drop _s2189_ _s2190_) with
- | _s2191_ =>
- (sep_matches_prefix _s2191_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2281_ _) =>
+ (match (string_drop _s2280_ _s2281_) with
+ | _s2282_ =>
+ (sep_matches_prefix _s2282_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2192_ _) =>
- (match (string_drop _s2191_ _s2192_) with
- | _s2193_ =>
- (frm_mnemonic_matches_prefix _s2193_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2283_ _) =>
+ (match (string_drop _s2282_ _s2283_) with
+ | _s2284_ =>
+ (frm_mnemonic_matches_prefix _s2284_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2194_ _) =>
+ | Some (rm, existT _ _s2285_ _) =>
let p0_ :=
- string_drop _s2193_ _s2194_ in
+ string_drop _s2284_ _s2285_ in
if generic_eq p0_ "" then
Some (FCVT_W_S, rd, rs1, rm)
else None
@@ -27753,52 +27645,52 @@ Definition _s2179_ (_s2180_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2162_ (_s2163_ : string)
+Definition _s2253_ (_s2254_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2163_ with
- | _s2164_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2164_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2254_ with
+ | _s2255_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2255_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_S, existT _ _s2165_ _) =>
- (match (string_drop _s2164_ _s2165_) with
- | _s2166_ =>
- (spc_matches_prefix _s2166_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_S, existT _ _s2256_ _) =>
+ (match (string_drop _s2255_ _s2256_) with
+ | _s2257_ =>
+ (spc_matches_prefix _s2257_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2167_ _) =>
- (match (string_drop _s2166_ _s2167_) with
- | _s2168_ =>
- (freg_name_matches_prefix _s2168_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2258_ _) =>
+ (match (string_drop _s2257_ _s2258_) with
+ | _s2259_ =>
+ (freg_name_matches_prefix _s2259_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2169_ _) =>
- (match (string_drop _s2168_ _s2169_) with
- | _s2170_ =>
- (sep_matches_prefix _s2170_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2260_ _) =>
+ (match (string_drop _s2259_ _s2260_) with
+ | _s2261_ =>
+ (sep_matches_prefix _s2261_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2171_ _) =>
- (match (string_drop _s2170_ _s2171_) with
- | _s2172_ =>
- (freg_name_matches_prefix _s2172_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2262_ _) =>
+ (match (string_drop _s2261_ _s2262_) with
+ | _s2263_ =>
+ (freg_name_matches_prefix _s2263_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2173_ _) =>
- (match (string_drop _s2172_ _s2173_) with
- | _s2174_ =>
- (sep_matches_prefix _s2174_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2264_ _) =>
+ (match (string_drop _s2263_ _s2264_) with
+ | _s2265_ =>
+ (sep_matches_prefix _s2265_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2175_ _) =>
- (match (string_drop _s2174_ _s2175_) with
- | _s2176_ =>
- (frm_mnemonic_matches_prefix _s2176_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2266_ _) =>
+ (match (string_drop _s2265_ _s2266_) with
+ | _s2267_ =>
+ (frm_mnemonic_matches_prefix _s2267_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2177_ _) =>
+ | Some (rm, existT _ _s2268_ _) =>
let p0_ :=
- string_drop _s2176_ _s2177_ in
+ string_drop _s2267_ _s2268_ in
if generic_eq p0_ "" then
Some (FSQRT_S, rd, rs1, rm)
else None
@@ -27837,69 +27729,69 @@ Definition _s2162_ (_s2163_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2141_ (_s2142_ : string)
+Definition _s2232_ (_s2233_ : string)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2142_ with
- | _s2143_ =>
- (f_bin_rm_type_mnemonic_S_matches_prefix _s2143_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2233_ with
+ | _s2234_ =>
+ (f_bin_rm_type_mnemonic_S_matches_prefix _s2234_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2144_ _) =>
- (match (string_drop _s2143_ _s2144_) with
- | _s2145_ =>
- (spc_matches_prefix _s2145_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2235_ _) =>
+ (match (string_drop _s2234_ _s2235_) with
+ | _s2236_ =>
+ (spc_matches_prefix _s2236_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2146_ _) =>
- (match (string_drop _s2145_ _s2146_) with
- | _s2147_ =>
- (freg_name_matches_prefix _s2147_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2237_ _) =>
+ (match (string_drop _s2236_ _s2237_) with
+ | _s2238_ =>
+ (freg_name_matches_prefix _s2238_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2148_ _) =>
- (match (string_drop _s2147_ _s2148_) with
- | _s2149_ =>
- (sep_matches_prefix _s2149_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2239_ _) =>
+ (match (string_drop _s2238_ _s2239_) with
+ | _s2240_ =>
+ (sep_matches_prefix _s2240_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2150_ _) =>
- (match (string_drop _s2149_ _s2150_) with
- | _s2151_ =>
- (freg_name_matches_prefix _s2151_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2241_ _) =>
+ (match (string_drop _s2240_ _s2241_) with
+ | _s2242_ =>
+ (freg_name_matches_prefix _s2242_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2152_ _) =>
- (match (string_drop _s2151_ _s2152_) with
- | _s2153_ =>
- (sep_matches_prefix _s2153_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2243_ _) =>
+ (match (string_drop _s2242_ _s2243_) with
+ | _s2244_ =>
+ (sep_matches_prefix _s2244_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2154_ _) =>
- (match (string_drop _s2153_ _s2154_) with
- | _s2155_ =>
- (freg_name_matches_prefix _s2155_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2245_ _) =>
+ (match (string_drop _s2244_ _s2245_) with
+ | _s2246_ =>
+ (freg_name_matches_prefix _s2246_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s2156_ _) =>
- (match (string_drop _s2155_ _s2156_) with
- | _s2157_ =>
- (sep_matches_prefix _s2157_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2247_ _) =>
+ (match (string_drop _s2246_ _s2247_) with
+ | _s2248_ =>
+ (sep_matches_prefix _s2248_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s2158_ _) =>
- (match (string_drop _s2157_
- _s2158_) with
- | _s2159_ =>
+ | Some (tt, existT _ _s2249_ _) =>
+ (match (string_drop _s2248_
+ _s2249_) with
+ | _s2250_ =>
(frm_mnemonic_matches_prefix
- _s2159_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s2250_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s2160_ _) =>
+ (rm, existT _ _s2251_ _) =>
let p0_ :=
string_drop
- _s2159_
- _s2160_ in
+ _s2250_
+ _s2251_ in
if generic_eq p0_
"" then
Some
@@ -27950,88 +27842,88 @@ Definition _s2141_ (_s2142_ : string)
end)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s2116_ (_s2117_ : string)
+Definition _s2207_ (_s2208_ : string)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2117_ with
- | _s2118_ =>
- (f_madd_type_mnemonic_S_matches_prefix _s2118_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
+ (match _s2208_ with
+ | _s2209_ =>
+ (f_madd_type_mnemonic_S_matches_prefix _s2209_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2119_ _) =>
- (match (string_drop _s2118_ _s2119_) with
- | _s2120_ =>
- (spc_matches_prefix _s2120_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2210_ _) =>
+ (match (string_drop _s2209_ _s2210_) with
+ | _s2211_ =>
+ (spc_matches_prefix _s2211_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2121_ _) =>
- (match (string_drop _s2120_ _s2121_) with
- | _s2122_ =>
- (freg_name_matches_prefix _s2122_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2212_ _) =>
+ (match (string_drop _s2211_ _s2212_) with
+ | _s2213_ =>
+ (freg_name_matches_prefix _s2213_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2123_ _) =>
- (match (string_drop _s2122_ _s2123_) with
- | _s2124_ =>
- (sep_matches_prefix _s2124_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2214_ _) =>
+ (match (string_drop _s2213_ _s2214_) with
+ | _s2215_ =>
+ (sep_matches_prefix _s2215_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2125_ _) =>
- (match (string_drop _s2124_ _s2125_) with
- | _s2126_ =>
- (freg_name_matches_prefix _s2126_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2216_ _) =>
+ (match (string_drop _s2215_ _s2216_) with
+ | _s2217_ =>
+ (freg_name_matches_prefix _s2217_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2127_ _) =>
- (match (string_drop _s2126_ _s2127_) with
- | _s2128_ =>
- (sep_matches_prefix _s2128_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2218_ _) =>
+ (match (string_drop _s2217_ _s2218_) with
+ | _s2219_ =>
+ (sep_matches_prefix _s2219_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2129_ _) =>
- (match (string_drop _s2128_ _s2129_) with
- | _s2130_ =>
- (freg_name_matches_prefix _s2130_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2220_ _) =>
+ (match (string_drop _s2219_ _s2220_) with
+ | _s2221_ =>
+ (freg_name_matches_prefix _s2221_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s2131_ _) =>
- (match (string_drop _s2130_ _s2131_) with
- | _s2132_ =>
- (sep_matches_prefix _s2132_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2222_ _) =>
+ (match (string_drop _s2221_ _s2222_) with
+ | _s2223_ =>
+ (sep_matches_prefix _s2223_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s2133_ _) =>
- (match (string_drop _s2132_
- _s2133_) with
- | _s2134_ =>
+ | Some (tt, existT _ _s2224_ _) =>
+ (match (string_drop _s2223_
+ _s2224_) with
+ | _s2225_ =>
(freg_name_matches_prefix
- _s2134_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2225_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s2135_ _) =>
+ (rs3, existT _ _s2226_ _) =>
(match (string_drop
- _s2134_ _s2135_) with
- | _s2136_ =>
+ _s2225_ _s2226_) with
+ | _s2227_ =>
(sep_matches_prefix
- _s2136_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2227_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s2137_ _) =>
+ (tt, existT _ _s2228_ _) =>
(match (string_drop
- _s2136_
- _s2137_) with
- | _s2138_ =>
+ _s2227_
+ _s2228_) with
+ | _s2229_ =>
(frm_mnemonic_matches_prefix
- _s2138_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s2229_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s2139_ _) =>
+ (rm, existT _ _s2230_ _) =>
let p0_ :=
string_drop
- _s2138_
- _s2139_ in
+ _s2229_
+ _s2230_ in
if
generic_eq
p0_
@@ -28097,81 +27989,81 @@ Definition _s2116_ (_s2117_ : string)
end)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s2092_ (_s2093_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s2094_ := _s2093_ in
- (if string_startswith _s2094_ "fs" then
- (match (string_drop _s2094_ (projT1 (string_length "fs"))) with
- | _s2095_ =>
- (size_mnemonic_matches_prefix _s2095_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s2183_ (_s2184_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s2185_ := _s2184_ in
+ (if string_startswith _s2185_ "fs" then
+ (match (string_drop _s2185_ (projT1 (string_length "fs"))) with
+ | _s2186_ =>
+ (size_mnemonic_matches_prefix _s2186_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s2096_ _) =>
- (match (string_drop _s2095_ _s2096_) with
- | _s2097_ =>
- (spc_matches_prefix _s2097_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s2187_ _) =>
+ (match (string_drop _s2186_ _s2187_) with
+ | _s2188_ =>
+ (spc_matches_prefix _s2188_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2098_ _) =>
- (match (string_drop _s2097_ _s2098_) with
- | _s2099_ =>
- (freg_name_matches_prefix _s2099_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2189_ _) =>
+ (match (string_drop _s2188_ _s2189_) with
+ | _s2190_ =>
+ (freg_name_matches_prefix _s2190_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs2, existT _ _s2100_ _) =>
- (match (string_drop _s2099_ _s2100_) with
- | _s2101_ =>
- (sep_matches_prefix _s2101_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2191_ _) =>
+ (match (string_drop _s2190_ _s2191_) with
+ | _s2192_ =>
+ (sep_matches_prefix _s2192_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2102_ _) =>
- (match (string_drop _s2101_ _s2102_) with
- | _s2103_ =>
- (match (hex_bits_12_matches_prefix _s2103_) with
- | Some (imm, existT _ _s2104_ _) =>
- (match (string_drop _s2103_ _s2104_) with
- | _s2105_ =>
- (opt_spc_matches_prefix _s2105_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2193_ _) =>
+ (match (string_drop _s2192_ _s2193_) with
+ | _s2194_ =>
+ (match (hex_bits_12_matches_prefix _s2194_) with
+ | Some (imm, existT _ _s2195_ _) =>
+ (match (string_drop _s2194_ _s2195_) with
+ | _s2196_ =>
+ (opt_spc_matches_prefix _s2196_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s2106_ _) =>
- let _s2107_ := string_drop _s2105_ _s2106_ in
- (if string_startswith _s2107_ "(" then
- (match (string_drop _s2107_
+ | Some (tt, existT _ _s2197_ _) =>
+ let _s2198_ := string_drop _s2196_ _s2197_ in
+ (if string_startswith _s2198_ "(" then
+ (match (string_drop _s2198_
(projT1
(string_length "("))) with
- | _s2108_ =>
- (opt_spc_matches_prefix _s2108_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s2199_ =>
+ (opt_spc_matches_prefix _s2199_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2109_ _) =>
- (match (string_drop _s2108_ _s2109_) with
- | _s2110_ =>
+ | Some (tt, existT _ _s2200_ _) =>
+ (match (string_drop _s2199_ _s2200_) with
+ | _s2201_ =>
(reg_name_matches_prefix
- _s2110_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2201_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s2111_ _) =>
- (match (string_drop _s2110_
- _s2111_) with
- | _s2112_ =>
+ (rs1, existT _ _s2202_ _) =>
+ (match (string_drop _s2201_
+ _s2202_) with
+ | _s2203_ =>
(opt_spc_matches_prefix
- _s2112_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2203_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s2113_ _) =>
- let _s2114_ :=
+ (tt, existT _ _s2204_ _) =>
+ let _s2205_ :=
string_drop
- _s2112_
- _s2113_ in
+ _s2203_
+ _s2204_ in
if string_startswith
- _s2114_
+ _s2205_
")"
then
let p0_ :=
string_drop
- _s2114_
+ _s2205_
(projT1
(string_length
")")) in
@@ -28232,81 +28124,81 @@ Definition _s2092_ (_s2093_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s2068_ (_s2069_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s2070_ := _s2069_ in
- (if string_startswith _s2070_ "fl" then
- (match (string_drop _s2070_ (projT1 (string_length "fl"))) with
- | _s2071_ =>
- (size_mnemonic_matches_prefix _s2071_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s2159_ (_s2160_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s2161_ := _s2160_ in
+ (if string_startswith _s2161_ "fl" then
+ (match (string_drop _s2161_ (projT1 (string_length "fl"))) with
+ | _s2162_ =>
+ (size_mnemonic_matches_prefix _s2162_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s2072_ _) =>
- (match (string_drop _s2071_ _s2072_) with
- | _s2073_ =>
- (spc_matches_prefix _s2073_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s2163_ _) =>
+ (match (string_drop _s2162_ _s2163_) with
+ | _s2164_ =>
+ (spc_matches_prefix _s2164_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2074_ _) =>
- (match (string_drop _s2073_ _s2074_) with
- | _s2075_ =>
- (freg_name_matches_prefix _s2075_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2165_ _) =>
+ (match (string_drop _s2164_ _s2165_) with
+ | _s2166_ =>
+ (freg_name_matches_prefix _s2166_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2076_ _) =>
- (match (string_drop _s2075_ _s2076_) with
- | _s2077_ =>
- (sep_matches_prefix _s2077_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2167_ _) =>
+ (match (string_drop _s2166_ _s2167_) with
+ | _s2168_ =>
+ (sep_matches_prefix _s2168_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2078_ _) =>
- (match (string_drop _s2077_ _s2078_) with
- | _s2079_ =>
- (match (hex_bits_12_matches_prefix _s2079_) with
- | Some (imm, existT _ _s2080_ _) =>
- (match (string_drop _s2079_ _s2080_) with
- | _s2081_ =>
- (opt_spc_matches_prefix _s2081_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2169_ _) =>
+ (match (string_drop _s2168_ _s2169_) with
+ | _s2170_ =>
+ (match (hex_bits_12_matches_prefix _s2170_) with
+ | Some (imm, existT _ _s2171_ _) =>
+ (match (string_drop _s2170_ _s2171_) with
+ | _s2172_ =>
+ (opt_spc_matches_prefix _s2172_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s2082_ _) =>
- let _s2083_ := string_drop _s2081_ _s2082_ in
- (if string_startswith _s2083_ "(" then
- (match (string_drop _s2083_
+ | Some (tt, existT _ _s2173_ _) =>
+ let _s2174_ := string_drop _s2172_ _s2173_ in
+ (if string_startswith _s2174_ "(" then
+ (match (string_drop _s2174_
(projT1
(string_length "("))) with
- | _s2084_ =>
- (opt_spc_matches_prefix _s2084_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s2175_ =>
+ (opt_spc_matches_prefix _s2175_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2085_ _) =>
- (match (string_drop _s2084_ _s2085_) with
- | _s2086_ =>
+ | Some (tt, existT _ _s2176_ _) =>
+ (match (string_drop _s2175_ _s2176_) with
+ | _s2177_ =>
(reg_name_matches_prefix
- _s2086_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2177_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s2087_ _) =>
- (match (string_drop _s2086_
- _s2087_) with
- | _s2088_ =>
+ (rs1, existT _ _s2178_ _) =>
+ (match (string_drop _s2177_
+ _s2178_) with
+ | _s2179_ =>
(opt_spc_matches_prefix
- _s2088_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2179_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s2089_ _) =>
- let _s2090_ :=
+ (tt, existT _ _s2180_ _) =>
+ let _s2181_ :=
string_drop
- _s2088_
- _s2089_ in
+ _s2179_
+ _s2180_ in
if string_startswith
- _s2090_
+ _s2181_
")"
then
let p0_ :=
string_drop
- _s2090_
+ _s2181_
(projT1
(string_length
")")) in
@@ -28367,51 +28259,343 @@ Definition _s2068_ (_s2069_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s2051_ (_s2052_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s2052_ with
- | _s2053_ =>
- (csr_mnemonic_matches_prefix _s2053_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s2147_ (_s2148_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s2149_ := _s2148_ in
+ (if string_startswith _s2149_ "fence.i.reserved." then
+ (match (string_drop _s2149_ (projT1 (string_length "fence.i.reserved."))) with
+ | _s2150_ =>
+ (reg_name_matches_prefix _s2150_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (rd, existT _ _s2151_ _) =>
+ let _s2152_ := string_drop _s2150_ _s2151_ in
+ (if string_startswith _s2152_ "." then
+ (match (string_drop _s2152_ (projT1 (string_length "."))) with
+ | _s2153_ =>
+ (reg_name_matches_prefix _s2153_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__1 with
+ | Some (rs, existT _ _s2154_ _) =>
+ let _s2155_ := string_drop _s2153_ _s2154_ in
+ if string_startswith _s2155_ "." then
+ match (string_drop _s2155_ (projT1 (string_length "."))) with
+ | _s2156_ =>
+ match (hex_bits_12_matches_prefix _s2156_) with
+ | Some (imm, existT _ _s2157_ _) =>
+ let p0_ := string_drop _s2156_ _s2157_ in
+ if generic_eq p0_ "" then Some (rd, rs, imm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12))).
+
+Definition _s2129_ (_s2130_ : string)
+: M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))) :=
+ let _s2131_ := _s2130_ in
+ (if string_startswith _s2131_ "fence.reserved." then
+ (match (string_drop _s2131_ (projT1 (string_length "fence.reserved."))) with
+ | _s2132_ =>
+ (fence_bits_matches_prefix _s2132_) >>= fun w__0 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (pred, existT _ _s2133_ _) =>
+ let _s2134_ := string_drop _s2132_ _s2133_ in
+ (if string_startswith _s2134_ "." then
+ (match (string_drop _s2134_ (projT1 (string_length "."))) with
+ | _s2135_ =>
+ (fence_bits_matches_prefix _s2135_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__1 with
+ | Some (succ, existT _ _s2136_ _) =>
+ let _s2137_ := string_drop _s2135_ _s2136_ in
+ (if string_startswith _s2137_ "." then
+ (match (string_drop _s2137_ (projT1 (string_length "."))) with
+ | _s2138_ =>
+ (reg_name_matches_prefix _s2138_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__2 with
+ | Some (rs, existT _ _s2139_ _) =>
+ let _s2140_ := string_drop _s2138_ _s2139_ in
+ (if string_startswith _s2140_ "." then
+ (match (string_drop _s2140_ (projT1 (string_length "."))) with
+ | _s2141_ =>
+ (reg_name_matches_prefix _s2141_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__3 with
+ | Some (rd, existT _ _s2142_ _) =>
+ let _s2143_ := string_drop _s2141_ _s2142_ in
+ if string_startswith _s2143_ "." then
+ match (string_drop _s2143_
+ (projT1
+ (string_length "."))) with
+ | _s2144_ =>
+ match (hex_bits_4_matches_prefix _s2144_) with
+ | Some (fm, existT _ _s2145_ _) =>
+ let p0_ :=
+ string_drop _s2144_ _s2145_ in
+ if generic_eq p0_ "" then
+ Some (pred, succ, rs, rd, fm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))).
+
+Definition _s2123_ (_s2124_ : string) : M (option (mword 3)) :=
+ let _s2125_ := _s2124_ in
+ (if string_startswith _s2125_ "c.srai.hint." then
+ (match (string_drop _s2125_ (projT1 (string_length "c.srai.hint."))) with
+ | _s2126_ =>
+ (creg_name_matches_prefix _s2126_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2127_ _) =>
+ let p0_ := string_drop _s2126_ _s2127_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s2117_ (_s2118_ : string) : M (option (mword 3)) :=
+ let _s2119_ := _s2118_ in
+ (if string_startswith _s2119_ "c.srli.hint." then
+ (match (string_drop _s2119_ (projT1 (string_length "c.srli.hint."))) with
+ | _s2120_ =>
+ (creg_name_matches_prefix _s2120_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2121_ _) =>
+ let p0_ := string_drop _s2120_ _s2121_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s2108_ (_s2109_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s2110_ := _s2109_ in
+ (if string_startswith _s2110_ "c.slli.hint." then
+ (match (string_drop _s2110_ (projT1 (string_length "c.slli.hint."))) with
+ | _s2111_ =>
+ (reg_name_matches_prefix _s2111_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2112_ _) =>
+ let _s2113_ := string_drop _s2111_ _s2112_ in
+ if string_startswith _s2113_ "." then
+ match (string_drop _s2113_ (projT1 (string_length "."))) with
+ | _s2114_ =>
+ match (hex_bits_6_matches_prefix _s2114_) with
+ | Some (shamt, existT _ _s2115_ _) =>
+ let p0_ := string_drop _s2114_ _s2115_ in
+ if generic_eq p0_ "" then Some (rsd, shamt)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 6)))
+ else returnm None)
+ : M (option ((mword 5 * mword 6))).
+
+Definition _s2102_ (_s2103_ : string) : M (option (mword 5)) :=
+ let _s2104_ := _s2103_ in
+ (if string_startswith _s2104_ "c.add.hint." then
+ (match (string_drop _s2104_ (projT1 (string_length "c.add.hint."))) with
+ | _s2105_ =>
+ (reg_name_matches_prefix _s2105_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s2106_ _) =>
+ let p0_ := string_drop _s2105_ _s2106_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s2096_ (_s2097_ : string) : M (option (mword 5)) :=
+ let _s2098_ := _s2097_ in
+ (if string_startswith _s2098_ "c.mv.hint." then
+ (match (string_drop _s2098_ (projT1 (string_length "c.mv.hint."))) with
+ | _s2099_ =>
+ (reg_name_matches_prefix _s2099_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s2100_ _) =>
+ let p0_ := string_drop _s2099_ _s2100_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s2090_ (_s2091_ : string) : option (mword 6) :=
+ let _s2092_ := _s2091_ in
+ if string_startswith _s2092_ "c.lui.hint." then
+ match (string_drop _s2092_ (projT1 (string_length "c.lui.hint."))) with
+ | _s2093_ =>
+ match (hex_bits_6_matches_prefix _s2093_) with
+ | Some (imm, existT _ _s2094_ _) =>
+ let p0_ := string_drop _s2093_ _s2094_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s2084_ (_s2085_ : string) : option (mword 6) :=
+ let _s2086_ := _s2085_ in
+ if string_startswith _s2086_ "c.li.hint." then
+ match (string_drop _s2086_ (projT1 (string_length "c.li.hint."))) with
+ | _s2087_ =>
+ match (hex_bits_6_matches_prefix _s2087_) with
+ | Some (imm, existT _ _s2088_ _) =>
+ let p0_ := string_drop _s2087_ _s2088_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s2078_ (_s2079_ : string) : M (option (mword 5)) :=
+ let _s2080_ := _s2079_ in
+ (if string_startswith _s2080_ "c.addi.hint." then
+ (match (string_drop _s2080_ (projT1 (string_length "c.addi.hint."))) with
+ | _s2081_ =>
+ (reg_name_matches_prefix _s2081_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2082_ _) =>
+ let p0_ := string_drop _s2081_ _s2082_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s2072_ (_s2073_ : string) : option (mword 6) :=
+ let _s2074_ := _s2073_ in
+ if string_startswith _s2074_ "c.nop.hint." then
+ match (string_drop _s2074_ (projT1 (string_length "c.nop.hint."))) with
+ | _s2075_ =>
+ match (hex_bits_6_matches_prefix _s2075_) with
+ | Some (imm, existT _ _s2076_ _) =>
+ let p0_ := string_drop _s2075_ _s2076_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s2055_ (_s2056_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s2056_ with
+ | _s2057_ =>
+ (csr_mnemonic_matches_prefix _s2057_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2054_ _) =>
- (match (string_drop _s2053_ _s2054_) with
- | _s2055_ =>
- (spc_matches_prefix _s2055_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2058_ _) =>
+ (match (string_drop _s2057_ _s2058_) with
+ | _s2059_ =>
+ (spc_matches_prefix _s2059_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2056_ _) =>
- (match (string_drop _s2055_ _s2056_) with
- | _s2057_ =>
- (reg_name_matches_prefix _s2057_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2060_ _) =>
+ (match (string_drop _s2059_ _s2060_) with
+ | _s2061_ =>
+ (reg_name_matches_prefix _s2061_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2058_ _) =>
- (match (string_drop _s2057_ _s2058_) with
- | _s2059_ =>
- (sep_matches_prefix _s2059_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2062_ _) =>
+ (match (string_drop _s2061_ _s2062_) with
+ | _s2063_ =>
+ (sep_matches_prefix _s2063_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2060_ _) =>
- (match (string_drop _s2059_ _s2060_) with
- | _s2061_ =>
- (csr_name_map_matches_prefix _s2061_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2064_ _) =>
+ (match (string_drop _s2063_ _s2064_) with
+ | _s2065_ =>
+ (csr_name_map_matches_prefix _s2065_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s2062_ _) =>
- (match (string_drop _s2061_ _s2062_) with
- | _s2063_ =>
- (sep_matches_prefix _s2063_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s2066_ _) =>
+ (match (string_drop _s2065_ _s2066_) with
+ | _s2067_ =>
+ (sep_matches_prefix _s2067_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2064_ _) =>
- (match (string_drop _s2063_ _s2064_) with
- | _s2065_ =>
- (reg_name_matches_prefix _s2065_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2068_ _) =>
+ (match (string_drop _s2067_ _s2068_) with
+ | _s2069_ =>
+ (reg_name_matches_prefix _s2069_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s2066_ _) =>
+ | Some (rs1, existT _ _s2070_ _) =>
let p0_ :=
- string_drop _s2065_ _s2066_ in
+ string_drop _s2069_ _s2070_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -28450,52 +28634,52 @@ Definition _s2051_ (_s2052_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s2033_ (_s2034_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s2034_ with
- | _s2035_ =>
- (csr_mnemonic_matches_prefix _s2035_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s2037_ (_s2038_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s2038_ with
+ | _s2039_ =>
+ (csr_mnemonic_matches_prefix _s2039_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2036_ _) =>
- let _s2037_ := string_drop _s2035_ _s2036_ in
- (if string_startswith _s2037_ "i" then
- (match (string_drop _s2037_ (projT1 (string_length "i"))) with
- | _s2038_ =>
- (spc_matches_prefix _s2038_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2040_ _) =>
+ let _s2041_ := string_drop _s2039_ _s2040_ in
+ (if string_startswith _s2041_ "i" then
+ (match (string_drop _s2041_ (projT1 (string_length "i"))) with
+ | _s2042_ =>
+ (spc_matches_prefix _s2042_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2039_ _) =>
- (match (string_drop _s2038_ _s2039_) with
- | _s2040_ =>
- (reg_name_matches_prefix _s2040_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2043_ _) =>
+ (match (string_drop _s2042_ _s2043_) with
+ | _s2044_ =>
+ (reg_name_matches_prefix _s2044_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2041_ _) =>
- (match (string_drop _s2040_ _s2041_) with
- | _s2042_ =>
- (sep_matches_prefix _s2042_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2045_ _) =>
+ (match (string_drop _s2044_ _s2045_) with
+ | _s2046_ =>
+ (sep_matches_prefix _s2046_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2043_ _) =>
- (match (string_drop _s2042_ _s2043_) with
- | _s2044_ =>
- (csr_name_map_matches_prefix _s2044_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2047_ _) =>
+ (match (string_drop _s2046_ _s2047_) with
+ | _s2048_ =>
+ (csr_name_map_matches_prefix _s2048_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s2045_ _) =>
- (match (string_drop _s2044_ _s2045_) with
- | _s2046_ =>
- (sep_matches_prefix _s2046_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s2049_ _) =>
+ (match (string_drop _s2048_ _s2049_) with
+ | _s2050_ =>
+ (sep_matches_prefix _s2050_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s2047_ _) =>
- match (string_drop _s2046_ _s2047_) with
- | _s2048_ =>
+ | Some (tt, existT _ _s2051_ _) =>
+ match (string_drop _s2050_ _s2051_) with
+ | _s2052_ =>
match (hex_bits_5_matches_prefix
- _s2048_) with
- | Some (rs1, existT _ _s2049_ _) =>
+ _s2052_) with
+ | Some (rs1, existT _ _s2053_ _) =>
let p0_ :=
- string_drop _s2048_ _s2049_ in
+ string_drop _s2052_ _s2053_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -28534,57 +28718,57 @@ Definition _s2033_ (_s2034_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s2014_ (_s2015_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s2016_ := _s2015_ in
- (if string_startswith _s2016_ "rem" then
- (match (string_drop _s2016_ (projT1 (string_length "rem"))) with
- | _s2017_ =>
- (maybe_not_u_matches_prefix _s2017_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s2018_ (_s2019_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s2020_ := _s2019_ in
+ (if string_startswith _s2020_ "rem" then
+ (match (string_drop _s2020_ (projT1 (string_length "rem"))) with
+ | _s2021_ =>
+ (maybe_not_u_matches_prefix _s2021_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s2018_ _) =>
- let _s2019_ := string_drop _s2017_ _s2018_ in
- (if string_startswith _s2019_ "w" then
- (match (string_drop _s2019_ (projT1 (string_length "w"))) with
- | _s2020_ =>
- (spc_matches_prefix _s2020_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s2022_ _) =>
+ let _s2023_ := string_drop _s2021_ _s2022_ in
+ (if string_startswith _s2023_ "w" then
+ (match (string_drop _s2023_ (projT1 (string_length "w"))) with
+ | _s2024_ =>
+ (spc_matches_prefix _s2024_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2021_ _) =>
- (match (string_drop _s2020_ _s2021_) with
- | _s2022_ =>
- (reg_name_matches_prefix _s2022_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2025_ _) =>
+ (match (string_drop _s2024_ _s2025_) with
+ | _s2026_ =>
+ (reg_name_matches_prefix _s2026_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2023_ _) =>
- (match (string_drop _s2022_ _s2023_) with
- | _s2024_ =>
- (sep_matches_prefix _s2024_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2027_ _) =>
+ (match (string_drop _s2026_ _s2027_) with
+ | _s2028_ =>
+ (sep_matches_prefix _s2028_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2025_ _) =>
- (match (string_drop _s2024_ _s2025_) with
- | _s2026_ =>
- (reg_name_matches_prefix _s2026_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2029_ _) =>
+ (match (string_drop _s2028_ _s2029_) with
+ | _s2030_ =>
+ (reg_name_matches_prefix _s2030_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2027_ _) =>
- (match (string_drop _s2026_ _s2027_) with
- | _s2028_ =>
- (sep_matches_prefix _s2028_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2031_ _) =>
+ (match (string_drop _s2030_ _s2031_) with
+ | _s2032_ =>
+ (sep_matches_prefix _s2032_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2029_ _) =>
- (match (string_drop _s2028_ _s2029_) with
- | _s2030_ =>
- (reg_name_matches_prefix _s2030_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2033_ _) =>
+ (match (string_drop _s2032_ _s2033_) with
+ | _s2034_ =>
+ (reg_name_matches_prefix _s2034_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s2031_ _) =>
+ (rs2, existT _ _s2035_ _) =>
let p0_ :=
- string_drop _s2030_
- _s2031_ in
+ string_drop _s2034_
+ _s2035_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -28627,57 +28811,57 @@ Definition _s2014_ (_s2015_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s1995_ (_s1996_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s1997_ := _s1996_ in
- (if string_startswith _s1997_ "div" then
- (match (string_drop _s1997_ (projT1 (string_length "div"))) with
- | _s1998_ =>
- (maybe_not_u_matches_prefix _s1998_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s1999_ (_s2000_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s2001_ := _s2000_ in
+ (if string_startswith _s2001_ "div" then
+ (match (string_drop _s2001_ (projT1 (string_length "div"))) with
+ | _s2002_ =>
+ (maybe_not_u_matches_prefix _s2002_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s1999_ _) =>
- let _s2000_ := string_drop _s1998_ _s1999_ in
- (if string_startswith _s2000_ "w" then
- (match (string_drop _s2000_ (projT1 (string_length "w"))) with
- | _s2001_ =>
- (spc_matches_prefix _s2001_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s2003_ _) =>
+ let _s2004_ := string_drop _s2002_ _s2003_ in
+ (if string_startswith _s2004_ "w" then
+ (match (string_drop _s2004_ (projT1 (string_length "w"))) with
+ | _s2005_ =>
+ (spc_matches_prefix _s2005_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2002_ _) =>
- (match (string_drop _s2001_ _s2002_) with
- | _s2003_ =>
- (reg_name_matches_prefix _s2003_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2006_ _) =>
+ (match (string_drop _s2005_ _s2006_) with
+ | _s2007_ =>
+ (reg_name_matches_prefix _s2007_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2004_ _) =>
- (match (string_drop _s2003_ _s2004_) with
- | _s2005_ =>
- (sep_matches_prefix _s2005_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2008_ _) =>
+ (match (string_drop _s2007_ _s2008_) with
+ | _s2009_ =>
+ (sep_matches_prefix _s2009_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2006_ _) =>
- (match (string_drop _s2005_ _s2006_) with
- | _s2007_ =>
- (reg_name_matches_prefix _s2007_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2010_ _) =>
+ (match (string_drop _s2009_ _s2010_) with
+ | _s2011_ =>
+ (reg_name_matches_prefix _s2011_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2008_ _) =>
- (match (string_drop _s2007_ _s2008_) with
- | _s2009_ =>
- (sep_matches_prefix _s2009_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2012_ _) =>
+ (match (string_drop _s2011_ _s2012_) with
+ | _s2013_ =>
+ (sep_matches_prefix _s2013_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2010_ _) =>
- (match (string_drop _s2009_ _s2010_) with
- | _s2011_ =>
- (reg_name_matches_prefix _s2011_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2014_ _) =>
+ (match (string_drop _s2013_ _s2014_) with
+ | _s2015_ =>
+ (reg_name_matches_prefix _s2015_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s2012_ _) =>
+ (rs2, existT _ _s2016_ _) =>
let p0_ :=
- string_drop _s2011_
- _s2012_ in
+ string_drop _s2015_
+ _s2016_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -28720,45 +28904,45 @@ Definition _s1995_ (_s1996_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s1979_ (_s1980_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
- let _s1981_ := _s1980_ in
- (if string_startswith _s1981_ "mulw" then
- (match (string_drop _s1981_ (projT1 (string_length "mulw"))) with
- | _s1982_ =>
- (spc_matches_prefix _s1982_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1983_ (_s1984_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
+ let _s1985_ := _s1984_ in
+ (if string_startswith _s1985_ "mulw" then
+ (match (string_drop _s1985_ (projT1 (string_length "mulw"))) with
+ | _s1986_ =>
+ (spc_matches_prefix _s1986_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1983_ _) =>
- (match (string_drop _s1982_ _s1983_) with
- | _s1984_ =>
- (reg_name_matches_prefix _s1984_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1987_ _) =>
+ (match (string_drop _s1986_ _s1987_) with
+ | _s1988_ =>
+ (reg_name_matches_prefix _s1988_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1985_ _) =>
- (match (string_drop _s1984_ _s1985_) with
- | _s1986_ =>
- (sep_matches_prefix _s1986_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1989_ _) =>
+ (match (string_drop _s1988_ _s1989_) with
+ | _s1990_ =>
+ (sep_matches_prefix _s1990_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1987_ _) =>
- (match (string_drop _s1986_ _s1987_) with
- | _s1988_ =>
- (reg_name_matches_prefix _s1988_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1991_ _) =>
+ (match (string_drop _s1990_ _s1991_) with
+ | _s1992_ =>
+ (reg_name_matches_prefix _s1992_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s1989_ _) =>
- (match (string_drop _s1988_ _s1989_) with
- | _s1990_ =>
- (sep_matches_prefix _s1990_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1993_ _) =>
+ (match (string_drop _s1992_ _s1993_) with
+ | _s1994_ =>
+ (sep_matches_prefix _s1994_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s1991_ _) =>
- (match (string_drop _s1990_ _s1991_) with
- | _s1992_ =>
- (reg_name_matches_prefix _s1992_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1995_ _) =>
+ (match (string_drop _s1994_ _s1995_) with
+ | _s1996_ =>
+ (reg_name_matches_prefix _s1996_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (rs2, existT _ _s1993_ _) =>
- let p0_ := string_drop _s1992_ _s1993_ in
+ | Some (rs2, existT _ _s1997_ _) =>
+ let p0_ := string_drop _s1996_ _s1997_ in
if generic_eq p0_ "" then
Some (rd, rs1, rs2)
else None
@@ -28794,53 +28978,53 @@ Definition _s1979_ (_s1980_ : string) : M (option ((mword 5 * mword 5 * mword 5)
else returnm None)
: M (option ((mword 5 * mword 5 * mword 5))).
-Definition _s1961_ (_s1962_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s1963_ := _s1962_ in
- (if string_startswith _s1963_ "rem" then
- (match (string_drop _s1963_ (projT1 (string_length "rem"))) with
- | _s1964_ =>
- (maybe_not_u_matches_prefix _s1964_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s1965_ (_s1966_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s1967_ := _s1966_ in
+ (if string_startswith _s1967_ "rem" then
+ (match (string_drop _s1967_ (projT1 (string_length "rem"))) with
+ | _s1968_ =>
+ (maybe_not_u_matches_prefix _s1968_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s1965_ _) =>
- (match (string_drop _s1964_ _s1965_) with
- | _s1966_ =>
- (spc_matches_prefix _s1966_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s1969_ _) =>
+ (match (string_drop _s1968_ _s1969_) with
+ | _s1970_ =>
+ (spc_matches_prefix _s1970_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1967_ _) =>
- (match (string_drop _s1966_ _s1967_) with
- | _s1968_ =>
- (reg_name_matches_prefix _s1968_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1971_ _) =>
+ (match (string_drop _s1970_ _s1971_) with
+ | _s1972_ =>
+ (reg_name_matches_prefix _s1972_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1969_ _) =>
- (match (string_drop _s1968_ _s1969_) with
- | _s1970_ =>
- (sep_matches_prefix _s1970_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1973_ _) =>
+ (match (string_drop _s1972_ _s1973_) with
+ | _s1974_ =>
+ (sep_matches_prefix _s1974_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1971_ _) =>
- (match (string_drop _s1970_ _s1971_) with
- | _s1972_ =>
- (reg_name_matches_prefix _s1972_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1975_ _) =>
+ (match (string_drop _s1974_ _s1975_) with
+ | _s1976_ =>
+ (reg_name_matches_prefix _s1976_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1973_ _) =>
- (match (string_drop _s1972_ _s1973_) with
- | _s1974_ =>
- (sep_matches_prefix _s1974_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1977_ _) =>
+ (match (string_drop _s1976_ _s1977_) with
+ | _s1978_ =>
+ (sep_matches_prefix _s1978_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1975_ _) =>
- (match (string_drop _s1974_ _s1975_) with
- | _s1976_ =>
- (reg_name_matches_prefix _s1976_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1979_ _) =>
+ (match (string_drop _s1978_ _s1979_) with
+ | _s1980_ =>
+ (reg_name_matches_prefix _s1980_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s1977_ _) =>
+ | Some (rs2, existT _ _s1981_ _) =>
let p0_ :=
- string_drop _s1976_ _s1977_ in
+ string_drop _s1980_ _s1981_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -28881,53 +29065,53 @@ Definition _s1961_ (_s1962_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s1943_ (_s1944_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s1945_ := _s1944_ in
- (if string_startswith _s1945_ "div" then
- (match (string_drop _s1945_ (projT1 (string_length "div"))) with
- | _s1946_ =>
- (maybe_not_u_matches_prefix _s1946_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s1947_ (_s1948_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s1949_ := _s1948_ in
+ (if string_startswith _s1949_ "div" then
+ (match (string_drop _s1949_ (projT1 (string_length "div"))) with
+ | _s1950_ =>
+ (maybe_not_u_matches_prefix _s1950_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s1947_ _) =>
- (match (string_drop _s1946_ _s1947_) with
- | _s1948_ =>
- (spc_matches_prefix _s1948_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s1951_ _) =>
+ (match (string_drop _s1950_ _s1951_) with
+ | _s1952_ =>
+ (spc_matches_prefix _s1952_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1949_ _) =>
- (match (string_drop _s1948_ _s1949_) with
- | _s1950_ =>
- (reg_name_matches_prefix _s1950_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1953_ _) =>
+ (match (string_drop _s1952_ _s1953_) with
+ | _s1954_ =>
+ (reg_name_matches_prefix _s1954_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1951_ _) =>
- (match (string_drop _s1950_ _s1951_) with
- | _s1952_ =>
- (sep_matches_prefix _s1952_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1955_ _) =>
+ (match (string_drop _s1954_ _s1955_) with
+ | _s1956_ =>
+ (sep_matches_prefix _s1956_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1953_ _) =>
- (match (string_drop _s1952_ _s1953_) with
- | _s1954_ =>
- (reg_name_matches_prefix _s1954_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1957_ _) =>
+ (match (string_drop _s1956_ _s1957_) with
+ | _s1958_ =>
+ (reg_name_matches_prefix _s1958_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1955_ _) =>
- (match (string_drop _s1954_ _s1955_) with
- | _s1956_ =>
- (sep_matches_prefix _s1956_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1959_ _) =>
+ (match (string_drop _s1958_ _s1959_) with
+ | _s1960_ =>
+ (sep_matches_prefix _s1960_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1957_ _) =>
- (match (string_drop _s1956_ _s1957_) with
- | _s1958_ =>
- (reg_name_matches_prefix _s1958_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1961_ _) =>
+ (match (string_drop _s1960_ _s1961_) with
+ | _s1962_ =>
+ (reg_name_matches_prefix _s1962_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s1959_ _) =>
+ | Some (rs2, existT _ _s1963_ _) =>
let p0_ :=
- string_drop _s1958_ _s1959_ in
+ string_drop _s1962_ _s1963_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -28968,52 +29152,52 @@ Definition _s1943_ (_s1944_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s1926_ (_s1927_ : string)
+Definition _s1930_ (_s1931_ : string)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s1927_ with
- | _s1928_ =>
- (mul_mnemonic_matches_prefix _s1928_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
+ (match _s1931_ with
+ | _s1932_ =>
+ (mul_mnemonic_matches_prefix _s1932_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some ((high, signed1, signed2), existT _ _s1929_ _) =>
- (match (string_drop _s1928_ _s1929_) with
- | _s1930_ =>
- (spc_matches_prefix _s1930_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some ((high, signed1, signed2), existT _ _s1933_ _) =>
+ (match (string_drop _s1932_ _s1933_) with
+ | _s1934_ =>
+ (spc_matches_prefix _s1934_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1931_ _) =>
- (match (string_drop _s1930_ _s1931_) with
- | _s1932_ =>
- (reg_name_matches_prefix _s1932_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1935_ _) =>
+ (match (string_drop _s1934_ _s1935_) with
+ | _s1936_ =>
+ (reg_name_matches_prefix _s1936_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1933_ _) =>
- (match (string_drop _s1932_ _s1933_) with
- | _s1934_ =>
- (sep_matches_prefix _s1934_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1937_ _) =>
+ (match (string_drop _s1936_ _s1937_) with
+ | _s1938_ =>
+ (sep_matches_prefix _s1938_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1935_ _) =>
- (match (string_drop _s1934_ _s1935_) with
- | _s1936_ =>
- (reg_name_matches_prefix _s1936_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1939_ _) =>
+ (match (string_drop _s1938_ _s1939_) with
+ | _s1940_ =>
+ (reg_name_matches_prefix _s1940_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1937_ _) =>
- (match (string_drop _s1936_ _s1937_) with
- | _s1938_ =>
- (sep_matches_prefix _s1938_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1941_ _) =>
+ (match (string_drop _s1940_ _s1941_) with
+ | _s1942_ =>
+ (sep_matches_prefix _s1942_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1939_ _) =>
- (match (string_drop _s1938_ _s1939_) with
- | _s1940_ =>
- (reg_name_matches_prefix _s1940_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1943_ _) =>
+ (match (string_drop _s1942_ _s1943_) with
+ | _s1944_ =>
+ (reg_name_matches_prefix _s1944_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s1941_ _) =>
+ | Some (rs2, existT _ _s1945_ _) =>
let p0_ :=
- string_drop _s1940_ _s1941_ in
+ string_drop _s1944_ _s1945_ in
if generic_eq p0_ "" then
Some
(high, signed1, signed2, rd, rs1, rs2)
@@ -29053,33 +29237,33 @@ Definition _s1926_ (_s1927_ : string)
end)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s1914_ (_s1915_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s1916_ := _s1915_ in
- (if string_startswith _s1916_ "c.add" then
- (match (string_drop _s1916_ (projT1 (string_length "c.add"))) with
- | _s1917_ =>
- (spc_matches_prefix _s1917_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1918_ (_s1919_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s1920_ := _s1919_ in
+ (if string_startswith _s1920_ "c.add" then
+ (match (string_drop _s1920_ (projT1 (string_length "c.add"))) with
+ | _s1921_ =>
+ (spc_matches_prefix _s1921_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1918_ _) =>
- (match (string_drop _s1917_ _s1918_) with
- | _s1919_ =>
- (reg_name_matches_prefix _s1919_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1922_ _) =>
+ (match (string_drop _s1921_ _s1922_) with
+ | _s1923_ =>
+ (reg_name_matches_prefix _s1923_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1920_ _) =>
- (match (string_drop _s1919_ _s1920_) with
- | _s1921_ =>
- (sep_matches_prefix _s1921_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1924_ _) =>
+ (match (string_drop _s1923_ _s1924_) with
+ | _s1925_ =>
+ (sep_matches_prefix _s1925_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1922_ _) =>
- (match (string_drop _s1921_ _s1922_) with
- | _s1923_ =>
- (reg_name_matches_prefix _s1923_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1926_ _) =>
+ (match (string_drop _s1925_ _s1926_) with
+ | _s1927_ =>
+ (reg_name_matches_prefix _s1927_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1924_ _) =>
- let p0_ := string_drop _s1923_ _s1924_ in
+ | Some (rs2, existT _ _s1928_ _) =>
+ let p0_ := string_drop _s1927_ _s1928_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -29104,33 +29288,33 @@ Definition _s1914_ (_s1915_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s1902_ (_s1903_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s1904_ := _s1903_ in
- (if string_startswith _s1904_ "c.mv" then
- (match (string_drop _s1904_ (projT1 (string_length "c.mv"))) with
- | _s1905_ =>
- (spc_matches_prefix _s1905_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1906_ (_s1907_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s1908_ := _s1907_ in
+ (if string_startswith _s1908_ "c.mv" then
+ (match (string_drop _s1908_ (projT1 (string_length "c.mv"))) with
+ | _s1909_ =>
+ (spc_matches_prefix _s1909_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1906_ _) =>
- (match (string_drop _s1905_ _s1906_) with
- | _s1907_ =>
- (reg_name_matches_prefix _s1907_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1910_ _) =>
+ (match (string_drop _s1909_ _s1910_) with
+ | _s1911_ =>
+ (reg_name_matches_prefix _s1911_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1908_ _) =>
- (match (string_drop _s1907_ _s1908_) with
- | _s1909_ =>
- (sep_matches_prefix _s1909_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1912_ _) =>
+ (match (string_drop _s1911_ _s1912_) with
+ | _s1913_ =>
+ (sep_matches_prefix _s1913_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1910_ _) =>
- (match (string_drop _s1909_ _s1910_) with
- | _s1911_ =>
- (reg_name_matches_prefix _s1911_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1914_ _) =>
+ (match (string_drop _s1913_ _s1914_) with
+ | _s1915_ =>
+ (reg_name_matches_prefix _s1915_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1912_ _) =>
- let p0_ := string_drop _s1911_ _s1912_ in
+ | Some (rs2, existT _ _s1916_ _) =>
+ let p0_ := string_drop _s1915_ _s1916_ in
if generic_eq p0_ "" then Some (rd, rs2)
else None
| _ => None
@@ -29155,21 +29339,21 @@ Definition _s1902_ (_s1903_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s1894_ (_s1895_ : string) : M (option (mword 5)) :=
- let _s1896_ := _s1895_ in
- (if string_startswith _s1896_ "c.jalr" then
- (match (string_drop _s1896_ (projT1 (string_length "c.jalr"))) with
- | _s1897_ =>
- (spc_matches_prefix _s1897_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1898_ (_s1899_ : string) : M (option (mword 5)) :=
+ let _s1900_ := _s1899_ in
+ (if string_startswith _s1900_ "c.jalr" then
+ (match (string_drop _s1900_ (projT1 (string_length "c.jalr"))) with
+ | _s1901_ =>
+ (spc_matches_prefix _s1901_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1898_ _) =>
- (match (string_drop _s1897_ _s1898_) with
- | _s1899_ =>
- (reg_name_matches_prefix _s1899_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1902_ _) =>
+ (match (string_drop _s1901_ _s1902_) with
+ | _s1903_ =>
+ (reg_name_matches_prefix _s1903_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s1900_ _) =>
- let p0_ := string_drop _s1899_ _s1900_ in
+ | Some (rs1, existT _ _s1904_ _) =>
+ let p0_ := string_drop _s1903_ _s1904_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -29184,21 +29368,21 @@ Definition _s1894_ (_s1895_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s1886_ (_s1887_ : string) : M (option (mword 5)) :=
- let _s1888_ := _s1887_ in
- (if string_startswith _s1888_ "c.jr" then
- (match (string_drop _s1888_ (projT1 (string_length "c.jr"))) with
- | _s1889_ =>
- (spc_matches_prefix _s1889_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1890_ (_s1891_ : string) : M (option (mword 5)) :=
+ let _s1892_ := _s1891_ in
+ (if string_startswith _s1892_ "c.jr" then
+ (match (string_drop _s1892_ (projT1 (string_length "c.jr"))) with
+ | _s1893_ =>
+ (spc_matches_prefix _s1893_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1890_ _) =>
- (match (string_drop _s1889_ _s1890_) with
- | _s1891_ =>
- (reg_name_matches_prefix _s1891_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1894_ _) =>
+ (match (string_drop _s1893_ _s1894_) with
+ | _s1895_ =>
+ (reg_name_matches_prefix _s1895_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s1892_ _) =>
- let p0_ := string_drop _s1891_ _s1892_ in
+ | Some (rs1, existT _ _s1896_ _) =>
+ let p0_ := string_drop _s1895_ _s1896_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -29213,31 +29397,31 @@ Definition _s1886_ (_s1887_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s1874_ (_s1875_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1876_ := _s1875_ in
- (if string_startswith _s1876_ "c.sdsp" then
- (match (string_drop _s1876_ (projT1 (string_length "c.sdsp"))) with
- | _s1877_ =>
- (spc_matches_prefix _s1877_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1878_ (_s1879_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1880_ := _s1879_ in
+ (if string_startswith _s1880_ "c.sdsp" then
+ (match (string_drop _s1880_ (projT1 (string_length "c.sdsp"))) with
+ | _s1881_ =>
+ (spc_matches_prefix _s1881_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1878_ _) =>
- (match (string_drop _s1877_ _s1878_) with
- | _s1879_ =>
- (reg_name_matches_prefix _s1879_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1882_ _) =>
+ (match (string_drop _s1881_ _s1882_) with
+ | _s1883_ =>
+ (reg_name_matches_prefix _s1883_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s1880_ _) =>
- (match (string_drop _s1879_ _s1880_) with
- | _s1881_ =>
- (sep_matches_prefix _s1881_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s1884_ _) =>
+ (match (string_drop _s1883_ _s1884_) with
+ | _s1885_ =>
+ (sep_matches_prefix _s1885_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1882_ _) =>
- match (string_drop _s1881_ _s1882_) with
- | _s1883_ =>
- match (hex_bits_6_matches_prefix _s1883_) with
- | Some (uimm, existT _ _s1884_ _) =>
- let p0_ := string_drop _s1883_ _s1884_ in
+ | Some (tt, existT _ _s1886_ _) =>
+ match (string_drop _s1885_ _s1886_) with
+ | _s1887_ =>
+ match (hex_bits_6_matches_prefix _s1887_) with
+ | Some (uimm, existT _ _s1888_ _) =>
+ let p0_ := string_drop _s1887_ _s1888_ in
if generic_eq p0_ "" then Some (rs2, uimm)
else None
| _ => None
@@ -29260,31 +29444,31 @@ Definition _s1874_ (_s1875_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1862_ (_s1863_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1864_ := _s1863_ in
- (if string_startswith _s1864_ "c.swsp" then
- (match (string_drop _s1864_ (projT1 (string_length "c.swsp"))) with
- | _s1865_ =>
- (spc_matches_prefix _s1865_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1866_ (_s1867_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1868_ := _s1867_ in
+ (if string_startswith _s1868_ "c.swsp" then
+ (match (string_drop _s1868_ (projT1 (string_length "c.swsp"))) with
+ | _s1869_ =>
+ (spc_matches_prefix _s1869_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1866_ _) =>
- (match (string_drop _s1865_ _s1866_) with
- | _s1867_ =>
- (reg_name_matches_prefix _s1867_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1870_ _) =>
+ (match (string_drop _s1869_ _s1870_) with
+ | _s1871_ =>
+ (reg_name_matches_prefix _s1871_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1868_ _) =>
- (match (string_drop _s1867_ _s1868_) with
- | _s1869_ =>
- (sep_matches_prefix _s1869_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1872_ _) =>
+ (match (string_drop _s1871_ _s1872_) with
+ | _s1873_ =>
+ (sep_matches_prefix _s1873_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1870_ _) =>
- match (string_drop _s1869_ _s1870_) with
- | _s1871_ =>
- match (hex_bits_6_matches_prefix _s1871_) with
- | Some (uimm, existT _ _s1872_ _) =>
- let p0_ := string_drop _s1871_ _s1872_ in
+ | Some (tt, existT _ _s1874_ _) =>
+ match (string_drop _s1873_ _s1874_) with
+ | _s1875_ =>
+ match (hex_bits_6_matches_prefix _s1875_) with
+ | Some (uimm, existT _ _s1876_ _) =>
+ let p0_ := string_drop _s1875_ _s1876_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -29307,31 +29491,31 @@ Definition _s1862_ (_s1863_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1850_ (_s1851_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1852_ := _s1851_ in
- (if string_startswith _s1852_ "c.ldsp" then
- (match (string_drop _s1852_ (projT1 (string_length "c.ldsp"))) with
- | _s1853_ =>
- (spc_matches_prefix _s1853_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1854_ (_s1855_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1856_ := _s1855_ in
+ (if string_startswith _s1856_ "c.ldsp" then
+ (match (string_drop _s1856_ (projT1 (string_length "c.ldsp"))) with
+ | _s1857_ =>
+ (spc_matches_prefix _s1857_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1854_ _) =>
- (match (string_drop _s1853_ _s1854_) with
- | _s1855_ =>
- (reg_name_matches_prefix _s1855_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1858_ _) =>
+ (match (string_drop _s1857_ _s1858_) with
+ | _s1859_ =>
+ (reg_name_matches_prefix _s1859_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1856_ _) =>
- (match (string_drop _s1855_ _s1856_) with
- | _s1857_ =>
- (sep_matches_prefix _s1857_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1860_ _) =>
+ (match (string_drop _s1859_ _s1860_) with
+ | _s1861_ =>
+ (sep_matches_prefix _s1861_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1858_ _) =>
- match (string_drop _s1857_ _s1858_) with
- | _s1859_ =>
- match (hex_bits_6_matches_prefix _s1859_) with
- | Some (uimm, existT _ _s1860_ _) =>
- let p0_ := string_drop _s1859_ _s1860_ in
+ | Some (tt, existT _ _s1862_ _) =>
+ match (string_drop _s1861_ _s1862_) with
+ | _s1863_ =>
+ match (hex_bits_6_matches_prefix _s1863_) with
+ | Some (uimm, existT _ _s1864_ _) =>
+ let p0_ := string_drop _s1863_ _s1864_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -29354,31 +29538,31 @@ Definition _s1850_ (_s1851_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1838_ (_s1839_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1840_ := _s1839_ in
- (if string_startswith _s1840_ "c.lwsp" then
- (match (string_drop _s1840_ (projT1 (string_length "c.lwsp"))) with
- | _s1841_ =>
- (spc_matches_prefix _s1841_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1842_ (_s1843_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1844_ := _s1843_ in
+ (if string_startswith _s1844_ "c.lwsp" then
+ (match (string_drop _s1844_ (projT1 (string_length "c.lwsp"))) with
+ | _s1845_ =>
+ (spc_matches_prefix _s1845_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1842_ _) =>
- (match (string_drop _s1841_ _s1842_) with
- | _s1843_ =>
- (reg_name_matches_prefix _s1843_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1846_ _) =>
+ (match (string_drop _s1845_ _s1846_) with
+ | _s1847_ =>
+ (reg_name_matches_prefix _s1847_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1844_ _) =>
- (match (string_drop _s1843_ _s1844_) with
- | _s1845_ =>
- (sep_matches_prefix _s1845_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1848_ _) =>
+ (match (string_drop _s1847_ _s1848_) with
+ | _s1849_ =>
+ (sep_matches_prefix _s1849_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1846_ _) =>
- match (string_drop _s1845_ _s1846_) with
- | _s1847_ =>
- match (hex_bits_6_matches_prefix _s1847_) with
- | Some (uimm, existT _ _s1848_ _) =>
- let p0_ := string_drop _s1847_ _s1848_ in
+ | Some (tt, existT _ _s1850_ _) =>
+ match (string_drop _s1849_ _s1850_) with
+ | _s1851_ =>
+ match (hex_bits_6_matches_prefix _s1851_) with
+ | Some (uimm, existT _ _s1852_ _) =>
+ let p0_ := string_drop _s1851_ _s1852_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -29401,31 +29585,31 @@ Definition _s1838_ (_s1839_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1826_ (_s1827_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1828_ := _s1827_ in
- (if string_startswith _s1828_ "c.slli" then
- (match (string_drop _s1828_ (projT1 (string_length "c.slli"))) with
- | _s1829_ =>
- (spc_matches_prefix _s1829_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1830_ (_s1831_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1832_ := _s1831_ in
+ (if string_startswith _s1832_ "c.slli" then
+ (match (string_drop _s1832_ (projT1 (string_length "c.slli"))) with
+ | _s1833_ =>
+ (spc_matches_prefix _s1833_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1830_ _) =>
- (match (string_drop _s1829_ _s1830_) with
- | _s1831_ =>
- (reg_name_matches_prefix _s1831_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1834_ _) =>
+ (match (string_drop _s1833_ _s1834_) with
+ | _s1835_ =>
+ (reg_name_matches_prefix _s1835_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1832_ _) =>
- (match (string_drop _s1831_ _s1832_) with
- | _s1833_ =>
- (sep_matches_prefix _s1833_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1836_ _) =>
+ (match (string_drop _s1835_ _s1836_) with
+ | _s1837_ =>
+ (sep_matches_prefix _s1837_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1834_ _) =>
- match (string_drop _s1833_ _s1834_) with
- | _s1835_ =>
- match (hex_bits_6_matches_prefix _s1835_) with
- | Some (shamt, existT _ _s1836_ _) =>
- let p0_ := string_drop _s1835_ _s1836_ in
+ | Some (tt, existT _ _s1838_ _) =>
+ match (string_drop _s1837_ _s1838_) with
+ | _s1839_ =>
+ match (hex_bits_6_matches_prefix _s1839_) with
+ | Some (shamt, existT _ _s1840_ _) =>
+ let p0_ := string_drop _s1839_ _s1840_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -29448,31 +29632,31 @@ Definition _s1826_ (_s1827_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1814_ (_s1815_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s1816_ := _s1815_ in
- (if string_startswith _s1816_ "c.bnez" then
- (match (string_drop _s1816_ (projT1 (string_length "c.bnez"))) with
- | _s1817_ =>
- (spc_matches_prefix _s1817_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1818_ (_s1819_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s1820_ := _s1819_ in
+ (if string_startswith _s1820_ "c.bnez" then
+ (match (string_drop _s1820_ (projT1 (string_length "c.bnez"))) with
+ | _s1821_ =>
+ (spc_matches_prefix _s1821_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1818_ _) =>
- (match (string_drop _s1817_ _s1818_) with
- | _s1819_ =>
- (creg_name_matches_prefix _s1819_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1822_ _) =>
+ (match (string_drop _s1821_ _s1822_) with
+ | _s1823_ =>
+ (creg_name_matches_prefix _s1823_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s1820_ _) =>
- (match (string_drop _s1819_ _s1820_) with
- | _s1821_ =>
- (sep_matches_prefix _s1821_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s1824_ _) =>
+ (match (string_drop _s1823_ _s1824_) with
+ | _s1825_ =>
+ (sep_matches_prefix _s1825_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1822_ _) =>
- match (string_drop _s1821_ _s1822_) with
- | _s1823_ =>
- match (hex_bits_8_matches_prefix _s1823_) with
- | Some (imm, existT _ _s1824_ _) =>
- let p0_ := string_drop _s1823_ _s1824_ in
+ | Some (tt, existT _ _s1826_ _) =>
+ match (string_drop _s1825_ _s1826_) with
+ | _s1827_ =>
+ match (hex_bits_8_matches_prefix _s1827_) with
+ | Some (imm, existT _ _s1828_ _) =>
+ let p0_ := string_drop _s1827_ _s1828_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -29495,31 +29679,31 @@ Definition _s1814_ (_s1815_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s1802_ (_s1803_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s1804_ := _s1803_ in
- (if string_startswith _s1804_ "c.beqz" then
- (match (string_drop _s1804_ (projT1 (string_length "c.beqz"))) with
- | _s1805_ =>
- (spc_matches_prefix _s1805_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1806_ (_s1807_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s1808_ := _s1807_ in
+ (if string_startswith _s1808_ "c.beqz" then
+ (match (string_drop _s1808_ (projT1 (string_length "c.beqz"))) with
+ | _s1809_ =>
+ (spc_matches_prefix _s1809_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1806_ _) =>
- (match (string_drop _s1805_ _s1806_) with
- | _s1807_ =>
- (creg_name_matches_prefix _s1807_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1810_ _) =>
+ (match (string_drop _s1809_ _s1810_) with
+ | _s1811_ =>
+ (creg_name_matches_prefix _s1811_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s1808_ _) =>
- (match (string_drop _s1807_ _s1808_) with
- | _s1809_ =>
- (sep_matches_prefix _s1809_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s1812_ _) =>
+ (match (string_drop _s1811_ _s1812_) with
+ | _s1813_ =>
+ (sep_matches_prefix _s1813_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1810_ _) =>
- match (string_drop _s1809_ _s1810_) with
- | _s1811_ =>
- match (hex_bits_8_matches_prefix _s1811_) with
- | Some (imm, existT _ _s1812_ _) =>
- let p0_ := string_drop _s1811_ _s1812_ in
+ | Some (tt, existT _ _s1814_ _) =>
+ match (string_drop _s1813_ _s1814_) with
+ | _s1815_ =>
+ match (hex_bits_8_matches_prefix _s1815_) with
+ | Some (imm, existT _ _s1816_ _) =>
+ let p0_ := string_drop _s1815_ _s1816_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -29542,19 +29726,19 @@ Definition _s1802_ (_s1803_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s1794_ (_s1795_ : string) : M (option (mword 11)) :=
- let _s1796_ := _s1795_ in
- (if string_startswith _s1796_ "c.j" then
- (match (string_drop _s1796_ (projT1 (string_length "c.j"))) with
- | _s1797_ =>
- (spc_matches_prefix _s1797_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1798_ (_s1799_ : string) : M (option (mword 11)) :=
+ let _s1800_ := _s1799_ in
+ (if string_startswith _s1800_ "c.j" then
+ (match (string_drop _s1800_ (projT1 (string_length "c.j"))) with
+ | _s1801_ =>
+ (spc_matches_prefix _s1801_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s1798_ _) =>
- match (string_drop _s1797_ _s1798_) with
- | _s1799_ =>
- match (hex_bits_11_matches_prefix _s1799_) with
- | Some (imm, existT _ _s1800_ _) =>
- let p0_ := string_drop _s1799_ _s1800_ in
+ | Some (tt, existT _ _s1802_ _) =>
+ match (string_drop _s1801_ _s1802_) with
+ | _s1803_ =>
+ match (hex_bits_11_matches_prefix _s1803_) with
+ | Some (imm, existT _ _s1804_ _) =>
+ let p0_ := string_drop _s1803_ _s1804_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -29567,33 +29751,33 @@ Definition _s1794_ (_s1795_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s1782_ (_s1783_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1784_ := _s1783_ in
- (if string_startswith _s1784_ "c.addw" then
- (match (string_drop _s1784_ (projT1 (string_length "c.addw"))) with
- | _s1785_ =>
- (spc_matches_prefix _s1785_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1786_ (_s1787_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1788_ := _s1787_ in
+ (if string_startswith _s1788_ "c.addw" then
+ (match (string_drop _s1788_ (projT1 (string_length "c.addw"))) with
+ | _s1789_ =>
+ (spc_matches_prefix _s1789_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1786_ _) =>
- (match (string_drop _s1785_ _s1786_) with
- | _s1787_ =>
- (creg_name_matches_prefix _s1787_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1790_ _) =>
+ (match (string_drop _s1789_ _s1790_) with
+ | _s1791_ =>
+ (creg_name_matches_prefix _s1791_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1788_ _) =>
- (match (string_drop _s1787_ _s1788_) with
- | _s1789_ =>
- (sep_matches_prefix _s1789_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1792_ _) =>
+ (match (string_drop _s1791_ _s1792_) with
+ | _s1793_ =>
+ (sep_matches_prefix _s1793_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1790_ _) =>
- (match (string_drop _s1789_ _s1790_) with
- | _s1791_ =>
- (creg_name_matches_prefix _s1791_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1794_ _) =>
+ (match (string_drop _s1793_ _s1794_) with
+ | _s1795_ =>
+ (creg_name_matches_prefix _s1795_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1792_ _) =>
- let p0_ := string_drop _s1791_ _s1792_ in
+ | Some (rs2, existT _ _s1796_ _) =>
+ let p0_ := string_drop _s1795_ _s1796_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -29618,33 +29802,33 @@ Definition _s1782_ (_s1783_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1770_ (_s1771_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1772_ := _s1771_ in
- (if string_startswith _s1772_ "c.subw" then
- (match (string_drop _s1772_ (projT1 (string_length "c.subw"))) with
- | _s1773_ =>
- (spc_matches_prefix _s1773_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1774_ (_s1775_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1776_ := _s1775_ in
+ (if string_startswith _s1776_ "c.subw" then
+ (match (string_drop _s1776_ (projT1 (string_length "c.subw"))) with
+ | _s1777_ =>
+ (spc_matches_prefix _s1777_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1774_ _) =>
- (match (string_drop _s1773_ _s1774_) with
- | _s1775_ =>
- (creg_name_matches_prefix _s1775_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1778_ _) =>
+ (match (string_drop _s1777_ _s1778_) with
+ | _s1779_ =>
+ (creg_name_matches_prefix _s1779_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1776_ _) =>
- (match (string_drop _s1775_ _s1776_) with
- | _s1777_ =>
- (sep_matches_prefix _s1777_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1780_ _) =>
+ (match (string_drop _s1779_ _s1780_) with
+ | _s1781_ =>
+ (sep_matches_prefix _s1781_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1778_ _) =>
- (match (string_drop _s1777_ _s1778_) with
- | _s1779_ =>
- (creg_name_matches_prefix _s1779_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1782_ _) =>
+ (match (string_drop _s1781_ _s1782_) with
+ | _s1783_ =>
+ (creg_name_matches_prefix _s1783_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1780_ _) =>
- let p0_ := string_drop _s1779_ _s1780_ in
+ | Some (rs2, existT _ _s1784_ _) =>
+ let p0_ := string_drop _s1783_ _s1784_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -29669,33 +29853,33 @@ Definition _s1770_ (_s1771_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1758_ (_s1759_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1760_ := _s1759_ in
- (if string_startswith _s1760_ "c.and" then
- (match (string_drop _s1760_ (projT1 (string_length "c.and"))) with
- | _s1761_ =>
- (spc_matches_prefix _s1761_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1762_ (_s1763_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1764_ := _s1763_ in
+ (if string_startswith _s1764_ "c.and" then
+ (match (string_drop _s1764_ (projT1 (string_length "c.and"))) with
+ | _s1765_ =>
+ (spc_matches_prefix _s1765_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1762_ _) =>
- (match (string_drop _s1761_ _s1762_) with
- | _s1763_ =>
- (creg_name_matches_prefix _s1763_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1766_ _) =>
+ (match (string_drop _s1765_ _s1766_) with
+ | _s1767_ =>
+ (creg_name_matches_prefix _s1767_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1764_ _) =>
- (match (string_drop _s1763_ _s1764_) with
- | _s1765_ =>
- (sep_matches_prefix _s1765_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1768_ _) =>
+ (match (string_drop _s1767_ _s1768_) with
+ | _s1769_ =>
+ (sep_matches_prefix _s1769_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1766_ _) =>
- (match (string_drop _s1765_ _s1766_) with
- | _s1767_ =>
- (creg_name_matches_prefix _s1767_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1770_ _) =>
+ (match (string_drop _s1769_ _s1770_) with
+ | _s1771_ =>
+ (creg_name_matches_prefix _s1771_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1768_ _) =>
- let p0_ := string_drop _s1767_ _s1768_ in
+ | Some (rs2, existT _ _s1772_ _) =>
+ let p0_ := string_drop _s1771_ _s1772_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -29720,33 +29904,33 @@ Definition _s1758_ (_s1759_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1746_ (_s1747_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1748_ := _s1747_ in
- (if string_startswith _s1748_ "c.or" then
- (match (string_drop _s1748_ (projT1 (string_length "c.or"))) with
- | _s1749_ =>
- (spc_matches_prefix _s1749_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1750_ (_s1751_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1752_ := _s1751_ in
+ (if string_startswith _s1752_ "c.or" then
+ (match (string_drop _s1752_ (projT1 (string_length "c.or"))) with
+ | _s1753_ =>
+ (spc_matches_prefix _s1753_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1750_ _) =>
- (match (string_drop _s1749_ _s1750_) with
- | _s1751_ =>
- (creg_name_matches_prefix _s1751_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1754_ _) =>
+ (match (string_drop _s1753_ _s1754_) with
+ | _s1755_ =>
+ (creg_name_matches_prefix _s1755_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1752_ _) =>
- (match (string_drop _s1751_ _s1752_) with
- | _s1753_ =>
- (sep_matches_prefix _s1753_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1756_ _) =>
+ (match (string_drop _s1755_ _s1756_) with
+ | _s1757_ =>
+ (sep_matches_prefix _s1757_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1754_ _) =>
- (match (string_drop _s1753_ _s1754_) with
- | _s1755_ =>
- (creg_name_matches_prefix _s1755_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1758_ _) =>
+ (match (string_drop _s1757_ _s1758_) with
+ | _s1759_ =>
+ (creg_name_matches_prefix _s1759_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1756_ _) =>
- let p0_ := string_drop _s1755_ _s1756_ in
+ | Some (rs2, existT _ _s1760_ _) =>
+ let p0_ := string_drop _s1759_ _s1760_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -29771,33 +29955,33 @@ Definition _s1746_ (_s1747_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1734_ (_s1735_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1736_ := _s1735_ in
- (if string_startswith _s1736_ "c.xor" then
- (match (string_drop _s1736_ (projT1 (string_length "c.xor"))) with
- | _s1737_ =>
- (spc_matches_prefix _s1737_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1738_ (_s1739_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1740_ := _s1739_ in
+ (if string_startswith _s1740_ "c.xor" then
+ (match (string_drop _s1740_ (projT1 (string_length "c.xor"))) with
+ | _s1741_ =>
+ (spc_matches_prefix _s1741_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1738_ _) =>
- (match (string_drop _s1737_ _s1738_) with
- | _s1739_ =>
- (creg_name_matches_prefix _s1739_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1742_ _) =>
+ (match (string_drop _s1741_ _s1742_) with
+ | _s1743_ =>
+ (creg_name_matches_prefix _s1743_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1740_ _) =>
- (match (string_drop _s1739_ _s1740_) with
- | _s1741_ =>
- (sep_matches_prefix _s1741_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1744_ _) =>
+ (match (string_drop _s1743_ _s1744_) with
+ | _s1745_ =>
+ (sep_matches_prefix _s1745_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1742_ _) =>
- (match (string_drop _s1741_ _s1742_) with
- | _s1743_ =>
- (creg_name_matches_prefix _s1743_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1746_ _) =>
+ (match (string_drop _s1745_ _s1746_) with
+ | _s1747_ =>
+ (creg_name_matches_prefix _s1747_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1744_ _) =>
- let p0_ := string_drop _s1743_ _s1744_ in
+ | Some (rs2, existT _ _s1748_ _) =>
+ let p0_ := string_drop _s1747_ _s1748_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -29822,33 +30006,33 @@ Definition _s1734_ (_s1735_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1722_ (_s1723_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1724_ := _s1723_ in
- (if string_startswith _s1724_ "c.sub" then
- (match (string_drop _s1724_ (projT1 (string_length "c.sub"))) with
- | _s1725_ =>
- (spc_matches_prefix _s1725_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1726_ (_s1727_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1728_ := _s1727_ in
+ (if string_startswith _s1728_ "c.sub" then
+ (match (string_drop _s1728_ (projT1 (string_length "c.sub"))) with
+ | _s1729_ =>
+ (spc_matches_prefix _s1729_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1726_ _) =>
- (match (string_drop _s1725_ _s1726_) with
- | _s1727_ =>
- (creg_name_matches_prefix _s1727_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1730_ _) =>
+ (match (string_drop _s1729_ _s1730_) with
+ | _s1731_ =>
+ (creg_name_matches_prefix _s1731_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1728_ _) =>
- (match (string_drop _s1727_ _s1728_) with
- | _s1729_ =>
- (sep_matches_prefix _s1729_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1732_ _) =>
+ (match (string_drop _s1731_ _s1732_) with
+ | _s1733_ =>
+ (sep_matches_prefix _s1733_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1730_ _) =>
- (match (string_drop _s1729_ _s1730_) with
- | _s1731_ =>
- (creg_name_matches_prefix _s1731_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1734_ _) =>
+ (match (string_drop _s1733_ _s1734_) with
+ | _s1735_ =>
+ (creg_name_matches_prefix _s1735_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1732_ _) =>
- let p0_ := string_drop _s1731_ _s1732_ in
+ | Some (rs2, existT _ _s1736_ _) =>
+ let p0_ := string_drop _s1735_ _s1736_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -29873,31 +30057,31 @@ Definition _s1722_ (_s1723_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1710_ (_s1711_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s1712_ := _s1711_ in
- (if string_startswith _s1712_ "c.andi" then
- (match (string_drop _s1712_ (projT1 (string_length "c.andi"))) with
- | _s1713_ =>
- (spc_matches_prefix _s1713_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1714_ (_s1715_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s1716_ := _s1715_ in
+ (if string_startswith _s1716_ "c.andi" then
+ (match (string_drop _s1716_ (projT1 (string_length "c.andi"))) with
+ | _s1717_ =>
+ (spc_matches_prefix _s1717_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1714_ _) =>
- (match (string_drop _s1713_ _s1714_) with
- | _s1715_ =>
- (creg_name_matches_prefix _s1715_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1718_ _) =>
+ (match (string_drop _s1717_ _s1718_) with
+ | _s1719_ =>
+ (creg_name_matches_prefix _s1719_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1716_ _) =>
- (match (string_drop _s1715_ _s1716_) with
- | _s1717_ =>
- (sep_matches_prefix _s1717_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1720_ _) =>
+ (match (string_drop _s1719_ _s1720_) with
+ | _s1721_ =>
+ (sep_matches_prefix _s1721_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1718_ _) =>
- match (string_drop _s1717_ _s1718_) with
- | _s1719_ =>
- match (hex_bits_6_matches_prefix _s1719_) with
- | Some (imm, existT _ _s1720_ _) =>
- let p0_ := string_drop _s1719_ _s1720_ in
+ | Some (tt, existT _ _s1722_ _) =>
+ match (string_drop _s1721_ _s1722_) with
+ | _s1723_ =>
+ match (hex_bits_6_matches_prefix _s1723_) with
+ | Some (imm, existT _ _s1724_ _) =>
+ let p0_ := string_drop _s1723_ _s1724_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -29920,31 +30104,31 @@ Definition _s1710_ (_s1711_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s1698_ (_s1699_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s1700_ := _s1699_ in
- (if string_startswith _s1700_ "c.srai" then
- (match (string_drop _s1700_ (projT1 (string_length "c.srai"))) with
- | _s1701_ =>
- (spc_matches_prefix _s1701_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1702_ (_s1703_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s1704_ := _s1703_ in
+ (if string_startswith _s1704_ "c.srai" then
+ (match (string_drop _s1704_ (projT1 (string_length "c.srai"))) with
+ | _s1705_ =>
+ (spc_matches_prefix _s1705_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1702_ _) =>
- (match (string_drop _s1701_ _s1702_) with
- | _s1703_ =>
- (creg_name_matches_prefix _s1703_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1706_ _) =>
+ (match (string_drop _s1705_ _s1706_) with
+ | _s1707_ =>
+ (creg_name_matches_prefix _s1707_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1704_ _) =>
- (match (string_drop _s1703_ _s1704_) with
- | _s1705_ =>
- (sep_matches_prefix _s1705_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1708_ _) =>
+ (match (string_drop _s1707_ _s1708_) with
+ | _s1709_ =>
+ (sep_matches_prefix _s1709_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1706_ _) =>
- match (string_drop _s1705_ _s1706_) with
- | _s1707_ =>
- match (hex_bits_6_matches_prefix _s1707_) with
- | Some (shamt, existT _ _s1708_ _) =>
- let p0_ := string_drop _s1707_ _s1708_ in
+ | Some (tt, existT _ _s1710_ _) =>
+ match (string_drop _s1709_ _s1710_) with
+ | _s1711_ =>
+ match (hex_bits_6_matches_prefix _s1711_) with
+ | Some (shamt, existT _ _s1712_ _) =>
+ let p0_ := string_drop _s1711_ _s1712_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -29967,31 +30151,31 @@ Definition _s1698_ (_s1699_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s1686_ (_s1687_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s1688_ := _s1687_ in
- (if string_startswith _s1688_ "c.srli" then
- (match (string_drop _s1688_ (projT1 (string_length "c.srli"))) with
- | _s1689_ =>
- (spc_matches_prefix _s1689_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1690_ (_s1691_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s1692_ := _s1691_ in
+ (if string_startswith _s1692_ "c.srli" then
+ (match (string_drop _s1692_ (projT1 (string_length "c.srli"))) with
+ | _s1693_ =>
+ (spc_matches_prefix _s1693_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1690_ _) =>
- (match (string_drop _s1689_ _s1690_) with
- | _s1691_ =>
- (creg_name_matches_prefix _s1691_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1694_ _) =>
+ (match (string_drop _s1693_ _s1694_) with
+ | _s1695_ =>
+ (creg_name_matches_prefix _s1695_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1692_ _) =>
- (match (string_drop _s1691_ _s1692_) with
- | _s1693_ =>
- (sep_matches_prefix _s1693_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1696_ _) =>
+ (match (string_drop _s1695_ _s1696_) with
+ | _s1697_ =>
+ (sep_matches_prefix _s1697_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1694_ _) =>
- match (string_drop _s1693_ _s1694_) with
- | _s1695_ =>
- match (hex_bits_6_matches_prefix _s1695_) with
- | Some (shamt, existT _ _s1696_ _) =>
- let p0_ := string_drop _s1695_ _s1696_ in
+ | Some (tt, existT _ _s1698_ _) =>
+ match (string_drop _s1697_ _s1698_) with
+ | _s1699_ =>
+ match (hex_bits_6_matches_prefix _s1699_) with
+ | Some (shamt, existT _ _s1700_ _) =>
+ let p0_ := string_drop _s1699_ _s1700_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -30014,31 +30198,31 @@ Definition _s1686_ (_s1687_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s1674_ (_s1675_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1676_ := _s1675_ in
- (if string_startswith _s1676_ "c.lui" then
- (match (string_drop _s1676_ (projT1 (string_length "c.lui"))) with
- | _s1677_ =>
- (spc_matches_prefix _s1677_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1678_ (_s1679_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1680_ := _s1679_ in
+ (if string_startswith _s1680_ "c.lui" then
+ (match (string_drop _s1680_ (projT1 (string_length "c.lui"))) with
+ | _s1681_ =>
+ (spc_matches_prefix _s1681_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1678_ _) =>
- (match (string_drop _s1677_ _s1678_) with
- | _s1679_ =>
- (reg_name_matches_prefix _s1679_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1682_ _) =>
+ (match (string_drop _s1681_ _s1682_) with
+ | _s1683_ =>
+ (reg_name_matches_prefix _s1683_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1680_ _) =>
- (match (string_drop _s1679_ _s1680_) with
- | _s1681_ =>
- (sep_matches_prefix _s1681_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1684_ _) =>
+ (match (string_drop _s1683_ _s1684_) with
+ | _s1685_ =>
+ (sep_matches_prefix _s1685_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1682_ _) =>
- match (string_drop _s1681_ _s1682_) with
- | _s1683_ =>
- match (hex_bits_6_matches_prefix _s1683_) with
- | Some (imm, existT _ _s1684_ _) =>
- let p0_ := string_drop _s1683_ _s1684_ in
+ | Some (tt, existT _ _s1686_ _) =>
+ match (string_drop _s1685_ _s1686_) with
+ | _s1687_ =>
+ match (hex_bits_6_matches_prefix _s1687_) with
+ | Some (imm, existT _ _s1688_ _) =>
+ let p0_ := string_drop _s1687_ _s1688_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -30061,19 +30245,19 @@ Definition _s1674_ (_s1675_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1666_ (_s1667_ : string) : M (option (mword 6)) :=
- let _s1668_ := _s1667_ in
- (if string_startswith _s1668_ "c.addi16sp" then
- (match (string_drop _s1668_ (projT1 (string_length "c.addi16sp"))) with
- | _s1669_ =>
- (spc_matches_prefix _s1669_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1670_ (_s1671_ : string) : M (option (mword 6)) :=
+ let _s1672_ := _s1671_ in
+ (if string_startswith _s1672_ "c.addi16sp" then
+ (match (string_drop _s1672_ (projT1 (string_length "c.addi16sp"))) with
+ | _s1673_ =>
+ (spc_matches_prefix _s1673_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s1670_ _) =>
- match (string_drop _s1669_ _s1670_) with
- | _s1671_ =>
- match (hex_bits_6_matches_prefix _s1671_) with
- | Some (imm, existT _ _s1672_ _) =>
- let p0_ := string_drop _s1671_ _s1672_ in
+ | Some (tt, existT _ _s1674_ _) =>
+ match (string_drop _s1673_ _s1674_) with
+ | _s1675_ =>
+ match (hex_bits_6_matches_prefix _s1675_) with
+ | Some (imm, existT _ _s1676_ _) =>
+ let p0_ := string_drop _s1675_ _s1676_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -30086,31 +30270,31 @@ Definition _s1666_ (_s1667_ : string) : M (option (mword 6)) :=
else returnm None)
: M (option (mword 6)).
-Definition _s1654_ (_s1655_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1656_ := _s1655_ in
- (if string_startswith _s1656_ "c.li" then
- (match (string_drop _s1656_ (projT1 (string_length "c.li"))) with
- | _s1657_ =>
- (spc_matches_prefix _s1657_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1658_ (_s1659_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1660_ := _s1659_ in
+ (if string_startswith _s1660_ "c.li" then
+ (match (string_drop _s1660_ (projT1 (string_length "c.li"))) with
+ | _s1661_ =>
+ (spc_matches_prefix _s1661_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1658_ _) =>
- (match (string_drop _s1657_ _s1658_) with
- | _s1659_ =>
- (reg_name_matches_prefix _s1659_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1662_ _) =>
+ (match (string_drop _s1661_ _s1662_) with
+ | _s1663_ =>
+ (reg_name_matches_prefix _s1663_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1660_ _) =>
- (match (string_drop _s1659_ _s1660_) with
- | _s1661_ =>
- (sep_matches_prefix _s1661_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1664_ _) =>
+ (match (string_drop _s1663_ _s1664_) with
+ | _s1665_ =>
+ (sep_matches_prefix _s1665_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1662_ _) =>
- match (string_drop _s1661_ _s1662_) with
- | _s1663_ =>
- match (hex_bits_6_matches_prefix _s1663_) with
- | Some (imm, existT _ _s1664_ _) =>
- let p0_ := string_drop _s1663_ _s1664_ in
+ | Some (tt, existT _ _s1666_ _) =>
+ match (string_drop _s1665_ _s1666_) with
+ | _s1667_ =>
+ match (hex_bits_6_matches_prefix _s1667_) with
+ | Some (imm, existT _ _s1668_ _) =>
+ let p0_ := string_drop _s1667_ _s1668_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -30133,31 +30317,31 @@ Definition _s1654_ (_s1655_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1642_ (_s1643_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1644_ := _s1643_ in
- (if string_startswith _s1644_ "c.addiw" then
- (match (string_drop _s1644_ (projT1 (string_length "c.addiw"))) with
- | _s1645_ =>
- (spc_matches_prefix _s1645_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1646_ (_s1647_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1648_ := _s1647_ in
+ (if string_startswith _s1648_ "c.addiw" then
+ (match (string_drop _s1648_ (projT1 (string_length "c.addiw"))) with
+ | _s1649_ =>
+ (spc_matches_prefix _s1649_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1646_ _) =>
- (match (string_drop _s1645_ _s1646_) with
- | _s1647_ =>
- (reg_name_matches_prefix _s1647_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1650_ _) =>
+ (match (string_drop _s1649_ _s1650_) with
+ | _s1651_ =>
+ (reg_name_matches_prefix _s1651_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1648_ _) =>
- (match (string_drop _s1647_ _s1648_) with
- | _s1649_ =>
- (sep_matches_prefix _s1649_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1652_ _) =>
+ (match (string_drop _s1651_ _s1652_) with
+ | _s1653_ =>
+ (sep_matches_prefix _s1653_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1650_ _) =>
- match (string_drop _s1649_ _s1650_) with
- | _s1651_ =>
- match (hex_bits_6_matches_prefix _s1651_) with
- | Some (imm, existT _ _s1652_ _) =>
- let p0_ := string_drop _s1651_ _s1652_ in
+ | Some (tt, existT _ _s1654_ _) =>
+ match (string_drop _s1653_ _s1654_) with
+ | _s1655_ =>
+ match (hex_bits_6_matches_prefix _s1655_) with
+ | Some (imm, existT _ _s1656_ _) =>
+ let p0_ := string_drop _s1655_ _s1656_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -30180,23 +30364,23 @@ Definition _s1642_ (_s1643_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1634_ (_s1635_ : string) : M (option (mword 11)) :=
- let _s1636_ := _s1635_ in
- (if string_startswith _s1636_ "c.jal" then
- (match (string_drop _s1636_ (projT1 (string_length "c.jal"))) with
- | _s1637_ =>
- (spc_matches_prefix _s1637_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1638_ (_s1639_ : string) : M (option (mword 11)) :=
+ let _s1640_ := _s1639_ in
+ (if string_startswith _s1640_ "c.jal" then
+ (match (string_drop _s1640_ (projT1 (string_length "c.jal"))) with
+ | _s1641_ =>
+ (spc_matches_prefix _s1641_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s1638_ _) =>
- match (string_drop _s1637_ _s1638_) with
- | _s1639_ =>
- match (hex_bits_12_matches_prefix _s1639_) with
- | Some (v__1080, existT _ _s1640_ _) =>
- if eq_vec (subrange_vec_dec v__1080 0 0) ('b"0" : mword (0 - 0 + 1))
+ | Some (tt, existT _ _s1642_ _) =>
+ match (string_drop _s1641_ _s1642_) with
+ | _s1643_ =>
+ match (hex_bits_12_matches_prefix _s1643_) with
+ | Some (v__1184, existT _ _s1644_ _) =>
+ if eq_vec (subrange_vec_dec v__1184 0 0) ('b"0" : mword (0 - 0 + 1))
then
- let imm : mword 11 := subrange_vec_dec v__1080 11 1 in
- let imm : mword 11 := subrange_vec_dec v__1080 11 1 in
- let p0_ := string_drop _s1639_ _s1640_ in
+ let imm : mword 11 := subrange_vec_dec v__1184 11 1 in
+ let imm : mword 11 := subrange_vec_dec v__1184 11 1 in
+ let p0_ := string_drop _s1643_ _s1644_ in
if generic_eq p0_ "" then Some imm
else None
else None
@@ -30210,31 +30394,31 @@ Definition _s1634_ (_s1635_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s1622_ (_s1623_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1624_ := _s1623_ in
- (if string_startswith _s1624_ "c.addi" then
- (match (string_drop _s1624_ (projT1 (string_length "c.addi"))) with
- | _s1625_ =>
- (spc_matches_prefix _s1625_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1626_ (_s1627_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1628_ := _s1627_ in
+ (if string_startswith _s1628_ "c.addi" then
+ (match (string_drop _s1628_ (projT1 (string_length "c.addi"))) with
+ | _s1629_ =>
+ (spc_matches_prefix _s1629_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1626_ _) =>
- (match (string_drop _s1625_ _s1626_) with
- | _s1627_ =>
- (reg_name_matches_prefix _s1627_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1630_ _) =>
+ (match (string_drop _s1629_ _s1630_) with
+ | _s1631_ =>
+ (reg_name_matches_prefix _s1631_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1628_ _) =>
- (match (string_drop _s1627_ _s1628_) with
- | _s1629_ =>
- (sep_matches_prefix _s1629_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1632_ _) =>
+ (match (string_drop _s1631_ _s1632_) with
+ | _s1633_ =>
+ (sep_matches_prefix _s1633_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1630_ _) =>
- match (string_drop _s1629_ _s1630_) with
- | _s1631_ =>
- match (hex_bits_6_matches_prefix _s1631_) with
- | Some (nzi, existT _ _s1632_ _) =>
- let p0_ := string_drop _s1631_ _s1632_ in
+ | Some (tt, existT _ _s1634_ _) =>
+ match (string_drop _s1633_ _s1634_) with
+ | _s1635_ =>
+ match (hex_bits_6_matches_prefix _s1635_) with
+ | Some (nzi, existT _ _s1636_ _) =>
+ let p0_ := string_drop _s1635_ _s1636_ in
if generic_eq p0_ "" then Some (rsd, nzi)
else None
| _ => None
@@ -30257,50 +30441,50 @@ Definition _s1622_ (_s1623_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1606_ (_s1607_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1608_ := _s1607_ in
- (if string_startswith _s1608_ "c.sd" then
- (match (string_drop _s1608_ (projT1 (string_length "c.sd"))) with
- | _s1609_ =>
- (spc_matches_prefix _s1609_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1610_ (_s1611_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1612_ := _s1611_ in
+ (if string_startswith _s1612_ "c.sd" then
+ (match (string_drop _s1612_ (projT1 (string_length "c.sd"))) with
+ | _s1613_ =>
+ (spc_matches_prefix _s1613_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1610_ _) =>
- (match (string_drop _s1609_ _s1610_) with
- | _s1611_ =>
- (creg_name_matches_prefix _s1611_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1614_ _) =>
+ (match (string_drop _s1613_ _s1614_) with
+ | _s1615_ =>
+ (creg_name_matches_prefix _s1615_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s1612_ _) =>
- (match (string_drop _s1611_ _s1612_) with
- | _s1613_ =>
- (sep_matches_prefix _s1613_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s1616_ _) =>
+ (match (string_drop _s1615_ _s1616_) with
+ | _s1617_ =>
+ (sep_matches_prefix _s1617_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1614_ _) =>
- (match (string_drop _s1613_ _s1614_) with
- | _s1615_ =>
- (creg_name_matches_prefix _s1615_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1618_ _) =>
+ (match (string_drop _s1617_ _s1618_) with
+ | _s1619_ =>
+ (creg_name_matches_prefix _s1619_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s1616_ _) =>
- (match (string_drop _s1615_ _s1616_) with
- | _s1617_ =>
- (sep_matches_prefix _s1617_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s1620_ _) =>
+ (match (string_drop _s1619_ _s1620_) with
+ | _s1621_ =>
+ (sep_matches_prefix _s1621_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1618_ _) =>
- match (string_drop _s1617_ _s1618_) with
- | _s1619_ =>
- match (hex_bits_8_matches_prefix _s1619_) with
- | Some (v__1082, existT _ _s1620_ _) =>
- if eq_vec (subrange_vec_dec v__1082 2 0)
+ | Some (tt, existT _ _s1622_ _) =>
+ match (string_drop _s1621_ _s1622_) with
+ | _s1623_ =>
+ match (hex_bits_8_matches_prefix _s1623_) with
+ | Some (v__1186, existT _ _s1624_ _) =>
+ if eq_vec (subrange_vec_dec v__1186 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1082 7 3 in
+ subrange_vec_dec v__1186 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1082 7 3 in
- let p0_ := string_drop _s1619_ _s1620_ in
+ subrange_vec_dec v__1186 7 3 in
+ let p0_ := string_drop _s1623_ _s1624_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -30335,50 +30519,50 @@ Definition _s1606_ (_s1607_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1590_ (_s1591_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1592_ := _s1591_ in
- (if string_startswith _s1592_ "c.sw" then
- (match (string_drop _s1592_ (projT1 (string_length "c.sw"))) with
- | _s1593_ =>
- (spc_matches_prefix _s1593_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1594_ (_s1595_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1596_ := _s1595_ in
+ (if string_startswith _s1596_ "c.sw" then
+ (match (string_drop _s1596_ (projT1 (string_length "c.sw"))) with
+ | _s1597_ =>
+ (spc_matches_prefix _s1597_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1594_ _) =>
- (match (string_drop _s1593_ _s1594_) with
- | _s1595_ =>
- (creg_name_matches_prefix _s1595_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1598_ _) =>
+ (match (string_drop _s1597_ _s1598_) with
+ | _s1599_ =>
+ (creg_name_matches_prefix _s1599_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s1596_ _) =>
- (match (string_drop _s1595_ _s1596_) with
- | _s1597_ =>
- (sep_matches_prefix _s1597_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s1600_ _) =>
+ (match (string_drop _s1599_ _s1600_) with
+ | _s1601_ =>
+ (sep_matches_prefix _s1601_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1598_ _) =>
- (match (string_drop _s1597_ _s1598_) with
- | _s1599_ =>
- (creg_name_matches_prefix _s1599_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1602_ _) =>
+ (match (string_drop _s1601_ _s1602_) with
+ | _s1603_ =>
+ (creg_name_matches_prefix _s1603_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s1600_ _) =>
- (match (string_drop _s1599_ _s1600_) with
- | _s1601_ =>
- (sep_matches_prefix _s1601_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s1604_ _) =>
+ (match (string_drop _s1603_ _s1604_) with
+ | _s1605_ =>
+ (sep_matches_prefix _s1605_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1602_ _) =>
- match (string_drop _s1601_ _s1602_) with
- | _s1603_ =>
- match (hex_bits_7_matches_prefix _s1603_) with
- | Some (v__1084, existT _ _s1604_ _) =>
- if eq_vec (subrange_vec_dec v__1084 1 0)
+ | Some (tt, existT _ _s1606_ _) =>
+ match (string_drop _s1605_ _s1606_) with
+ | _s1607_ =>
+ match (hex_bits_7_matches_prefix _s1607_) with
+ | Some (v__1188, existT _ _s1608_ _) =>
+ if eq_vec (subrange_vec_dec v__1188 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1084 6 2 in
+ subrange_vec_dec v__1188 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1084 6 2 in
- let p0_ := string_drop _s1603_ _s1604_ in
+ subrange_vec_dec v__1188 6 2 in
+ let p0_ := string_drop _s1607_ _s1608_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -30413,50 +30597,50 @@ Definition _s1590_ (_s1591_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1574_ (_s1575_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1576_ := _s1575_ in
- (if string_startswith _s1576_ "c.ld" then
- (match (string_drop _s1576_ (projT1 (string_length "c.ld"))) with
- | _s1577_ =>
- (spc_matches_prefix _s1577_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1578_ (_s1579_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1580_ := _s1579_ in
+ (if string_startswith _s1580_ "c.ld" then
+ (match (string_drop _s1580_ (projT1 (string_length "c.ld"))) with
+ | _s1581_ =>
+ (spc_matches_prefix _s1581_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1578_ _) =>
- (match (string_drop _s1577_ _s1578_) with
- | _s1579_ =>
- (creg_name_matches_prefix _s1579_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1582_ _) =>
+ (match (string_drop _s1581_ _s1582_) with
+ | _s1583_ =>
+ (creg_name_matches_prefix _s1583_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s1580_ _) =>
- (match (string_drop _s1579_ _s1580_) with
- | _s1581_ =>
- (sep_matches_prefix _s1581_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s1584_ _) =>
+ (match (string_drop _s1583_ _s1584_) with
+ | _s1585_ =>
+ (sep_matches_prefix _s1585_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1582_ _) =>
- (match (string_drop _s1581_ _s1582_) with
- | _s1583_ =>
- (creg_name_matches_prefix _s1583_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1586_ _) =>
+ (match (string_drop _s1585_ _s1586_) with
+ | _s1587_ =>
+ (creg_name_matches_prefix _s1587_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s1584_ _) =>
- (match (string_drop _s1583_ _s1584_) with
- | _s1585_ =>
- (sep_matches_prefix _s1585_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s1588_ _) =>
+ (match (string_drop _s1587_ _s1588_) with
+ | _s1589_ =>
+ (sep_matches_prefix _s1589_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1586_ _) =>
- match (string_drop _s1585_ _s1586_) with
- | _s1587_ =>
- match (hex_bits_8_matches_prefix _s1587_) with
- | Some (v__1086, existT _ _s1588_ _) =>
- if eq_vec (subrange_vec_dec v__1086 2 0)
+ | Some (tt, existT _ _s1590_ _) =>
+ match (string_drop _s1589_ _s1590_) with
+ | _s1591_ =>
+ match (hex_bits_8_matches_prefix _s1591_) with
+ | Some (v__1190, existT _ _s1592_ _) =>
+ if eq_vec (subrange_vec_dec v__1190 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1086 7 3 in
+ subrange_vec_dec v__1190 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1086 7 3 in
- let p0_ := string_drop _s1587_ _s1588_ in
+ subrange_vec_dec v__1190 7 3 in
+ let p0_ := string_drop _s1591_ _s1592_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -30491,50 +30675,50 @@ Definition _s1574_ (_s1575_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1558_ (_s1559_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1560_ := _s1559_ in
- (if string_startswith _s1560_ "c.lw" then
- (match (string_drop _s1560_ (projT1 (string_length "c.lw"))) with
- | _s1561_ =>
- (spc_matches_prefix _s1561_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1562_ (_s1563_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1564_ := _s1563_ in
+ (if string_startswith _s1564_ "c.lw" then
+ (match (string_drop _s1564_ (projT1 (string_length "c.lw"))) with
+ | _s1565_ =>
+ (spc_matches_prefix _s1565_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1562_ _) =>
- (match (string_drop _s1561_ _s1562_) with
- | _s1563_ =>
- (creg_name_matches_prefix _s1563_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1566_ _) =>
+ (match (string_drop _s1565_ _s1566_) with
+ | _s1567_ =>
+ (creg_name_matches_prefix _s1567_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s1564_ _) =>
- (match (string_drop _s1563_ _s1564_) with
- | _s1565_ =>
- (sep_matches_prefix _s1565_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s1568_ _) =>
+ (match (string_drop _s1567_ _s1568_) with
+ | _s1569_ =>
+ (sep_matches_prefix _s1569_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1566_ _) =>
- (match (string_drop _s1565_ _s1566_) with
- | _s1567_ =>
- (creg_name_matches_prefix _s1567_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1570_ _) =>
+ (match (string_drop _s1569_ _s1570_) with
+ | _s1571_ =>
+ (creg_name_matches_prefix _s1571_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s1568_ _) =>
- (match (string_drop _s1567_ _s1568_) with
- | _s1569_ =>
- (sep_matches_prefix _s1569_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s1572_ _) =>
+ (match (string_drop _s1571_ _s1572_) with
+ | _s1573_ =>
+ (sep_matches_prefix _s1573_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1570_ _) =>
- match (string_drop _s1569_ _s1570_) with
- | _s1571_ =>
- match (hex_bits_7_matches_prefix _s1571_) with
- | Some (v__1088, existT _ _s1572_ _) =>
- if eq_vec (subrange_vec_dec v__1088 1 0)
+ | Some (tt, existT _ _s1574_ _) =>
+ match (string_drop _s1573_ _s1574_) with
+ | _s1575_ =>
+ match (hex_bits_7_matches_prefix _s1575_) with
+ | Some (v__1192, existT _ _s1576_ _) =>
+ if eq_vec (subrange_vec_dec v__1192 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1088 6 2 in
+ subrange_vec_dec v__1192 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1088 6 2 in
- let p0_ := string_drop _s1571_ _s1572_ in
+ subrange_vec_dec v__1192 6 2 in
+ let p0_ := string_drop _s1575_ _s1576_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -30569,36 +30753,36 @@ Definition _s1558_ (_s1559_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1546_ (_s1547_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s1548_ := _s1547_ in
- (if string_startswith _s1548_ "c.addi4spn" then
- (match (string_drop _s1548_ (projT1 (string_length "c.addi4spn"))) with
- | _s1549_ =>
- (spc_matches_prefix _s1549_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1550_ (_s1551_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s1552_ := _s1551_ in
+ (if string_startswith _s1552_ "c.addi4spn" then
+ (match (string_drop _s1552_ (projT1 (string_length "c.addi4spn"))) with
+ | _s1553_ =>
+ (spc_matches_prefix _s1553_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1550_ _) =>
- (match (string_drop _s1549_ _s1550_) with
- | _s1551_ =>
- (creg_name_matches_prefix _s1551_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1554_ _) =>
+ (match (string_drop _s1553_ _s1554_) with
+ | _s1555_ =>
+ (creg_name_matches_prefix _s1555_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s1552_ _) =>
- (match (string_drop _s1551_ _s1552_) with
- | _s1553_ =>
- (sep_matches_prefix _s1553_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s1556_ _) =>
+ (match (string_drop _s1555_ _s1556_) with
+ | _s1557_ =>
+ (sep_matches_prefix _s1557_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1554_ _) =>
- match (string_drop _s1553_ _s1554_) with
- | _s1555_ =>
- match (hex_bits_10_matches_prefix _s1555_) with
- | Some (v__1090, existT _ _s1556_ _) =>
- if eq_vec (subrange_vec_dec v__1090 1 0)
+ | Some (tt, existT _ _s1558_ _) =>
+ match (string_drop _s1557_ _s1558_) with
+ | _s1559_ =>
+ match (hex_bits_10_matches_prefix _s1559_) with
+ | Some (v__1194, existT _ _s1560_ _) =>
+ if eq_vec (subrange_vec_dec v__1194 1 0)
('b"00"
: mword (1 - 0 + 1)) then
- let nzimm : mword 8 := subrange_vec_dec v__1090 9 2 in
- let nzimm : mword 8 := subrange_vec_dec v__1090 9 2 in
- let p0_ := string_drop _s1555_ _s1556_ in
+ let nzimm : mword 8 := subrange_vec_dec v__1194 9 2 in
+ let nzimm : mword 8 := subrange_vec_dec v__1194 9 2 in
+ let p0_ := string_drop _s1559_ _s1560_ in
if generic_eq p0_ "" then Some (rdc, nzimm)
else None
else None
@@ -30622,95 +30806,95 @@ Definition _s1546_ (_s1547_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s1520_ (_s1521_ : string)
+Definition _s1524_ (_s1525_ : string)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s1521_ with
- | _s1522_ =>
- (amo_mnemonic_matches_prefix _s1522_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
+ (match _s1525_ with
+ | _s1526_ =>
+ (amo_mnemonic_matches_prefix _s1526_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1523_ _) =>
- let _s1524_ := string_drop _s1522_ _s1523_ in
- (if string_startswith _s1524_ "." then
- (match (string_drop _s1524_ (projT1 (string_length "."))) with
- | _s1525_ =>
- (size_mnemonic_matches_prefix _s1525_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1527_ _) =>
+ let _s1528_ := string_drop _s1526_ _s1527_ in
+ (if string_startswith _s1528_ "." then
+ (match (string_drop _s1528_ (projT1 (string_length "."))) with
+ | _s1529_ =>
+ (size_mnemonic_matches_prefix _s1529_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (width, existT _ _s1526_ _) =>
- (match (string_drop _s1525_ _s1526_) with
- | _s1527_ =>
- (maybe_aq_matches_prefix _s1527_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s1530_ _) =>
+ (match (string_drop _s1529_ _s1530_) with
+ | _s1531_ =>
+ (maybe_aq_matches_prefix _s1531_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s1528_ _) =>
- (match (string_drop _s1527_ _s1528_) with
- | _s1529_ =>
- (maybe_rl_matches_prefix _s1529_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1532_ _) =>
+ (match (string_drop _s1531_ _s1532_) with
+ | _s1533_ =>
+ (maybe_rl_matches_prefix _s1533_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s1530_ _) =>
- (match (string_drop _s1529_ _s1530_) with
- | _s1531_ =>
- (spc_matches_prefix _s1531_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1534_ _) =>
+ (match (string_drop _s1533_ _s1534_) with
+ | _s1535_ =>
+ (spc_matches_prefix _s1535_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s1532_ _) =>
- (match (string_drop _s1531_ _s1532_) with
- | _s1533_ =>
- (reg_name_matches_prefix _s1533_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1536_ _) =>
+ (match (string_drop _s1535_ _s1536_) with
+ | _s1537_ =>
+ (reg_name_matches_prefix _s1537_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s1534_ _) =>
- (match (string_drop _s1533_ _s1534_) with
- | _s1535_ =>
- (sep_matches_prefix _s1535_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1538_ _) =>
+ (match (string_drop _s1537_ _s1538_) with
+ | _s1539_ =>
+ (sep_matches_prefix _s1539_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s1536_ _) =>
- (match (string_drop _s1535_ _s1536_) with
- | _s1537_ =>
- (reg_name_matches_prefix _s1537_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1540_ _) =>
+ (match (string_drop _s1539_ _s1540_) with
+ | _s1541_ =>
+ (reg_name_matches_prefix _s1541_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (rs2, existT _ _s1538_ _) =>
- (match (string_drop _s1537_
- _s1538_) with
- | _s1539_ =>
+ | Some (rs2, existT _ _s1542_ _) =>
+ (match (string_drop _s1541_
+ _s1542_) with
+ | _s1543_ =>
(sep_matches_prefix
- _s1539_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1543_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s1540_ _) =>
- let _s1541_ :=
- string_drop _s1539_
- _s1540_ in
+ (tt, existT _ _s1544_ _) =>
+ let _s1545_ :=
+ string_drop _s1543_
+ _s1544_ in
(if string_startswith
- _s1541_ "(" then
+ _s1545_ "(" then
(match (string_drop
- _s1541_
+ _s1545_
(projT1
(string_length
"("))) with
- | _s1542_ =>
+ | _s1546_ =>
(reg_name_matches_prefix
- _s1542_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1546_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (rs1, existT _ _s1543_ _) =>
- let _s1544_ :=
+ (rs1, existT _ _s1547_ _) =>
+ let _s1548_ :=
string_drop
- _s1542_
- _s1543_ in
+ _s1546_
+ _s1547_ in
if string_startswith
- _s1544_
+ _s1548_
")"
then
let p0_ :=
string_drop
- _s1544_
+ _s1548_
(projT1
(string_length
")")) in
@@ -30780,71 +30964,71 @@ Definition _s1520_ (_s1521_ : string)
end)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s1498_ (_s1499_ : string)
+Definition _s1502_ (_s1503_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- let _s1500_ := _s1499_ in
- (if string_startswith _s1500_ "sc." then
- (match (string_drop _s1500_ (projT1 (string_length "sc."))) with
- | _s1501_ =>
- (size_mnemonic_matches_prefix _s1501_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s1504_ := _s1503_ in
+ (if string_startswith _s1504_ "sc." then
+ (match (string_drop _s1504_ (projT1 (string_length "sc."))) with
+ | _s1505_ =>
+ (size_mnemonic_matches_prefix _s1505_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1502_ _) =>
- (match (string_drop _s1501_ _s1502_) with
- | _s1503_ =>
- (maybe_aq_matches_prefix _s1503_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1506_ _) =>
+ (match (string_drop _s1505_ _s1506_) with
+ | _s1507_ =>
+ (maybe_aq_matches_prefix _s1507_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s1504_ _) =>
- (match (string_drop _s1503_ _s1504_) with
- | _s1505_ =>
- (maybe_rl_matches_prefix _s1505_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1508_ _) =>
+ (match (string_drop _s1507_ _s1508_) with
+ | _s1509_ =>
+ (maybe_rl_matches_prefix _s1509_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s1506_ _) =>
- (match (string_drop _s1505_ _s1506_) with
- | _s1507_ =>
- (spc_matches_prefix _s1507_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1510_ _) =>
+ (match (string_drop _s1509_ _s1510_) with
+ | _s1511_ =>
+ (spc_matches_prefix _s1511_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1508_ _) =>
- (match (string_drop _s1507_ _s1508_) with
- | _s1509_ =>
- (reg_name_matches_prefix _s1509_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1512_ _) =>
+ (match (string_drop _s1511_ _s1512_) with
+ | _s1513_ =>
+ (reg_name_matches_prefix _s1513_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s1510_ _) =>
- (match (string_drop _s1509_ _s1510_) with
- | _s1511_ =>
- (sep_matches_prefix _s1511_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1514_ _) =>
+ (match (string_drop _s1513_ _s1514_) with
+ | _s1515_ =>
+ (sep_matches_prefix _s1515_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1512_ _) =>
- (match (string_drop _s1511_ _s1512_) with
- | _s1513_ =>
- (reg_name_matches_prefix _s1513_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1516_ _) =>
+ (match (string_drop _s1515_ _s1516_) with
+ | _s1517_ =>
+ (reg_name_matches_prefix _s1517_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs1, existT _ _s1514_ _) =>
- (match (string_drop _s1513_ _s1514_) with
- | _s1515_ =>
- (sep_matches_prefix _s1515_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1518_ _) =>
+ (match (string_drop _s1517_ _s1518_) with
+ | _s1519_ =>
+ (sep_matches_prefix _s1519_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s1516_ _) =>
- (match (string_drop _s1515_
- _s1516_) with
- | _s1517_ =>
+ | Some (tt, existT _ _s1520_ _) =>
+ (match (string_drop _s1519_
+ _s1520_) with
+ | _s1521_ =>
(reg_name_matches_prefix
- _s1517_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1521_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rs2, existT _ _s1518_ _) =>
+ (rs2, existT _ _s1522_ _) =>
let p0_ :=
string_drop
- _s1517_
- _s1518_ in
+ _s1521_
+ _s1522_ in
if generic_eq
p0_ ""
then
@@ -30898,53 +31082,53 @@ Definition _s1498_ (_s1499_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s1480_ (_s1481_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
- let _s1482_ := _s1481_ in
- (if string_startswith _s1482_ "lr." then
- (match (string_drop _s1482_ (projT1 (string_length "lr."))) with
- | _s1483_ =>
- (size_mnemonic_matches_prefix _s1483_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s1484_ (_s1485_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
+ let _s1486_ := _s1485_ in
+ (if string_startswith _s1486_ "lr." then
+ (match (string_drop _s1486_ (projT1 (string_length "lr."))) with
+ | _s1487_ =>
+ (size_mnemonic_matches_prefix _s1487_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1484_ _) =>
- (match (string_drop _s1483_ _s1484_) with
- | _s1485_ =>
- (maybe_aq_matches_prefix _s1485_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1488_ _) =>
+ (match (string_drop _s1487_ _s1488_) with
+ | _s1489_ =>
+ (maybe_aq_matches_prefix _s1489_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s1486_ _) =>
- (match (string_drop _s1485_ _s1486_) with
- | _s1487_ =>
- (maybe_rl_matches_prefix _s1487_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1490_ _) =>
+ (match (string_drop _s1489_ _s1490_) with
+ | _s1491_ =>
+ (maybe_rl_matches_prefix _s1491_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s1488_ _) =>
- (match (string_drop _s1487_ _s1488_) with
- | _s1489_ =>
- (spc_matches_prefix _s1489_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1492_ _) =>
+ (match (string_drop _s1491_ _s1492_) with
+ | _s1493_ =>
+ (spc_matches_prefix _s1493_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1490_ _) =>
- (match (string_drop _s1489_ _s1490_) with
- | _s1491_ =>
- (reg_name_matches_prefix _s1491_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1494_ _) =>
+ (match (string_drop _s1493_ _s1494_) with
+ | _s1495_ =>
+ (reg_name_matches_prefix _s1495_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s1492_ _) =>
- (match (string_drop _s1491_ _s1492_) with
- | _s1493_ =>
- (sep_matches_prefix _s1493_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1496_ _) =>
+ (match (string_drop _s1495_ _s1496_) with
+ | _s1497_ =>
+ (sep_matches_prefix _s1497_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1494_ _) =>
- (match (string_drop _s1493_ _s1494_) with
- | _s1495_ =>
- (reg_name_matches_prefix _s1495_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1498_ _) =>
+ (match (string_drop _s1497_ _s1498_) with
+ | _s1499_ =>
+ (reg_name_matches_prefix _s1499_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s1496_ _) =>
+ | Some (rs1, existT _ _s1500_ _) =>
let p0_ :=
- string_drop _s1495_ _s1496_ in
+ string_drop _s1499_ _s1500_ in
if generic_eq p0_ "" then
Some (size, aq, rl, rd, rs1)
else None
@@ -30985,33 +31169,33 @@ Definition _s1480_ (_s1481_ : string) : M (option ((word_width * bool * bool * m
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5))).
-Definition _s1468_ (_s1469_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s1470_ := _s1469_ in
- (if string_startswith _s1470_ "sfence.vma" then
- (match (string_drop _s1470_ (projT1 (string_length "sfence.vma"))) with
- | _s1471_ =>
- (spc_matches_prefix _s1471_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1472_ (_s1473_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s1474_ := _s1473_ in
+ (if string_startswith _s1474_ "sfence.vma" then
+ (match (string_drop _s1474_ (projT1 (string_length "sfence.vma"))) with
+ | _s1475_ =>
+ (spc_matches_prefix _s1475_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1472_ _) =>
- (match (string_drop _s1471_ _s1472_) with
- | _s1473_ =>
- (reg_name_matches_prefix _s1473_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1476_ _) =>
+ (match (string_drop _s1475_ _s1476_) with
+ | _s1477_ =>
+ (reg_name_matches_prefix _s1477_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs1, existT _ _s1474_ _) =>
- (match (string_drop _s1473_ _s1474_) with
- | _s1475_ =>
- (sep_matches_prefix _s1475_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1478_ _) =>
+ (match (string_drop _s1477_ _s1478_) with
+ | _s1479_ =>
+ (sep_matches_prefix _s1479_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1476_ _) =>
- (match (string_drop _s1475_ _s1476_) with
- | _s1477_ =>
- (reg_name_matches_prefix _s1477_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1480_ _) =>
+ (match (string_drop _s1479_ _s1480_) with
+ | _s1481_ =>
+ (reg_name_matches_prefix _s1481_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1478_ _) =>
- let p0_ := string_drop _s1477_ _s1478_ in
+ | Some (rs2, existT _ _s1482_ _) =>
+ let p0_ := string_drop _s1481_ _s1482_ in
if generic_eq p0_ "" then Some (rs1, rs2)
else None
| _ => None
@@ -31036,33 +31220,33 @@ Definition _s1468_ (_s1469_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s1456_ (_s1457_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s1458_ := _s1457_ in
- (if string_startswith _s1458_ "fence.tso" then
- (match (string_drop _s1458_ (projT1 (string_length "fence.tso"))) with
- | _s1459_ =>
- (spc_matches_prefix _s1459_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1460_ (_s1461_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s1462_ := _s1461_ in
+ (if string_startswith _s1462_ "fence.tso" then
+ (match (string_drop _s1462_ (projT1 (string_length "fence.tso"))) with
+ | _s1463_ =>
+ (spc_matches_prefix _s1463_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1460_ _) =>
- (match (string_drop _s1459_ _s1460_) with
- | _s1461_ =>
- (fence_bits_matches_prefix _s1461_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1464_ _) =>
+ (match (string_drop _s1463_ _s1464_) with
+ | _s1465_ =>
+ (fence_bits_matches_prefix _s1465_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s1462_ _) =>
- (match (string_drop _s1461_ _s1462_) with
- | _s1463_ =>
- (sep_matches_prefix _s1463_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s1466_ _) =>
+ (match (string_drop _s1465_ _s1466_) with
+ | _s1467_ =>
+ (sep_matches_prefix _s1467_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1464_ _) =>
- (match (string_drop _s1463_ _s1464_) with
- | _s1465_ =>
- (fence_bits_matches_prefix _s1465_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1468_ _) =>
+ (match (string_drop _s1467_ _s1468_) with
+ | _s1469_ =>
+ (fence_bits_matches_prefix _s1469_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s1466_ _) =>
- let p0_ := string_drop _s1465_ _s1466_ in
+ | Some (succ, existT _ _s1470_ _) =>
+ let p0_ := string_drop _s1469_ _s1470_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -31087,33 +31271,33 @@ Definition _s1456_ (_s1457_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s1444_ (_s1445_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s1446_ := _s1445_ in
- (if string_startswith _s1446_ "fence" then
- (match (string_drop _s1446_ (projT1 (string_length "fence"))) with
- | _s1447_ =>
- (spc_matches_prefix _s1447_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1448_ (_s1449_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s1450_ := _s1449_ in
+ (if string_startswith _s1450_ "fence" then
+ (match (string_drop _s1450_ (projT1 (string_length "fence"))) with
+ | _s1451_ =>
+ (spc_matches_prefix _s1451_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1448_ _) =>
- (match (string_drop _s1447_ _s1448_) with
- | _s1449_ =>
- (fence_bits_matches_prefix _s1449_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1452_ _) =>
+ (match (string_drop _s1451_ _s1452_) with
+ | _s1453_ =>
+ (fence_bits_matches_prefix _s1453_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s1450_ _) =>
- (match (string_drop _s1449_ _s1450_) with
- | _s1451_ =>
- (sep_matches_prefix _s1451_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s1454_ _) =>
+ (match (string_drop _s1453_ _s1454_) with
+ | _s1455_ =>
+ (sep_matches_prefix _s1455_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1452_ _) =>
- (match (string_drop _s1451_ _s1452_) with
- | _s1453_ =>
- (fence_bits_matches_prefix _s1453_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1456_ _) =>
+ (match (string_drop _s1455_ _s1456_) with
+ | _s1457_ =>
+ (fence_bits_matches_prefix _s1457_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s1454_ _) =>
- let p0_ := string_drop _s1453_ _s1454_ in
+ | Some (succ, existT _ _s1458_ _) =>
+ let p0_ := string_drop _s1457_ _s1458_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -31138,50 +31322,50 @@ Definition _s1444_ (_s1445_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s1427_ (_s1428_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
- (match _s1428_ with
- | _s1429_ =>
- (shiftiwop_mnemonic_matches_prefix _s1429_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
+Definition _s1431_ (_s1432_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
+ (match _s1432_ with
+ | _s1433_ =>
+ (shiftiwop_mnemonic_matches_prefix _s1433_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1430_ _) =>
- (match (string_drop _s1429_ _s1430_) with
- | _s1431_ =>
- (spc_matches_prefix _s1431_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1434_ _) =>
+ (match (string_drop _s1433_ _s1434_) with
+ | _s1435_ =>
+ (spc_matches_prefix _s1435_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1432_ _) =>
- (match (string_drop _s1431_ _s1432_) with
- | _s1433_ =>
- (reg_name_matches_prefix _s1433_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1436_ _) =>
+ (match (string_drop _s1435_ _s1436_) with
+ | _s1437_ =>
+ (reg_name_matches_prefix _s1437_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1434_ _) =>
- (match (string_drop _s1433_ _s1434_) with
- | _s1435_ =>
- (sep_matches_prefix _s1435_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1438_ _) =>
+ (match (string_drop _s1437_ _s1438_) with
+ | _s1439_ =>
+ (sep_matches_prefix _s1439_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1436_ _) =>
- (match (string_drop _s1435_ _s1436_) with
- | _s1437_ =>
- (reg_name_matches_prefix _s1437_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1440_ _) =>
+ (match (string_drop _s1439_ _s1440_) with
+ | _s1441_ =>
+ (reg_name_matches_prefix _s1441_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1438_ _) =>
- (match (string_drop _s1437_ _s1438_) with
- | _s1439_ =>
- (sep_matches_prefix _s1439_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1442_ _) =>
+ (match (string_drop _s1441_ _s1442_) with
+ | _s1443_ =>
+ (sep_matches_prefix _s1443_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1440_ _) =>
- match (string_drop _s1439_ _s1440_) with
- | _s1441_ =>
+ | Some (tt, existT _ _s1444_ _) =>
+ match (string_drop _s1443_ _s1444_) with
+ | _s1445_ =>
match (hex_bits_5_matches_prefix
- _s1441_) with
- | Some (shamt, existT _ _s1442_ _) =>
+ _s1445_) with
+ | Some (shamt, existT _ _s1446_ _) =>
let p0_ :=
- string_drop _s1441_ _s1442_ in
+ string_drop _s1445_ _s1446_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -31218,51 +31402,51 @@ Definition _s1427_ (_s1428_ : string) : M (option ((sopw * mword 5 * mword 5 * m
end)
: M (option ((sopw * mword 5 * mword 5 * mword 5))).
-Definition _s1410_ (_s1411_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
- (match _s1411_ with
- | _s1412_ =>
- (rtypew_mnemonic_matches_prefix _s1412_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
+Definition _s1414_ (_s1415_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
+ (match _s1415_ with
+ | _s1416_ =>
+ (rtypew_mnemonic_matches_prefix _s1416_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1413_ _) =>
- (match (string_drop _s1412_ _s1413_) with
- | _s1414_ =>
- (spc_matches_prefix _s1414_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1417_ _) =>
+ (match (string_drop _s1416_ _s1417_) with
+ | _s1418_ =>
+ (spc_matches_prefix _s1418_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1415_ _) =>
- (match (string_drop _s1414_ _s1415_) with
- | _s1416_ =>
- (reg_name_matches_prefix _s1416_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1419_ _) =>
+ (match (string_drop _s1418_ _s1419_) with
+ | _s1420_ =>
+ (reg_name_matches_prefix _s1420_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1417_ _) =>
- (match (string_drop _s1416_ _s1417_) with
- | _s1418_ =>
- (sep_matches_prefix _s1418_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1421_ _) =>
+ (match (string_drop _s1420_ _s1421_) with
+ | _s1422_ =>
+ (sep_matches_prefix _s1422_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1419_ _) =>
- (match (string_drop _s1418_ _s1419_) with
- | _s1420_ =>
- (reg_name_matches_prefix _s1420_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1423_ _) =>
+ (match (string_drop _s1422_ _s1423_) with
+ | _s1424_ =>
+ (reg_name_matches_prefix _s1424_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1421_ _) =>
- (match (string_drop _s1420_ _s1421_) with
- | _s1422_ =>
- (sep_matches_prefix _s1422_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1425_ _) =>
+ (match (string_drop _s1424_ _s1425_) with
+ | _s1426_ =>
+ (sep_matches_prefix _s1426_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1423_ _) =>
- (match (string_drop _s1422_ _s1423_) with
- | _s1424_ =>
- (reg_name_matches_prefix _s1424_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1427_ _) =>
+ (match (string_drop _s1426_ _s1427_) with
+ | _s1428_ =>
+ (reg_name_matches_prefix _s1428_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s1425_ _) =>
+ | Some (rs2, existT _ _s1429_ _) =>
let p0_ :=
- string_drop _s1424_ _s1425_ in
+ string_drop _s1428_ _s1429_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -31301,50 +31485,50 @@ Definition _s1410_ (_s1411_ : string) : M (option ((ropw * mword 5 * mword 5 * m
end)
: M (option ((ropw * mword 5 * mword 5 * mword 5))).
-Definition _s1393_ (_s1394_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
- (match _s1394_ with
- | _s1395_ =>
- (shiftw_mnemonic_matches_prefix _s1395_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s1397_ (_s1398_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
+ (match _s1398_ with
+ | _s1399_ =>
+ (shiftw_mnemonic_matches_prefix _s1399_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1396_ _) =>
- (match (string_drop _s1395_ _s1396_) with
- | _s1397_ =>
- (spc_matches_prefix _s1397_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1400_ _) =>
+ (match (string_drop _s1399_ _s1400_) with
+ | _s1401_ =>
+ (spc_matches_prefix _s1401_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1398_ _) =>
- (match (string_drop _s1397_ _s1398_) with
- | _s1399_ =>
- (reg_name_matches_prefix _s1399_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1402_ _) =>
+ (match (string_drop _s1401_ _s1402_) with
+ | _s1403_ =>
+ (reg_name_matches_prefix _s1403_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1400_ _) =>
- (match (string_drop _s1399_ _s1400_) with
- | _s1401_ =>
- (sep_matches_prefix _s1401_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1404_ _) =>
+ (match (string_drop _s1403_ _s1404_) with
+ | _s1405_ =>
+ (sep_matches_prefix _s1405_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1402_ _) =>
- (match (string_drop _s1401_ _s1402_) with
- | _s1403_ =>
- (reg_name_matches_prefix _s1403_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1406_ _) =>
+ (match (string_drop _s1405_ _s1406_) with
+ | _s1407_ =>
+ (reg_name_matches_prefix _s1407_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1404_ _) =>
- (match (string_drop _s1403_ _s1404_) with
- | _s1405_ =>
- (sep_matches_prefix _s1405_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1408_ _) =>
+ (match (string_drop _s1407_ _s1408_) with
+ | _s1409_ =>
+ (sep_matches_prefix _s1409_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1406_ _) =>
- match (string_drop _s1405_ _s1406_) with
- | _s1407_ =>
+ | Some (tt, existT _ _s1410_ _) =>
+ match (string_drop _s1409_ _s1410_) with
+ | _s1411_ =>
match (hex_bits_5_matches_prefix
- _s1407_) with
- | Some (shamt, existT _ _s1408_ _) =>
+ _s1411_) with
+ | Some (shamt, existT _ _s1412_ _) =>
let p0_ :=
- string_drop _s1407_ _s1408_ in
+ string_drop _s1411_ _s1412_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -31381,43 +31565,43 @@ Definition _s1393_ (_s1394_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 5))).
-Definition _s1377_ (_s1378_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s1379_ := _s1378_ in
- (if string_startswith _s1379_ "addiw" then
- (match (string_drop _s1379_ (projT1 (string_length "addiw"))) with
- | _s1380_ =>
- (spc_matches_prefix _s1380_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1381_ (_s1382_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s1383_ := _s1382_ in
+ (if string_startswith _s1383_ "addiw" then
+ (match (string_drop _s1383_ (projT1 (string_length "addiw"))) with
+ | _s1384_ =>
+ (spc_matches_prefix _s1384_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1381_ _) =>
- (match (string_drop _s1380_ _s1381_) with
- | _s1382_ =>
- (reg_name_matches_prefix _s1382_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1385_ _) =>
+ (match (string_drop _s1384_ _s1385_) with
+ | _s1386_ =>
+ (reg_name_matches_prefix _s1386_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1383_ _) =>
- (match (string_drop _s1382_ _s1383_) with
- | _s1384_ =>
- (sep_matches_prefix _s1384_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1387_ _) =>
+ (match (string_drop _s1386_ _s1387_) with
+ | _s1388_ =>
+ (sep_matches_prefix _s1388_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1385_ _) =>
- (match (string_drop _s1384_ _s1385_) with
- | _s1386_ =>
- (reg_name_matches_prefix _s1386_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1389_ _) =>
+ (match (string_drop _s1388_ _s1389_) with
+ | _s1390_ =>
+ (reg_name_matches_prefix _s1390_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s1387_ _) =>
- (match (string_drop _s1386_ _s1387_) with
- | _s1388_ =>
- (sep_matches_prefix _s1388_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1391_ _) =>
+ (match (string_drop _s1390_ _s1391_) with
+ | _s1392_ =>
+ (sep_matches_prefix _s1392_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1389_ _) =>
- match (string_drop _s1388_ _s1389_) with
- | _s1390_ =>
- match (hex_bits_12_matches_prefix _s1390_) with
- | Some (imm, existT _ _s1391_ _) =>
- let p0_ := string_drop _s1390_ _s1391_ in
+ | Some (tt, existT _ _s1393_ _) =>
+ match (string_drop _s1392_ _s1393_) with
+ | _s1394_ =>
+ match (hex_bits_12_matches_prefix _s1394_) with
+ | Some (imm, existT _ _s1395_ _) =>
+ let p0_ := string_drop _s1394_ _s1395_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -31451,103 +31635,103 @@ Definition _s1377_ (_s1378_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s1349_ (_s1350_ : string)
+Definition _s1353_ (_s1354_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s1351_ := _s1350_ in
- (if string_startswith _s1351_ "s" then
- (match (string_drop _s1351_ (projT1 (string_length "s"))) with
- | _s1352_ =>
- (size_mnemonic_matches_prefix _s1352_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s1355_ := _s1354_ in
+ (if string_startswith _s1355_ "s" then
+ (match (string_drop _s1355_ (projT1 (string_length "s"))) with
+ | _s1356_ =>
+ (size_mnemonic_matches_prefix _s1356_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1353_ _) =>
- (match (string_drop _s1352_ _s1353_) with
- | _s1354_ =>
- (maybe_aq_matches_prefix _s1354_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1357_ _) =>
+ (match (string_drop _s1356_ _s1357_) with
+ | _s1358_ =>
+ (maybe_aq_matches_prefix _s1358_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s1355_ _) =>
- (match (string_drop _s1354_ _s1355_) with
- | _s1356_ =>
- (maybe_rl_matches_prefix _s1356_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1359_ _) =>
+ (match (string_drop _s1358_ _s1359_) with
+ | _s1360_ =>
+ (maybe_rl_matches_prefix _s1360_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s1357_ _) =>
- (match (string_drop _s1356_ _s1357_) with
- | _s1358_ =>
- (spc_matches_prefix _s1358_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1361_ _) =>
+ (match (string_drop _s1360_ _s1361_) with
+ | _s1362_ =>
+ (spc_matches_prefix _s1362_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1359_ _) =>
- (match (string_drop _s1358_ _s1359_) with
- | _s1360_ =>
- (reg_name_matches_prefix _s1360_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1363_ _) =>
+ (match (string_drop _s1362_ _s1363_) with
+ | _s1364_ =>
+ (reg_name_matches_prefix _s1364_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s1361_ _) =>
- (match (string_drop _s1360_ _s1361_) with
- | _s1362_ =>
- (sep_matches_prefix _s1362_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s1365_ _) =>
+ (match (string_drop _s1364_ _s1365_) with
+ | _s1366_ =>
+ (sep_matches_prefix _s1366_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1363_ _) =>
- (match (string_drop _s1362_ _s1363_) with
- | _s1364_ =>
- (match (hex_bits_12_matches_prefix _s1364_) with
- | Some (imm, existT _ _s1365_ _) =>
- (match (string_drop _s1364_ _s1365_) with
- | _s1366_ =>
- (opt_spc_matches_prefix _s1366_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1367_ _) =>
+ (match (string_drop _s1366_ _s1367_) with
+ | _s1368_ =>
+ (match (hex_bits_12_matches_prefix _s1368_) with
+ | Some (imm, existT _ _s1369_ _) =>
+ (match (string_drop _s1368_ _s1369_) with
+ | _s1370_ =>
+ (opt_spc_matches_prefix _s1370_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s1367_ _) =>
- let _s1368_ :=
- string_drop _s1366_ _s1367_ in
- (if string_startswith _s1368_
+ | Some (tt, existT _ _s1371_ _) =>
+ let _s1372_ :=
+ string_drop _s1370_ _s1371_ in
+ (if string_startswith _s1372_
"(" then
- (match (string_drop _s1368_
+ (match (string_drop _s1372_
(projT1
(string_length
"("))) with
- | _s1369_ =>
+ | _s1373_ =>
(opt_spc_matches_prefix
- _s1369_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1373_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s1370_ _) =>
+ (tt, existT _ _s1374_ _) =>
(match (string_drop
- _s1369_
- _s1370_) with
- | _s1371_ =>
+ _s1373_
+ _s1374_) with
+ | _s1375_ =>
(reg_name_matches_prefix
- _s1371_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1375_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs1, existT _ _s1372_ _) =>
+ (rs1, existT _ _s1376_ _) =>
(match (string_drop
- _s1371_
- _s1372_) with
- | _s1373_ =>
+ _s1375_
+ _s1376_) with
+ | _s1377_ =>
(opt_spc_matches_prefix
- _s1373_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1377_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (tt, existT _ _s1374_ _) =>
- let _s1375_ :=
+ (tt, existT _ _s1378_ _) =>
+ let _s1379_ :=
string_drop
- _s1373_
- _s1374_ in
+ _s1377_
+ _s1378_ in
if
string_startswith
- _s1375_
+ _s1379_
")"
then
let p0_ :=
string_drop
- _s1375_
+ _s1379_
(projT1
(string_length
")")) in
@@ -31623,115 +31807,115 @@ Definition _s1349_ (_s1350_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s1319_ (_s1320_ : string)
+Definition _s1323_ (_s1324_ : string)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s1321_ := _s1320_ in
- (if string_startswith _s1321_ "l" then
- (match (string_drop _s1321_ (projT1 (string_length "l"))) with
- | _s1322_ =>
- (size_mnemonic_matches_prefix _s1322_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s1325_ := _s1324_ in
+ (if string_startswith _s1325_ "l" then
+ (match (string_drop _s1325_ (projT1 (string_length "l"))) with
+ | _s1326_ =>
+ (size_mnemonic_matches_prefix _s1326_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1323_ _) =>
- (match (string_drop _s1322_ _s1323_) with
- | _s1324_ =>
- (maybe_u_matches_prefix _s1324_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1327_ _) =>
+ (match (string_drop _s1326_ _s1327_) with
+ | _s1328_ =>
+ (maybe_u_matches_prefix _s1328_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (is_unsigned, existT _ _s1325_ _) =>
- (match (string_drop _s1324_ _s1325_) with
- | _s1326_ =>
- (maybe_aq_matches_prefix _s1326_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (is_unsigned, existT _ _s1329_ _) =>
+ (match (string_drop _s1328_ _s1329_) with
+ | _s1330_ =>
+ (maybe_aq_matches_prefix _s1330_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s1327_ _) =>
- (match (string_drop _s1326_ _s1327_) with
- | _s1328_ =>
- (maybe_rl_matches_prefix _s1328_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1331_ _) =>
+ (match (string_drop _s1330_ _s1331_) with
+ | _s1332_ =>
+ (maybe_rl_matches_prefix _s1332_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s1329_ _) =>
- (match (string_drop _s1328_ _s1329_) with
- | _s1330_ =>
- (spc_matches_prefix _s1330_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1333_ _) =>
+ (match (string_drop _s1332_ _s1333_) with
+ | _s1334_ =>
+ (spc_matches_prefix _s1334_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s1331_ _) =>
- (match (string_drop _s1330_ _s1331_) with
- | _s1332_ =>
- (reg_name_matches_prefix _s1332_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1335_ _) =>
+ (match (string_drop _s1334_ _s1335_) with
+ | _s1336_ =>
+ (reg_name_matches_prefix _s1336_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s1333_ _) =>
- (match (string_drop _s1332_ _s1333_) with
- | _s1334_ =>
- (sep_matches_prefix _s1334_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1337_ _) =>
+ (match (string_drop _s1336_ _s1337_) with
+ | _s1338_ =>
+ (sep_matches_prefix _s1338_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s1335_ _) =>
- (match (string_drop _s1334_ _s1335_) with
- | _s1336_ =>
+ | Some (tt, existT _ _s1339_ _) =>
+ (match (string_drop _s1338_ _s1339_) with
+ | _s1340_ =>
(match (hex_bits_12_matches_prefix
- _s1336_) with
- | Some (imm, existT _ _s1337_ _) =>
- (match (string_drop _s1336_
- _s1337_) with
- | _s1338_ =>
+ _s1340_) with
+ | Some (imm, existT _ _s1341_ _) =>
+ (match (string_drop _s1340_
+ _s1341_) with
+ | _s1342_ =>
(opt_spc_matches_prefix
- _s1338_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1342_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s1339_ _) =>
- let _s1340_ :=
- string_drop _s1338_
- _s1339_ in
+ (tt, existT _ _s1343_ _) =>
+ let _s1344_ :=
+ string_drop _s1342_
+ _s1343_ in
(if string_startswith
- _s1340_ "(" then
+ _s1344_ "(" then
(match (string_drop
- _s1340_
+ _s1344_
(projT1
(string_length
"("))) with
- | _s1341_ =>
+ | _s1345_ =>
(opt_spc_matches_prefix
- _s1341_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1345_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s1342_ _) =>
+ (tt, existT _ _s1346_ _) =>
(match (string_drop
- _s1341_
- _s1342_) with
- | _s1343_ =>
+ _s1345_
+ _s1346_) with
+ | _s1347_ =>
(reg_name_matches_prefix
- _s1343_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1347_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (rs1, existT _ _s1344_ _) =>
+ (rs1, existT _ _s1348_ _) =>
(match (string_drop
- _s1343_
- _s1344_) with
- | _s1345_ =>
+ _s1347_
+ _s1348_) with
+ | _s1349_ =>
(opt_spc_matches_prefix
- _s1345_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1349_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (tt, existT _ _s1346_ _) =>
- let _s1347_ :=
+ (tt, existT _ _s1350_ _) =>
+ let _s1351_ :=
string_drop
- _s1345_
- _s1346_ in
+ _s1349_
+ _s1350_ in
if
string_startswith
- _s1347_
+ _s1351_
")"
then
let p0_ :=
string_drop
- _s1347_
+ _s1351_
(projT1
(string_length
")")) in
@@ -31813,51 +31997,51 @@ Definition _s1319_ (_s1320_ : string)
else returnm None)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s1302_ (_s1303_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
- (match _s1303_ with
- | _s1304_ =>
- (rtype_mnemonic_matches_prefix _s1304_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
+Definition _s1306_ (_s1307_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
+ (match _s1307_ with
+ | _s1308_ =>
+ (rtype_mnemonic_matches_prefix _s1308_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1305_ _) =>
- (match (string_drop _s1304_ _s1305_) with
- | _s1306_ =>
- (spc_matches_prefix _s1306_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1309_ _) =>
+ (match (string_drop _s1308_ _s1309_) with
+ | _s1310_ =>
+ (spc_matches_prefix _s1310_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1307_ _) =>
- (match (string_drop _s1306_ _s1307_) with
- | _s1308_ =>
- (reg_name_matches_prefix _s1308_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1311_ _) =>
+ (match (string_drop _s1310_ _s1311_) with
+ | _s1312_ =>
+ (reg_name_matches_prefix _s1312_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1309_ _) =>
- (match (string_drop _s1308_ _s1309_) with
- | _s1310_ =>
- (sep_matches_prefix _s1310_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1313_ _) =>
+ (match (string_drop _s1312_ _s1313_) with
+ | _s1314_ =>
+ (sep_matches_prefix _s1314_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1311_ _) =>
- (match (string_drop _s1310_ _s1311_) with
- | _s1312_ =>
- (reg_name_matches_prefix _s1312_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1315_ _) =>
+ (match (string_drop _s1314_ _s1315_) with
+ | _s1316_ =>
+ (reg_name_matches_prefix _s1316_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1313_ _) =>
- (match (string_drop _s1312_ _s1313_) with
- | _s1314_ =>
- (sep_matches_prefix _s1314_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1317_ _) =>
+ (match (string_drop _s1316_ _s1317_) with
+ | _s1318_ =>
+ (sep_matches_prefix _s1318_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1315_ _) =>
- (match (string_drop _s1314_ _s1315_) with
- | _s1316_ =>
- (reg_name_matches_prefix _s1316_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1319_ _) =>
+ (match (string_drop _s1318_ _s1319_) with
+ | _s1320_ =>
+ (reg_name_matches_prefix _s1320_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s1317_ _) =>
+ | Some (rs2, existT _ _s1321_ _) =>
let p0_ :=
- string_drop _s1316_ _s1317_ in
+ string_drop _s1320_ _s1321_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -31896,50 +32080,50 @@ Definition _s1302_ (_s1303_ : string) : M (option ((rop * mword 5 * mword 5 * mw
end)
: M (option ((rop * mword 5 * mword 5 * mword 5))).
-Definition _s1285_ (_s1286_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
- (match _s1286_ with
- | _s1287_ =>
- (shiftiop_mnemonic_matches_prefix _s1287_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s1289_ (_s1290_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
+ (match _s1290_ with
+ | _s1291_ =>
+ (shiftiop_mnemonic_matches_prefix _s1291_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1288_ _) =>
- (match (string_drop _s1287_ _s1288_) with
- | _s1289_ =>
- (spc_matches_prefix _s1289_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1292_ _) =>
+ (match (string_drop _s1291_ _s1292_) with
+ | _s1293_ =>
+ (spc_matches_prefix _s1293_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1290_ _) =>
- (match (string_drop _s1289_ _s1290_) with
- | _s1291_ =>
- (reg_name_matches_prefix _s1291_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1294_ _) =>
+ (match (string_drop _s1293_ _s1294_) with
+ | _s1295_ =>
+ (reg_name_matches_prefix _s1295_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1292_ _) =>
- (match (string_drop _s1291_ _s1292_) with
- | _s1293_ =>
- (sep_matches_prefix _s1293_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1296_ _) =>
+ (match (string_drop _s1295_ _s1296_) with
+ | _s1297_ =>
+ (sep_matches_prefix _s1297_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1294_ _) =>
- (match (string_drop _s1293_ _s1294_) with
- | _s1295_ =>
- (reg_name_matches_prefix _s1295_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1298_ _) =>
+ (match (string_drop _s1297_ _s1298_) with
+ | _s1299_ =>
+ (reg_name_matches_prefix _s1299_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1296_ _) =>
- (match (string_drop _s1295_ _s1296_) with
- | _s1297_ =>
- (sep_matches_prefix _s1297_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1300_ _) =>
+ (match (string_drop _s1299_ _s1300_) with
+ | _s1301_ =>
+ (sep_matches_prefix _s1301_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1298_ _) =>
- match (string_drop _s1297_ _s1298_) with
- | _s1299_ =>
+ | Some (tt, existT _ _s1302_ _) =>
+ match (string_drop _s1301_ _s1302_) with
+ | _s1303_ =>
match (hex_bits_6_matches_prefix
- _s1299_) with
- | Some (shamt, existT _ _s1300_ _) =>
+ _s1303_) with
+ | Some (shamt, existT _ _s1304_ _) =>
let p0_ :=
- string_drop _s1299_ _s1300_ in
+ string_drop _s1303_ _s1304_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -31976,50 +32160,50 @@ Definition _s1285_ (_s1286_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 6))).
-Definition _s1268_ (_s1269_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
- (match _s1269_ with
- | _s1270_ =>
- (itype_mnemonic_matches_prefix _s1270_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
+Definition _s1272_ (_s1273_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
+ (match _s1273_ with
+ | _s1274_ =>
+ (itype_mnemonic_matches_prefix _s1274_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1271_ _) =>
- (match (string_drop _s1270_ _s1271_) with
- | _s1272_ =>
- (spc_matches_prefix _s1272_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1275_ _) =>
+ (match (string_drop _s1274_ _s1275_) with
+ | _s1276_ =>
+ (spc_matches_prefix _s1276_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1273_ _) =>
- (match (string_drop _s1272_ _s1273_) with
- | _s1274_ =>
- (reg_name_matches_prefix _s1274_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1277_ _) =>
+ (match (string_drop _s1276_ _s1277_) with
+ | _s1278_ =>
+ (reg_name_matches_prefix _s1278_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1275_ _) =>
- (match (string_drop _s1274_ _s1275_) with
- | _s1276_ =>
- (sep_matches_prefix _s1276_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1279_ _) =>
+ (match (string_drop _s1278_ _s1279_) with
+ | _s1280_ =>
+ (sep_matches_prefix _s1280_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1277_ _) =>
- (match (string_drop _s1276_ _s1277_) with
- | _s1278_ =>
- (reg_name_matches_prefix _s1278_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1281_ _) =>
+ (match (string_drop _s1280_ _s1281_) with
+ | _s1282_ =>
+ (reg_name_matches_prefix _s1282_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1279_ _) =>
- (match (string_drop _s1278_ _s1279_) with
- | _s1280_ =>
- (sep_matches_prefix _s1280_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1283_ _) =>
+ (match (string_drop _s1282_ _s1283_) with
+ | _s1284_ =>
+ (sep_matches_prefix _s1284_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1281_ _) =>
- match (string_drop _s1280_ _s1281_) with
- | _s1282_ =>
+ | Some (tt, existT _ _s1285_ _) =>
+ match (string_drop _s1284_ _s1285_) with
+ | _s1286_ =>
match (hex_bits_12_matches_prefix
- _s1282_) with
- | Some (imm, existT _ _s1283_ _) =>
+ _s1286_) with
+ | Some (imm, existT _ _s1287_ _) =>
let p0_ :=
- string_drop _s1282_ _s1283_ in
+ string_drop _s1286_ _s1287_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, imm)
else None
@@ -32056,50 +32240,50 @@ Definition _s1268_ (_s1269_ : string) : M (option ((iop * mword 5 * mword 5 * mw
end)
: M (option ((iop * mword 5 * mword 5 * mword 12))).
-Definition _s1251_ (_s1252_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
- (match _s1252_ with
- | _s1253_ =>
- (btype_mnemonic_matches_prefix _s1253_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
+Definition _s1255_ (_s1256_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
+ (match _s1256_ with
+ | _s1257_ =>
+ (btype_mnemonic_matches_prefix _s1257_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1254_ _) =>
- (match (string_drop _s1253_ _s1254_) with
- | _s1255_ =>
- (spc_matches_prefix _s1255_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1258_ _) =>
+ (match (string_drop _s1257_ _s1258_) with
+ | _s1259_ =>
+ (spc_matches_prefix _s1259_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1256_ _) =>
- (match (string_drop _s1255_ _s1256_) with
- | _s1257_ =>
- (reg_name_matches_prefix _s1257_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1260_ _) =>
+ (match (string_drop _s1259_ _s1260_) with
+ | _s1261_ =>
+ (reg_name_matches_prefix _s1261_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs1, existT _ _s1258_ _) =>
- (match (string_drop _s1257_ _s1258_) with
- | _s1259_ =>
- (sep_matches_prefix _s1259_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1262_ _) =>
+ (match (string_drop _s1261_ _s1262_) with
+ | _s1263_ =>
+ (sep_matches_prefix _s1263_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1260_ _) =>
- (match (string_drop _s1259_ _s1260_) with
- | _s1261_ =>
- (reg_name_matches_prefix _s1261_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1264_ _) =>
+ (match (string_drop _s1263_ _s1264_) with
+ | _s1265_ =>
+ (reg_name_matches_prefix _s1265_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s1262_ _) =>
- (match (string_drop _s1261_ _s1262_) with
- | _s1263_ =>
- (sep_matches_prefix _s1263_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s1266_ _) =>
+ (match (string_drop _s1265_ _s1266_) with
+ | _s1267_ =>
+ (sep_matches_prefix _s1267_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1264_ _) =>
- match (string_drop _s1263_ _s1264_) with
- | _s1265_ =>
+ | Some (tt, existT _ _s1268_ _) =>
+ match (string_drop _s1267_ _s1268_) with
+ | _s1269_ =>
match (hex_bits_13_matches_prefix
- _s1265_) with
- | Some (imm, existT _ _s1266_ _) =>
+ _s1269_) with
+ | Some (imm, existT _ _s1270_ _) =>
let p0_ :=
- string_drop _s1265_ _s1266_ in
+ string_drop _s1269_ _s1270_ in
if generic_eq p0_ "" then
Some (op, rs1, rs2, imm)
else None
@@ -32136,43 +32320,43 @@ Definition _s1251_ (_s1252_ : string) : M (option ((bop * mword 5 * mword 5 * mw
end)
: M (option ((bop * mword 5 * mword 5 * mword 13))).
-Definition _s1235_ (_s1236_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s1237_ := _s1236_ in
- (if string_startswith _s1237_ "jalr" then
- (match (string_drop _s1237_ (projT1 (string_length "jalr"))) with
- | _s1238_ =>
- (spc_matches_prefix _s1238_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1239_ (_s1240_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s1241_ := _s1240_ in
+ (if string_startswith _s1241_ "jalr" then
+ (match (string_drop _s1241_ (projT1 (string_length "jalr"))) with
+ | _s1242_ =>
+ (spc_matches_prefix _s1242_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1239_ _) =>
- (match (string_drop _s1238_ _s1239_) with
- | _s1240_ =>
- (reg_name_matches_prefix _s1240_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1243_ _) =>
+ (match (string_drop _s1242_ _s1243_) with
+ | _s1244_ =>
+ (reg_name_matches_prefix _s1244_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1241_ _) =>
- (match (string_drop _s1240_ _s1241_) with
- | _s1242_ =>
- (sep_matches_prefix _s1242_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1245_ _) =>
+ (match (string_drop _s1244_ _s1245_) with
+ | _s1246_ =>
+ (sep_matches_prefix _s1246_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1243_ _) =>
- (match (string_drop _s1242_ _s1243_) with
- | _s1244_ =>
- (reg_name_matches_prefix _s1244_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1247_ _) =>
+ (match (string_drop _s1246_ _s1247_) with
+ | _s1248_ =>
+ (reg_name_matches_prefix _s1248_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s1245_ _) =>
- (match (string_drop _s1244_ _s1245_) with
- | _s1246_ =>
- (sep_matches_prefix _s1246_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1249_ _) =>
+ (match (string_drop _s1248_ _s1249_) with
+ | _s1250_ =>
+ (sep_matches_prefix _s1250_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1247_ _) =>
- match (string_drop _s1246_ _s1247_) with
- | _s1248_ =>
- match (hex_bits_12_matches_prefix _s1248_) with
- | Some (imm, existT _ _s1249_ _) =>
- let p0_ := string_drop _s1248_ _s1249_ in
+ | Some (tt, existT _ _s1251_ _) =>
+ match (string_drop _s1250_ _s1251_) with
+ | _s1252_ =>
+ match (hex_bits_12_matches_prefix _s1252_) with
+ | Some (imm, existT _ _s1253_ _) =>
+ let p0_ := string_drop _s1252_ _s1253_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -32206,31 +32390,31 @@ Definition _s1235_ (_s1236_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s1223_ (_s1224_ : string) : M (option ((mword 5 * mword 21))) :=
- let _s1225_ := _s1224_ in
- (if string_startswith _s1225_ "jal" then
- (match (string_drop _s1225_ (projT1 (string_length "jal"))) with
- | _s1226_ =>
- (spc_matches_prefix _s1226_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1227_ (_s1228_ : string) : M (option ((mword 5 * mword 21))) :=
+ let _s1229_ := _s1228_ in
+ (if string_startswith _s1229_ "jal" then
+ (match (string_drop _s1229_ (projT1 (string_length "jal"))) with
+ | _s1230_ =>
+ (spc_matches_prefix _s1230_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1227_ _) =>
- (match (string_drop _s1226_ _s1227_) with
- | _s1228_ =>
- (reg_name_matches_prefix _s1228_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1231_ _) =>
+ (match (string_drop _s1230_ _s1231_) with
+ | _s1232_ =>
+ (reg_name_matches_prefix _s1232_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1229_ _) =>
- (match (string_drop _s1228_ _s1229_) with
- | _s1230_ =>
- (sep_matches_prefix _s1230_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1233_ _) =>
+ (match (string_drop _s1232_ _s1233_) with
+ | _s1234_ =>
+ (sep_matches_prefix _s1234_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1231_ _) =>
- match (string_drop _s1230_ _s1231_) with
- | _s1232_ =>
- match (hex_bits_21_matches_prefix _s1232_) with
- | Some (imm, existT _ _s1233_ _) =>
- let p0_ := string_drop _s1232_ _s1233_ in
+ | Some (tt, existT _ _s1235_ _) =>
+ match (string_drop _s1234_ _s1235_) with
+ | _s1236_ =>
+ match (hex_bits_21_matches_prefix _s1236_) with
+ | Some (imm, existT _ _s1237_ _) =>
+ let p0_ := string_drop _s1236_ _s1237_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -32253,36 +32437,36 @@ Definition _s1223_ (_s1224_ : string) : M (option ((mword 5 * mword 21))) :=
else returnm None)
: M (option ((mword 5 * mword 21))).
-Definition _s1210_ (_s1211_ : string) : M (option ((uop * mword 5 * mword 20))) :=
- (match _s1211_ with
- | _s1212_ =>
- (utype_mnemonic_matches_prefix _s1212_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
+Definition _s1214_ (_s1215_ : string) : M (option ((uop * mword 5 * mword 20))) :=
+ (match _s1215_ with
+ | _s1216_ =>
+ (utype_mnemonic_matches_prefix _s1216_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1213_ _) =>
- (match (string_drop _s1212_ _s1213_) with
- | _s1214_ =>
- (spc_matches_prefix _s1214_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1217_ _) =>
+ (match (string_drop _s1216_ _s1217_) with
+ | _s1218_ =>
+ (spc_matches_prefix _s1218_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1215_ _) =>
- (match (string_drop _s1214_ _s1215_) with
- | _s1216_ =>
- (reg_name_matches_prefix _s1216_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1219_ _) =>
+ (match (string_drop _s1218_ _s1219_) with
+ | _s1220_ =>
+ (reg_name_matches_prefix _s1220_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1217_ _) =>
- (match (string_drop _s1216_ _s1217_) with
- | _s1218_ =>
- (sep_matches_prefix _s1218_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1221_ _) =>
+ (match (string_drop _s1220_ _s1221_) with
+ | _s1222_ =>
+ (sep_matches_prefix _s1222_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (tt, existT _ _s1219_ _) =>
- match (string_drop _s1218_ _s1219_) with
- | _s1220_ =>
- match (hex_bits_20_matches_prefix _s1220_) with
- | Some (imm, existT _ _s1221_ _) =>
- let p0_ := string_drop _s1220_ _s1221_ in
+ | Some (tt, existT _ _s1223_ _) =>
+ match (string_drop _s1222_ _s1223_) with
+ | _s1224_ =>
+ match (hex_bits_20_matches_prefix _s1224_) with
+ | Some (imm, existT _ _s1225_ _) =>
+ let p0_ := string_drop _s1224_ _s1225_ in
if generic_eq p0_ "" then Some (op, rd, imm)
else None
| _ => None
@@ -32309,76 +32493,76 @@ Definition _s1210_ (_s1211_ : string) : M (option ((uop * mword 5 * mword 20)))
: M (option ((uop * mword 5 * mword 20))).
Definition assembly_backwards (arg_ : string) : M (ast) :=
- let _s1222_ := arg_ in
- (_s1210_ _s1222_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
+ let _s1226_ := arg_ in
+ (_s1214_ _s1226_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
(if match w__0 with | Some (op, rd, imm) => true | _ => false end then
- (_s1210_ _s1222_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
+ (_s1214_ _s1226_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
(match w__1 with
| Some (op, rd, imm) => returnm (UTYPE (imm, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1223_ _s1222_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
+ (_s1227_ _s1226_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
(if match w__4 with | Some (rd, imm) => true | _ => false end then
- (_s1223_ _s1222_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
+ (_s1227_ _s1226_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
(match w__5 with
| Some (rd, imm) => returnm (RISCV_JAL (imm, rd))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1235_ _s1222_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1239_ _s1226_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__8 with | Some (rd, rs1, imm) => true | _ => false end then
- (_s1235_ _s1222_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1239_ _s1226_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__9 with
| Some (rd, rs1, imm) => returnm (RISCV_JALR (imm, rs1, rd))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1251_ _s1222_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s1255_ _s1226_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(if match w__12 with | Some (op, rs1, rs2, imm) => true | _ => false end then
- (_s1251_ _s1222_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s1255_ _s1226_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(match w__13 with
| Some (op, rs1, rs2, imm) => returnm (BTYPE (imm, rs2, rs1, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1268_ _s1222_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s1272_ _s1226_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(if match w__16 with | Some (op, rd, rs1, imm) => true | _ => false end then
- (_s1268_ _s1222_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s1272_ _s1226_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(match w__17 with
| Some (op, rd, rs1, imm) => returnm (ITYPE (imm, rs1, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1285_ _s1222_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s1289_ _s1226_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(if match w__20 with | Some (op, rd, rs1, shamt) => true | _ => false end then
- (_s1285_ _s1222_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s1289_ _s1226_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(match w__21 with
| Some (op, rd, rs1, shamt) => returnm (SHIFTIOP (shamt, rs1, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1302_ _s1222_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s1306_ _s1226_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(if match w__24 with | Some (op, rd, rs1, rs2) => true | _ => false end then
- (_s1302_ _s1222_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s1306_ _s1226_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(match w__25 with
| Some (op, rd, rs1, rs2) => returnm (RTYPE (rs2, rs1, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1319_ _s1222_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1323_ _s1226_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__28 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) => true
| _ => false
end then
- (_s1319_ _s1222_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1323_ _s1226_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__29 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) =>
returnm (LOAD (imm, rs1, rd, is_unsigned, size, aq, rl))
@@ -32386,12 +32570,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1349_ _s1222_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1353_ _s1226_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__32 with
| Some (size, aq, rl, rs2, imm, rs1) => true
| _ => false
end then
- (_s1349_ _s1222_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1353_ _s1226_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__33 with
| Some (size, aq, rl, rs2, imm, rs1) =>
returnm (STORE (imm, rs2, rs1, size, aq, rl))
@@ -32399,24 +32583,24 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1377_ _s1222_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1381_ _s1226_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__36 with
| Some (rd, rs1, imm) => Z.eqb 32 64
| _ => false
end then
- (_s1377_ _s1222_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1381_ _s1226_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__37 with
| Some (rd, rs1, imm) => returnm (ADDIW (imm, rs1, rd))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1393_ _s1222_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s1397_ _s1226_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(if match w__40 with
| Some (op, rd, rs1, shamt) => Z.eqb 32 64
| _ => false
end then
- (_s1393_ _s1222_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s1397_ _s1226_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(match w__41 with
| Some (op, rd, rs1, shamt) =>
returnm (SHIFTW (shamt, rs1, rd, op))
@@ -32424,12 +32608,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1410_ _s1222_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s1414_ _s1226_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(if match w__44 with
| Some (op, rd, rs1, rs2) => Z.eqb 32 64
| _ => false
end then
- (_s1410_ _s1222_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s1414_ _s1226_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(match w__45 with
| Some (op, rd, rs1, rs2) =>
returnm (RTYPEW (rs2, rs1, rd, op))
@@ -32437,12 +32621,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1427_ _s1222_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s1431_ _s1226_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(if match w__48 with
| Some (op, rd, rs1, shamt) => Z.eqb 32 64
| _ => false
end then
- (_s1427_ _s1222_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s1431_ _s1226_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(match w__49 with
| Some (op, rd, rs1, shamt) =>
returnm (SHIFTIWOP (shamt, rs1, rd, op))
@@ -32450,48 +32634,48 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1444_ _s1222_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
+ (_s1448_ _s1226_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
(if match w__52 with
| Some (pred, succ) => true
| _ => false
end then
- (_s1444_ _s1222_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
+ (_s1448_ _s1226_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
(match w__53 with
| Some (pred, succ) => returnm (FENCE (pred, succ))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1456_ _s1222_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
+ (_s1460_ _s1226_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
(if match w__56 with
| Some (pred, succ) => true
| _ => false
end then
- (_s1456_ _s1222_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
+ (_s1460_ _s1226_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
(match w__57 with
| Some (pred, succ) =>
returnm (FENCE_TSO (pred, succ))
| _ => exit tt : M (ast)
end)
: M (ast)
- else if generic_eq _s1222_ "fence.i" then
+ else if generic_eq _s1226_ "fence.i" then
returnm (FENCEI tt)
- else if generic_eq _s1222_ "ecall" then
+ else if generic_eq _s1226_ "ecall" then
returnm (ECALL tt)
- else if generic_eq _s1222_ "mret" then
+ else if generic_eq _s1226_ "mret" then
returnm (MRET tt)
- else if generic_eq _s1222_ "sret" then
+ else if generic_eq _s1226_ "sret" then
returnm (SRET tt)
- else if generic_eq _s1222_ "ebreak" then
+ else if generic_eq _s1226_ "ebreak" then
returnm (EBREAK tt)
- else if generic_eq _s1222_ "wfi" then returnm (WFI tt)
+ else if generic_eq _s1226_ "wfi" then returnm (WFI tt)
else
- (_s1468_ _s1222_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
+ (_s1472_ _s1226_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
(if match w__60 with
| Some (rs1, rs2) => true
| _ => false
end then
- (_s1468_ _s1222_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
+ (_s1472_ _s1226_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
(match w__61 with
| Some (rs1, rs2) =>
returnm (SFENCE_VMA (rs1, rs2))
@@ -32499,12 +32683,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1480_ _s1222_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s1484_ _s1226_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(if match w__64 with
| Some (size, aq, rl, rd, rs1) => true
| _ => false
end then
- (_s1480_ _s1222_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s1484_ _s1226_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(match w__65 with
| Some (size, aq, rl, rd, rs1) =>
returnm (LOADRES (aq, rl, rs1, size, rd))
@@ -32512,13 +32696,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1498_ _s1222_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1502_ _s1226_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__68 with
| Some (size, aq, rl, rd, rs1, rs2) =>
true
| _ => false
end then
- (_s1498_ _s1222_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1502_ _s1226_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__69 with
| Some (size, aq, rl, rd, rs1, rs2) =>
returnm (STORECON
@@ -32527,14 +32711,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1520_ _s1222_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1524_ _s1226_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__72 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
true
| _ => false
end then
- (_s1520_ _s1222_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1524_ _s1226_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__73 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
@@ -32543,16 +32727,16 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
| _ => exit tt : M (ast)
end)
: M (ast)
- else if generic_eq _s1222_ "c.nop" then
+ else if generic_eq _s1226_ "c.nop" then
returnm (C_NOP tt)
else
- (_s1546_ _s1222_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
+ (_s1550_ _s1226_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
(if match w__76 with
| Some (rdc, nzimm) =>
neq_vec nzimm (Ox"00" : mword 8)
| _ => false
end then
- (_s1546_ _s1222_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
+ (_s1550_ _s1226_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
(match w__77 with
| Some (rdc, nzimm) =>
returnm (C_ADDI4SPN (rdc, nzimm))
@@ -32560,12 +32744,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1558_ _s1222_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1562_ _s1226_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__80 with
| Some (rdc, rsc, uimm) => true
| _ => false
end then
- (_s1558_ _s1222_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1562_ _s1226_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__81 with
| Some (rdc, rsc, uimm) =>
returnm (C_LW (uimm, rsc, rdc))
@@ -32573,13 +32757,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1574_ _s1222_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1578_ _s1226_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__84 with
| Some (rdc, rsc, uimm) =>
Z.eqb 32 64
| _ => false
end then
- (_s1574_ _s1222_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1578_ _s1226_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__85 with
| Some (rdc, rsc, uimm) =>
returnm (C_LD
@@ -32588,13 +32772,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1590_ _s1222_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1594_ _s1226_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__88 with
| Some (rsc1, rsc2, uimm) =>
true
| _ => false
end then
- (_s1590_ _s1222_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1594_ _s1226_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__89 with
| Some (rsc1, rsc2, uimm) =>
returnm (C_SW
@@ -32603,14 +32787,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1606_ _s1222_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1610_ _s1226_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__92 with
| Some
(rsc1, rsc2, uimm) =>
Z.eqb 32 64
| _ => false
end then
- (_s1606_ _s1222_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1610_ _s1226_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__93 with
| Some
(rsc1, rsc2, uimm) =>
@@ -32621,7 +32805,7 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1622_ _s1222_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
+ (_s1626_ _s1226_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
(if match w__96 with
| Some (rsd, nzi) =>
andb
@@ -32632,7 +32816,7 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
zreg)
| _ => false
end then
- (_s1622_ _s1222_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
+ (_s1626_ _s1226_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
(match w__97 with
| Some (rsd, nzi) =>
returnm (C_ADDI
@@ -32642,13 +32826,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1634_ _s1222_) >>= fun w__100 : option (mword 11) =>
+ (_s1638_ _s1226_) >>= fun w__100 : option (mword 11) =>
(if match w__100 with
| Some imm =>
Z.eqb 32 32
| _ => false
end then
- (_s1634_ _s1222_) >>= fun w__101 : option (mword 11) =>
+ (_s1638_ _s1226_) >>= fun w__101 : option (mword 11) =>
(match w__101 with
| Some imm =>
returnm (C_JAL
@@ -32659,14 +32843,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1642_ _s1222_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
+ (_s1646_ _s1226_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
(if match w__104 with
| Some
(rsd, imm) =>
Z.eqb 32 64
| _ => false
end then
- (_s1642_ _s1222_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
+ (_s1646_ _s1226_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
(match w__105 with
| Some
(rsd, imm) =>
@@ -32678,7 +32862,7 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1654_ _s1222_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
+ (_s1658_ _s1226_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
(if match w__108 with
| Some
(rd, imm) =>
@@ -32686,8 +32870,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
rd zreg
| _ => false
end then
- (_s1654_
- _s1222_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
+ (_s1658_
+ _s1226_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
(match w__109 with
| Some
(rd, imm) =>
@@ -32699,8 +32883,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1666_
- _s1222_) >>= fun w__112 : option (mword 6) =>
+ (_s1670_
+ _s1226_) >>= fun w__112 : option (mword 6) =>
(if match w__112 with
| Some
imm =>
@@ -32711,8 +32895,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
| _ =>
false
end then
- (_s1666_
- _s1222_) >>= fun w__113 : option (mword 6) =>
+ (_s1670_
+ _s1226_) >>= fun w__113 : option (mword 6) =>
(match w__113 with
| Some
imm =>
@@ -32724,8 +32908,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1674_
- _s1222_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
+ (_s1678_
+ _s1226_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
(if match w__116 with
| Some
(rd, imm) =>
@@ -32745,8 +32929,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1674_
- _s1222_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
+ (_s1678_
+ _s1226_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
(match w__117 with
| Some
(rd, imm) =>
@@ -32758,8 +32942,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1686_
- _s1222_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
+ (_s1690_
+ _s1226_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
(if match w__120 with
| Some
(rsd, shamt) =>
@@ -32771,8 +32955,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1686_
- _s1222_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
+ (_s1690_
+ _s1226_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
(match w__121 with
| Some
(rsd, shamt) =>
@@ -32784,8 +32968,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1698_
- _s1222_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
+ (_s1702_
+ _s1226_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
(if match w__124 with
| Some
(rsd, shamt) =>
@@ -32797,8 +32981,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1698_
- _s1222_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
+ (_s1702_
+ _s1226_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
(match w__125 with
| Some
(rsd, shamt) =>
@@ -32810,8 +32994,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1710_
- _s1222_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
+ (_s1714_
+ _s1226_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
(if
match w__128 with
| Some
@@ -32821,8 +33005,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1710_
- _s1222_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
+ (_s1714_
+ _s1226_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
(match w__129 with
| Some
(rsd, imm) =>
@@ -32834,8 +33018,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1722_
- _s1222_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
+ (_s1726_
+ _s1226_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
(if
match w__132 with
| Some
@@ -32845,8 +33029,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1722_
- _s1222_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
+ (_s1726_
+ _s1226_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
(match w__133 with
| Some
(rsd, rs2) =>
@@ -32858,8 +33042,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1734_
- _s1222_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
+ (_s1738_
+ _s1226_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
(if
match w__136 with
| Some
@@ -32869,8 +33053,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1734_
- _s1222_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
+ (_s1738_
+ _s1226_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
(match w__137 with
| Some
(rsd, rs2) =>
@@ -32882,8 +33066,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1746_
- _s1222_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
+ (_s1750_
+ _s1226_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
(if
match w__140 with
| Some
@@ -32893,8 +33077,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1746_
- _s1222_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
+ (_s1750_
+ _s1226_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
(match w__141 with
| Some
(rsd, rs2) =>
@@ -32906,8 +33090,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1758_
- _s1222_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
+ (_s1762_
+ _s1226_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
(if
match w__144 with
| Some
@@ -32917,8 +33101,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1758_
- _s1222_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
+ (_s1762_
+ _s1226_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
(match w__145 with
| Some
(rsd, rs2) =>
@@ -32930,8 +33114,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1770_
- _s1222_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
+ (_s1774_
+ _s1226_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
(if
match w__148 with
| Some
@@ -32943,8 +33127,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1770_
- _s1222_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
+ (_s1774_
+ _s1226_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
(match w__149 with
| Some
(rsd, rs2) =>
@@ -32956,8 +33140,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1782_
- _s1222_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
+ (_s1786_
+ _s1226_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
(if
match w__152 with
| Some
@@ -32969,8 +33153,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1782_
- _s1222_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
+ (_s1786_
+ _s1226_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
(match w__153 with
| Some
(rsd, rs2) =>
@@ -32982,8 +33166,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1794_
- _s1222_) >>= fun w__156 : option (mword 11) =>
+ (_s1798_
+ _s1226_) >>= fun w__156 : option (mword 11) =>
(if
match w__156 with
| Some
@@ -32993,8 +33177,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1794_
- _s1222_) >>= fun w__157 : option (mword 11) =>
+ (_s1798_
+ _s1226_) >>= fun w__157 : option (mword 11) =>
(match w__157 with
| Some
imm =>
@@ -33006,8 +33190,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1802_
- _s1222_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
+ (_s1806_
+ _s1226_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
(if
match w__160 with
| Some
@@ -33017,8 +33201,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1802_
- _s1222_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
+ (_s1806_
+ _s1226_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
(match w__161 with
| Some
(rs, imm) =>
@@ -33030,8 +33214,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1814_
- _s1222_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
+ (_s1818_
+ _s1226_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
(if
match w__164 with
| Some
@@ -33041,8 +33225,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1814_
- _s1222_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
+ (_s1818_
+ _s1226_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
(match w__165 with
| Some
(rs, imm) =>
@@ -33054,8 +33238,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1826_
- _s1222_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
+ (_s1830_
+ _s1226_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
(if
match w__168 with
| Some
@@ -33072,8 +33256,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1826_
- _s1222_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
+ (_s1830_
+ _s1226_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
(match w__169 with
| Some
(rsd, shamt) =>
@@ -33085,8 +33269,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1838_
- _s1222_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
+ (_s1842_
+ _s1226_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
(if
match w__172 with
| Some
@@ -33098,8 +33282,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1838_
- _s1222_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
+ (_s1842_
+ _s1226_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
(match w__173 with
| Some
(rd, uimm) =>
@@ -33111,8 +33295,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1850_
- _s1222_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
+ (_s1854_
+ _s1226_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
(if
match w__176 with
| Some
@@ -33128,8 +33312,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1850_
- _s1222_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
+ (_s1854_
+ _s1226_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
(match w__177 with
| Some
(rd, uimm) =>
@@ -33141,8 +33325,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1862_
- _s1222_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
+ (_s1866_
+ _s1226_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
(if
match w__180 with
| Some
@@ -33152,8 +33336,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1862_
- _s1222_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
+ (_s1866_
+ _s1226_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
(match w__181 with
| Some
(rd, uimm) =>
@@ -33165,8 +33349,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1874_
- _s1222_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
+ (_s1878_
+ _s1226_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
(if
match w__184 with
| Some
@@ -33178,8 +33362,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1874_
- _s1222_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
+ (_s1878_
+ _s1226_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
(match w__185 with
| Some
(rs2, uimm) =>
@@ -33191,8 +33375,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1886_
- _s1222_) >>= fun w__188 : option (mword 5) =>
+ (_s1890_
+ _s1226_) >>= fun w__188 : option (mword 5) =>
(if
match w__188 with
| Some
@@ -33204,8 +33388,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1886_
- _s1222_) >>= fun w__189 : option (mword 5) =>
+ (_s1890_
+ _s1226_) >>= fun w__189 : option (mword 5) =>
(match w__189 with
| Some
rs1 =>
@@ -33217,8 +33401,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1894_
- _s1222_) >>= fun w__192 : option (mword 5) =>
+ (_s1898_
+ _s1226_) >>= fun w__192 : option (mword 5) =>
(if
match w__192 with
| Some
@@ -33230,8 +33414,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1894_
- _s1222_) >>= fun w__193 : option (mword 5) =>
+ (_s1898_
+ _s1226_) >>= fun w__193 : option (mword 5) =>
(match w__193 with
| Some
rs1 =>
@@ -33243,8 +33427,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1902_
- _s1222_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
+ (_s1906_
+ _s1226_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
(if
match w__196 with
| Some
@@ -33260,8 +33444,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1902_
- _s1222_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
+ (_s1906_
+ _s1226_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
(match w__197 with
| Some
(rd, rs2) =>
@@ -33274,14 +33458,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
: M (ast)
else if
generic_eq
- _s1222_
+ _s1226_
"c.ebreak"
then
returnm (C_EBREAK
tt)
else
- (_s1914_
- _s1222_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
+ (_s1918_
+ _s1226_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
(if
match w__200 with
| Some
@@ -33297,8 +33481,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1914_
- _s1222_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
+ (_s1918_
+ _s1226_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
(match w__201 with
| Some
(rsd, rs2) =>
@@ -33310,8 +33494,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1926_
- _s1222_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1930_
+ _s1226_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__204 with
| Some
@@ -33321,8 +33505,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1926_
- _s1222_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1930_
+ _s1226_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__205 with
| Some
(high, signed1, signed2, rd, rs1, rs2) =>
@@ -33334,8 +33518,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1943_
- _s1222_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1947_
+ _s1226_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__208 with
| Some
@@ -33345,8 +33529,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1943_
- _s1222_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1947_
+ _s1226_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__209 with
| Some
(s, rd, rs1, rs2) =>
@@ -33358,8 +33542,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1961_
- _s1222_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1965_
+ _s1226_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__212 with
| Some
@@ -33369,8 +33553,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1961_
- _s1222_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1965_
+ _s1226_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__213 with
| Some
(s, rd, rs1, rs2) =>
@@ -33382,8 +33566,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1979_
- _s1222_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s1983_
+ _s1226_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
(if
match w__216 with
| Some
@@ -33395,8 +33579,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1979_
- _s1222_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s1983_
+ _s1226_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
(match w__217 with
| Some
(rd, rs1, rs2) =>
@@ -33408,8 +33592,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1995_
- _s1222_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1999_
+ _s1226_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__220 with
| Some
@@ -33421,8 +33605,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1995_
- _s1222_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1999_
+ _s1226_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__221 with
| Some
(s, rd, rs1, rs2) =>
@@ -33434,8 +33618,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2014_
- _s1222_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2018_
+ _s1226_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__224 with
| Some
@@ -33447,8 +33631,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2014_
- _s1222_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2018_
+ _s1226_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__225 with
| Some
(s, rd, rs1, rs2) =>
@@ -33460,8 +33644,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2033_
- _s1222_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2037_
+ _s1226_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__228 with
| Some
@@ -33471,8 +33655,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2033_
- _s1222_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2037_
+ _s1226_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__229 with
| Some
(op, rd, csr, rs1) =>
@@ -33484,8 +33668,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2051_
- _s1222_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2055_
+ _s1226_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__232 with
| Some
@@ -33495,8 +33679,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2051_
- _s1222_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2055_
+ _s1226_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__233 with
| Some
(op, rd, csr, rs1) =>
@@ -33509,742 +33693,1050 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
: M (ast)
else if
generic_eq
- _s1222_
+ _s1226_
"uret"
then
returnm (URET
tt)
+ else if
+ match (_s2072_
+ _s1226_) with
+ | Some
+ imm =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (match (_s2072_
+ _s1226_) with
+ | Some
+ imm =>
+ returnm (C_NOP_HINT
+ imm)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
else
- (_s2068_
- _s1222_) >>= fun w__236 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s2078_
+ _s1226_) >>= fun w__238 : option (mword 5) =>
(if
- match w__236 with
+ match w__238 with
+ | Some
+ rsd =>
+ neq_vec
+ rsd
+ zreg
+ | _ =>
+ false
+ end
+ then
+ (_s2078_
+ _s1226_) >>= fun w__239 : option (mword 5) =>
+ (match w__239 with
+ | Some
+ rsd =>
+ returnm (C_ADDI_HINT
+ rsd)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else if
+ match (_s2084_
+ _s1226_) with
| Some
- (width, rd, imm, rs1) =>
+ imm =>
true
| _ =>
false
end
then
- (_s2068_
- _s1222_) >>= fun w__237 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__237 with
+ (match (_s2084_
+ _s1226_) with
| Some
- (width, rd, imm, rs1) =>
- returnm (LOAD_FP
- (imm, rs1, rd, width))
+ imm =>
+ returnm (C_LI_HINT
+ imm)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else if
+ match (_s2090_
+ _s1226_) with
+ | Some
+ imm =>
+ neq_vec
+ imm
+ ('b"000000"
+ : mword 6)
+ | _ =>
+ false
+ end
+ then
+ (match (_s2090_
+ _s1226_) with
+ | Some
+ imm =>
+ returnm (C_LUI_HINT
+ imm)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2092_
- _s1222_) >>= fun w__240 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s2096_
+ _s1226_) >>= fun w__246 : option (mword 5) =>
(if
- match w__240 with
+ match w__246 with
| Some
- (width, rs2, imm, rs1) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s2092_
- _s1222_) >>= fun w__241 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__241 with
+ (_s2096_
+ _s1226_) >>= fun w__247 : option (mword 5) =>
+ (match w__247 with
| Some
- (width, rs2, imm, rs1) =>
- returnm (STORE_FP
- (imm, rs2, rs1, width))
+ rs2 =>
+ returnm (C_MV_HINT
+ rs2)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2116_
- _s1222_) >>= fun w__244 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2102_
+ _s1226_) >>= fun w__250 : option (mword 5) =>
(if
- match w__244 with
+ match w__250 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s2116_
- _s1222_) >>= fun w__245 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__245 with
+ (_s2102_
+ _s1226_) >>= fun w__251 : option (mword 5) =>
+ (match w__251 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, op))
+ rs2 =>
+ returnm (C_ADD_HINT
+ rs2)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2141_
- _s1222_) >>= fun w__248 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2108_
+ _s1226_) >>= fun w__254 : option ((mword 5 * mword 6)) =>
(if
- match w__248 with
+ match w__254 with
| Some
- (op, rd, rs1, rs2, rm) =>
- true
+ (rsd, shamt) =>
+ orb
+ (eq_vec
+ shamt
+ ('b"000000"
+ : mword 6))
+ (eq_vec
+ rsd
+ zreg)
| _ =>
false
end
then
- (_s2141_
- _s1222_) >>= fun w__249 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__249 with
+ (_s2108_
+ _s1226_) >>= fun w__255 : option ((mword 5 * mword 6)) =>
+ (match w__255 with
| Some
- (op, rd, rs1, rs2, rm) =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, op))
+ (rsd, shamt) =>
+ returnm (C_SLLI_HINT
+ (shamt, rsd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2162_
- _s1222_) >>= fun w__252 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2117_
+ _s1226_) >>= fun w__258 : option (mword 3) =>
(if
- match w__252 with
+ match w__258 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s2162_
- _s1222_) >>= fun w__253 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__253 with
+ (_s2117_
+ _s1226_) >>= fun w__259 : option (mword 3) =>
+ (match w__259 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FSQRT_S))
+ rsd =>
+ returnm (C_SRLI_HINT
+ rsd)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2179_
- _s1222_) >>= fun w__256 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2123_
+ _s1226_) >>= fun w__262 : option (mword 3) =>
(if
- match w__256 with
+ match w__262 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s2179_
- _s1222_) >>= fun w__257 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__257 with
+ (_s2123_
+ _s1226_) >>= fun w__263 : option (mword 3) =>
+ (match w__263 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_W_S))
+ rsd =>
+ returnm (C_SRAI_HINT
+ rsd)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2196_
- _s1222_) >>= fun w__260 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2129_
+ _s1226_) >>= fun w__266 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
(if
- match w__260 with
+ match w__266 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
- true
+ (pred, succ, rs, rd, fm) =>
+ orb
+ (andb
+ (neq_vec
+ fm
+ (Ox"0"
+ : mword 4))
+ (neq_vec
+ fm
+ (Ox"8"
+ : mword 4)))
+ (orb
+ (neq_vec
+ rs
+ ('b"00000"
+ : mword 5))
+ (neq_vec
+ rd
+ ('b"00000"
+ : mword 5)))
| _ =>
false
end
then
- (_s2196_
- _s1222_) >>= fun w__261 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__261 with
+ (_s2129_
+ _s1226_) >>= fun w__267 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
+ (match w__267 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_WU_S))
+ (pred, succ, rs, rd, fm) =>
+ returnm (FENCE_RESERVED
+ (fm, pred, succ, rs, rd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2213_
- _s1222_) >>= fun w__264 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2147_
+ _s1226_) >>= fun w__270 : option ((mword 5 * mword 5 * mword 12)) =>
(if
- match w__264 with
+ match w__270 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
- true
+ (rd, rs, imm) =>
+ orb
+ (neq_vec
+ imm
+ (Ox"000"
+ : mword 12))
+ (orb
+ (neq_vec
+ rs
+ zreg)
+ (neq_vec
+ rd
+ zreg))
| _ =>
false
end
then
- (_s2213_
- _s1222_) >>= fun w__265 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__265 with
+ (_s2147_
+ _s1226_) >>= fun w__271 : option ((mword 5 * mword 5 * mword 12)) =>
+ (match w__271 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_W))
+ (rd, rs, imm) =>
+ returnm (FENCEI_RESERVED
+ (imm, rs, rd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2230_
- _s1222_) >>= fun w__268 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2159_
+ _s1226_) >>= fun w__274 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__268 with
+ match w__274 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
+ (width, rd, imm, rs1) =>
true
| _ =>
false
end
then
- (_s2230_
- _s1222_) >>= fun w__269 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__269 with
+ (_s2159_
+ _s1226_) >>= fun w__275 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__275 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_WU))
+ (width, rd, imm, rs1) =>
+ returnm (LOAD_FP
+ (imm, rs1, rd, width))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2247_
- _s1222_) >>= fun w__272 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2183_
+ _s1226_) >>= fun w__278 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__272 with
+ match w__278 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
+ (width, rs2, imm, rs1) =>
true
| _ =>
false
end
then
- (_s2247_
- _s1222_) >>= fun w__273 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__273 with
+ (_s2183_
+ _s1226_) >>= fun w__279 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__279 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_L_S))
+ (width, rs2, imm, rs1) =>
+ returnm (STORE_FP
+ (imm, rs2, rs1, width))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2264_
- _s1222_) >>= fun w__276 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2207_
+ _s1226_) >>= fun w__282 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__276 with
+ match w__282 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
true
| _ =>
false
end
then
- (_s2264_
- _s1222_) >>= fun w__277 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__277 with
+ (_s2207_
+ _s1226_) >>= fun w__283 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__283 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_LU_S))
+ (op, rd, rs1, rs2, rs3, rm) =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, op))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2281_
- _s1222_) >>= fun w__280 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2232_
+ _s1226_) >>= fun w__286 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__280 with
+ match w__286 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
true
| _ =>
false
end
then
- (_s2281_
- _s1222_) >>= fun w__281 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__281 with
+ (_s2232_
+ _s1226_) >>= fun w__287 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__287 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_L))
+ (op, rd, rs1, rs2, rm) =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, op))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2298_
- _s1222_) >>= fun w__284 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2253_
+ _s1226_) >>= fun w__290 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__284 with
+ match w__290 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2298_
- _s1222_) >>= fun w__285 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__285 with
+ (_s2253_
+ _s1226_) >>= fun w__291 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__291 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_LU))
+ (rs1, rm, rd, FSQRT_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2315_
- _s1222_) >>= fun w__288 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2270_
+ _s1226_) >>= fun w__294 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__288 with
+ match w__294 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
+ (FCVT_W_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2315_
- _s1222_) >>= fun w__289 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__289 with
+ (_s2270_
+ _s1226_) >>= fun w__295 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__295 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJ_S))
+ (FCVT_W_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_W_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2332_
- _s1222_) >>= fun w__292 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2287_
+ _s1226_) >>= fun w__298 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__292 with
+ match w__298 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
+ (FCVT_WU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2332_
- _s1222_) >>= fun w__293 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__293 with
+ (_s2287_
+ _s1226_) >>= fun w__299 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__299 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJN_S))
+ (FCVT_WU_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_WU_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2349_
- _s1222_) >>= fun w__296 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2304_
+ _s1226_) >>= fun w__302 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__296 with
+ match w__302 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
+ (FCVT_S_W, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2349_
- _s1222_) >>= fun w__297 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__297 with
+ (_s2304_
+ _s1226_) >>= fun w__303 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__303 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJX_S))
+ (FCVT_S_W, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_W))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2366_
- _s1222_) >>= fun w__300 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2321_
+ _s1226_) >>= fun w__306 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__300 with
+ match w__306 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
+ (FCVT_S_WU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2366_
- _s1222_) >>= fun w__301 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__301 with
+ (_s2321_
+ _s1226_) >>= fun w__307 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__307 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMIN_S))
+ (FCVT_S_WU, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_WU))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2383_
- _s1222_) >>= fun w__304 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2338_
+ _s1226_) >>= fun w__310 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__304 with
+ match w__310 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
+ (FCVT_L_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2383_
- _s1222_) >>= fun w__305 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__305 with
+ (_s2338_
+ _s1226_) >>= fun w__311 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__311 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMAX_S))
+ (FCVT_L_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_L_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2400_
- _s1222_) >>= fun w__308 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2355_
+ _s1226_) >>= fun w__314 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__308 with
+ match w__314 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
+ (FCVT_LU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2400_
- _s1222_) >>= fun w__309 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__309 with
+ (_s2355_
+ _s1226_) >>= fun w__315 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__315 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FEQ_S))
+ (FCVT_LU_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_LU_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2417_
- _s1222_) >>= fun w__312 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2372_
+ _s1226_) >>= fun w__318 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__312 with
+ match w__318 with
| Some
- (FLT_S, rd, rs1, rs2) =>
+ (FCVT_S_L, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2417_
- _s1222_) >>= fun w__313 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__313 with
+ (_s2372_
+ _s1226_) >>= fun w__319 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__319 with
| Some
- (FLT_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLT_S))
+ (FCVT_S_L, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_L))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2434_
- _s1222_) >>= fun w__316 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2389_
+ _s1226_) >>= fun w__322 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__316 with
+ match w__322 with
| Some
- (FLE_S, rd, rs1, rs2) =>
+ (FCVT_S_LU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2434_
- _s1222_) >>= fun w__317 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__317 with
+ (_s2389_
+ _s1226_) >>= fun w__323 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__323 with
| Some
- (FLE_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLE_S))
+ (FCVT_S_LU, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_LU))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2451_
- _s1222_) >>= fun w__320 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s2406_
+ _s1226_) >>= fun w__326 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__320 with
+ match w__326 with
| Some
- (FMV_X_W, rd, rs1) =>
+ (FSGNJ_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2451_
- _s1222_) >>= fun w__321 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__321 with
+ (_s2406_
+ _s1226_) >>= fun w__327 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__327 with
| Some
- (FMV_X_W, rd, rs1) =>
- returnm (F_UN_TYPE_S
- (rs1, rd, FMV_X_W))
+ (FSGNJ_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJ_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2464_
- _s1222_) >>= fun w__324 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s2423_
+ _s1226_) >>= fun w__330 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__324 with
+ match w__330 with
| Some
- (FMV_W_X, rd, rs1) =>
+ (FSGNJN_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2464_
- _s1222_) >>= fun w__325 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__325 with
+ (_s2423_
+ _s1226_) >>= fun w__331 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__331 with
| Some
- (FMV_W_X, rd, rs1) =>
- returnm (F_UN_TYPE_S
- (rs1, rd, FMV_W_X))
+ (FSGNJN_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJN_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2477_
- _s1222_) >>= fun w__328 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s2440_
+ _s1226_) >>= fun w__334 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__328 with
+ match w__334 with
| Some
- (FCLASS_S, rd, rs1) =>
+ (FSGNJX_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2477_
- _s1222_) >>= fun w__329 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__329 with
+ (_s2440_
+ _s1226_) >>= fun w__335 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__335 with
| Some
- (FCLASS_S, rd, rs1) =>
- returnm (F_UN_TYPE_S
- (rs1, rd, FCLASS_S))
+ (FSGNJX_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJX_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2490_
- _s1222_) >>= fun w__332 : option ((mword 5 * mword 6)) =>
+ (_s2457_
+ _s1226_) >>= fun w__338 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__332 with
+ match w__338 with
| Some
- (rd, imm) =>
- Z.eqb
- 32
- 32
+ (FMIN_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2490_
- _s1222_) >>= fun w__333 : option ((mword 5 * mword 6)) =>
- (match w__333 with
+ (_s2457_
+ _s1226_) >>= fun w__339 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__339 with
| Some
- (rd, imm) =>
- returnm (C_FLWSP
- (imm, rd))
+ (FMIN_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMIN_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2502_
- _s1222_) >>= fun w__336 : option ((mword 5 * mword 6)) =>
+ (_s2474_
+ _s1226_) >>= fun w__342 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__336 with
+ match w__342 with
| Some
- (rd, uimm) =>
- Z.eqb
- 32
- 32
+ (FMAX_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2502_
- _s1222_) >>= fun w__337 : option ((mword 5 * mword 6)) =>
- (match w__337 with
+ (_s2474_
+ _s1226_) >>= fun w__343 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__343 with
| Some
- (rd, uimm) =>
- returnm (C_FSWSP
- (uimm, rd))
+ (FMAX_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMAX_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2514_
- _s1222_) >>= fun w__340 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s2491_
+ _s1226_) >>= fun w__346 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__340 with
+ match w__346 with
| Some
- (rdc, rsc, uimm) =>
- Z.eqb
- 32
- 32
+ (FEQ_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2514_
- _s1222_) >>= fun w__341 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__341 with
+ (_s2491_
+ _s1226_) >>= fun w__347 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__347 with
| Some
- (rdc, rsc, uimm) =>
- returnm (C_FLW
- (uimm, rsc, rdc))
+ (FEQ_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FEQ_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2530_
- _s1222_) >>= fun w__344 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s2508_
+ _s1226_) >>= fun w__350 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__344 with
+ match w__350 with
| Some
- (rsc1, rsc2, uimm) =>
- Z.eqb
- 32
- 32
+ (FLT_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2530_
- _s1222_) >>= fun w__345 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__345 with
+ (_s2508_
+ _s1226_) >>= fun w__351 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__351 with
| Some
- (rsc1, rsc2, uimm) =>
- returnm (C_FSW
- (uimm, rsc1, rsc2))
+ (FLT_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLT_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2546_
- _s1222_) >>= fun w__348 : option (mword 32) =>
+ (_s2525_
+ _s1226_) >>= fun w__354 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__348 with
+ match w__354 with
| Some
- s =>
+ (FLE_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2546_
- _s1222_) >>= fun w__349 : option (mword 32) =>
- (match w__349 with
+ (_s2525_
+ _s1226_) >>= fun w__355 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__355 with
| Some
- s =>
- returnm (ILLEGAL
- s)
+ (FLE_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLE_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2554_
- _s1222_) >>= fun w__352 : option (mword 16) =>
+ (_s2542_
+ _s1226_) >>= fun w__358 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__352 with
+ match w__358 with
| Some
- s =>
+ (FMV_X_W, rd, rs1) =>
true
| _ =>
false
end
then
- (_s2554_
- _s1222_) >>= fun w__353 : option (mword 16) =>
- (match w__353 with
+ (_s2542_
+ _s1226_) >>= fun w__359 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__359 with
| Some
- s =>
- returnm (C_ILLEGAL
- s)
+ (FMV_X_W, rd, rs1) =>
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FMV_X_W))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- assert_exp' false "Pattern match failure at unknown location" >>= fun _ =>
- exit tt)
+ (_s2555_
+ _s1226_) >>= fun w__362 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (if
+ match w__362 with
+ | Some
+ (FMV_W_X, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s2555_
+ _s1226_) >>= fun w__363 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__363 with
+ | Some
+ (FMV_W_X, rd, rs1) =>
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FMV_W_X))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s2568_
+ _s1226_) >>= fun w__366 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (if
+ match w__366 with
+ | Some
+ (FCLASS_S, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s2568_
+ _s1226_) >>= fun w__367 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__367 with
+ | Some
+ (FCLASS_S, rd, rs1) =>
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FCLASS_S))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s2581_
+ _s1226_) >>= fun w__370 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__370 with
+ | Some
+ (rd, imm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s2581_
+ _s1226_) >>= fun w__371 : option ((mword 5 * mword 6)) =>
+ (match w__371 with
+ | Some
+ (rd, imm) =>
+ returnm (C_FLWSP
+ (imm, rd))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s2593_
+ _s1226_) >>= fun w__374 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__374 with
+ | Some
+ (rd, uimm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s2593_
+ _s1226_) >>= fun w__375 : option ((mword 5 * mword 6)) =>
+ (match w__375 with
+ | Some
+ (rd, uimm) =>
+ returnm (C_FSWSP
+ (uimm, rd))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s2605_
+ _s1226_) >>= fun w__378 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__378 with
+ | Some
+ (rdc, rsc, uimm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s2605_
+ _s1226_) >>= fun w__379 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__379 with
+ | Some
+ (rdc, rsc, uimm) =>
+ returnm (C_FLW
+ (uimm, rsc, rdc))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s2621_
+ _s1226_) >>= fun w__382 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__382 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s2621_
+ _s1226_) >>= fun w__383 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__383 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ returnm (C_FSW
+ (uimm, rsc1, rsc2))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s2637_
+ _s1226_) >>= fun w__386 : option (mword 32) =>
+ (if
+ match w__386 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s2637_
+ _s1226_) >>= fun w__387 : option (mword 32) =>
+ (match w__387 with
+ | Some
+ s =>
+ returnm (ILLEGAL
+ s)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s2645_
+ _s1226_) >>= fun w__390 : option (mword 16) =>
+ (if
+ match w__390 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s2645_
+ _s1226_) >>= fun w__391 : option (mword 16) =>
+ (match w__391 with
+ | Some
+ s =>
+ returnm (C_ILLEGAL
+ s)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ assert_exp' false "Pattern match failure at unknown location" >>= fun _ =>
+ exit tt)
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
: M (ast))
: M (ast))
: M (ast))
@@ -34411,6 +34903,24 @@ Definition assembly_forwards_matches (arg_ : ast) : bool :=
| CSR (csr, rs1, rd, true, op) => true
| CSR (csr, rs1, rd, false, op) => true
| URET tt => true
+ | C_NOP_HINT imm => true
+ | C_ADDI_HINT rsd => if neq_vec rsd zreg then true else false
+ | C_LI_HINT imm => true
+ | C_LUI_HINT imm => if neq_vec imm ('b"000000" : mword 6) then true else false
+ | C_MV_HINT rs2 => if neq_vec rs2 zreg then true else false
+ | C_ADD_HINT rs2 => if neq_vec rs2 zreg then true else false
+ | C_SLLI_HINT (shamt, rsd) =>
+ if orb (eq_vec shamt ('b"000000" : mword 6)) (eq_vec rsd zreg) then true else false
+ | C_SRLI_HINT rsd => true
+ | C_SRAI_HINT rsd => true
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5))) then
+ true
+ else false
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg)) then true
+ else false
| LOAD_FP (imm, rs1, rd, width) => true
| STORE_FP (imm, rs2, rs1, width) => true
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, op) => true
@@ -34443,19 +34953,19 @@ Definition assembly_forwards_matches (arg_ : ast) : bool :=
| C_ILLEGAL s => true
end.
-Definition _s3906_ (_s3907_ : string) : M (option (mword 16)) :=
- let _s3908_ := _s3907_ in
- (if string_startswith _s3908_ "c.illegal" then
- (match (string_drop _s3908_ (projT1 (string_length "c.illegal"))) with
- | _s3909_ =>
- (spc_matches_prefix _s3909_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4084_ (_s4085_ : string) : M (option (mword 16)) :=
+ let _s4086_ := _s4085_ in
+ (if string_startswith _s4086_ "c.illegal" then
+ (match (string_drop _s4086_ (projT1 (string_length "c.illegal"))) with
+ | _s4087_ =>
+ (spc_matches_prefix _s4087_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3910_ _) =>
- match (string_drop _s3909_ _s3910_) with
- | _s3911_ =>
- match (hex_bits_16_matches_prefix _s3911_) with
- | Some (s, existT _ _s3912_ _) =>
- let p0_ := string_drop _s3911_ _s3912_ in
+ | Some (tt, existT _ _s4088_ _) =>
+ match (string_drop _s4087_ _s4088_) with
+ | _s4089_ =>
+ match (hex_bits_16_matches_prefix _s4089_) with
+ | Some (s, existT _ _s4090_ _) =>
+ let p0_ := string_drop _s4089_ _s4090_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -34468,19 +34978,19 @@ Definition _s3906_ (_s3907_ : string) : M (option (mword 16)) :=
else returnm None)
: M (option (mword 16)).
-Definition _s3898_ (_s3899_ : string) : M (option (mword 32)) :=
- let _s3900_ := _s3899_ in
- (if string_startswith _s3900_ "illegal" then
- (match (string_drop _s3900_ (projT1 (string_length "illegal"))) with
- | _s3901_ =>
- (spc_matches_prefix _s3901_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4076_ (_s4077_ : string) : M (option (mword 32)) :=
+ let _s4078_ := _s4077_ in
+ (if string_startswith _s4078_ "illegal" then
+ (match (string_drop _s4078_ (projT1 (string_length "illegal"))) with
+ | _s4079_ =>
+ (spc_matches_prefix _s4079_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3902_ _) =>
- match (string_drop _s3901_ _s3902_) with
- | _s3903_ =>
- match (hex_bits_32_matches_prefix _s3903_) with
- | Some (s, existT _ _s3904_ _) =>
- let p0_ := string_drop _s3903_ _s3904_ in
+ | Some (tt, existT _ _s4080_ _) =>
+ match (string_drop _s4079_ _s4080_) with
+ | _s4081_ =>
+ match (hex_bits_32_matches_prefix _s4081_) with
+ | Some (s, existT _ _s4082_ _) =>
+ let p0_ := string_drop _s4081_ _s4082_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -34493,50 +35003,50 @@ Definition _s3898_ (_s3899_ : string) : M (option (mword 32)) :=
else returnm None)
: M (option (mword 32)).
-Definition _s3882_ (_s3883_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3884_ := _s3883_ in
- (if string_startswith _s3884_ "c.fsw" then
- (match (string_drop _s3884_ (projT1 (string_length "c.fsw"))) with
- | _s3885_ =>
- (spc_matches_prefix _s3885_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4060_ (_s4061_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s4062_ := _s4061_ in
+ (if string_startswith _s4062_ "c.fsw" then
+ (match (string_drop _s4062_ (projT1 (string_length "c.fsw"))) with
+ | _s4063_ =>
+ (spc_matches_prefix _s4063_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3886_ _) =>
- (match (string_drop _s3885_ _s3886_) with
- | _s3887_ =>
- (creg_name_matches_prefix _s3887_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4064_ _) =>
+ (match (string_drop _s4063_ _s4064_) with
+ | _s4065_ =>
+ (creg_name_matches_prefix _s4065_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s3888_ _) =>
- (match (string_drop _s3887_ _s3888_) with
- | _s3889_ =>
- (sep_matches_prefix _s3889_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s4066_ _) =>
+ (match (string_drop _s4065_ _s4066_) with
+ | _s4067_ =>
+ (sep_matches_prefix _s4067_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3890_ _) =>
- (match (string_drop _s3889_ _s3890_) with
- | _s3891_ =>
- (creg_name_matches_prefix _s3891_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4068_ _) =>
+ (match (string_drop _s4067_ _s4068_) with
+ | _s4069_ =>
+ (creg_name_matches_prefix _s4069_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s3892_ _) =>
- (match (string_drop _s3891_ _s3892_) with
- | _s3893_ =>
- (sep_matches_prefix _s3893_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s4070_ _) =>
+ (match (string_drop _s4069_ _s4070_) with
+ | _s4071_ =>
+ (sep_matches_prefix _s4071_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3894_ _) =>
- match (string_drop _s3893_ _s3894_) with
- | _s3895_ =>
- match (hex_bits_7_matches_prefix _s3895_) with
- | Some (v__1092, existT _ _s3896_ _) =>
- if eq_vec (subrange_vec_dec v__1092 1 0)
+ | Some (tt, existT _ _s4072_ _) =>
+ match (string_drop _s4071_ _s4072_) with
+ | _s4073_ =>
+ match (hex_bits_7_matches_prefix _s4073_) with
+ | Some (v__1196, existT _ _s4074_ _) =>
+ if eq_vec (subrange_vec_dec v__1196 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1092 6 2 in
+ subrange_vec_dec v__1196 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1092 6 2 in
- let p0_ := string_drop _s3895_ _s3896_ in
+ subrange_vec_dec v__1196 6 2 in
+ let p0_ := string_drop _s4073_ _s4074_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -34571,50 +35081,50 @@ Definition _s3882_ (_s3883_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3866_ (_s3867_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3868_ := _s3867_ in
- (if string_startswith _s3868_ "c.flw" then
- (match (string_drop _s3868_ (projT1 (string_length "c.flw"))) with
- | _s3869_ =>
- (spc_matches_prefix _s3869_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4044_ (_s4045_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s4046_ := _s4045_ in
+ (if string_startswith _s4046_ "c.flw" then
+ (match (string_drop _s4046_ (projT1 (string_length "c.flw"))) with
+ | _s4047_ =>
+ (spc_matches_prefix _s4047_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3870_ _) =>
- (match (string_drop _s3869_ _s3870_) with
- | _s3871_ =>
- (creg_name_matches_prefix _s3871_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4048_ _) =>
+ (match (string_drop _s4047_ _s4048_) with
+ | _s4049_ =>
+ (creg_name_matches_prefix _s4049_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s3872_ _) =>
- (match (string_drop _s3871_ _s3872_) with
- | _s3873_ =>
- (sep_matches_prefix _s3873_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s4050_ _) =>
+ (match (string_drop _s4049_ _s4050_) with
+ | _s4051_ =>
+ (sep_matches_prefix _s4051_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3874_ _) =>
- (match (string_drop _s3873_ _s3874_) with
- | _s3875_ =>
- (creg_name_matches_prefix _s3875_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4052_ _) =>
+ (match (string_drop _s4051_ _s4052_) with
+ | _s4053_ =>
+ (creg_name_matches_prefix _s4053_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s3876_ _) =>
- (match (string_drop _s3875_ _s3876_) with
- | _s3877_ =>
- (sep_matches_prefix _s3877_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s4054_ _) =>
+ (match (string_drop _s4053_ _s4054_) with
+ | _s4055_ =>
+ (sep_matches_prefix _s4055_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3878_ _) =>
- match (string_drop _s3877_ _s3878_) with
- | _s3879_ =>
- match (hex_bits_7_matches_prefix _s3879_) with
- | Some (v__1094, existT _ _s3880_ _) =>
- if eq_vec (subrange_vec_dec v__1094 1 0)
+ | Some (tt, existT _ _s4056_ _) =>
+ match (string_drop _s4055_ _s4056_) with
+ | _s4057_ =>
+ match (hex_bits_7_matches_prefix _s4057_) with
+ | Some (v__1198, existT _ _s4058_ _) =>
+ if eq_vec (subrange_vec_dec v__1198 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1094 6 2 in
+ subrange_vec_dec v__1198 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1094 6 2 in
- let p0_ := string_drop _s3879_ _s3880_ in
+ subrange_vec_dec v__1198 6 2 in
+ let p0_ := string_drop _s4057_ _s4058_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -34649,31 +35159,31 @@ Definition _s3866_ (_s3867_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3854_ (_s3855_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3856_ := _s3855_ in
- (if string_startswith _s3856_ "c.fswsp" then
- (match (string_drop _s3856_ (projT1 (string_length "c.fswsp"))) with
- | _s3857_ =>
- (spc_matches_prefix _s3857_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4032_ (_s4033_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s4034_ := _s4033_ in
+ (if string_startswith _s4034_ "c.fswsp" then
+ (match (string_drop _s4034_ (projT1 (string_length "c.fswsp"))) with
+ | _s4035_ =>
+ (spc_matches_prefix _s4035_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3858_ _) =>
- (match (string_drop _s3857_ _s3858_) with
- | _s3859_ =>
- (reg_name_matches_prefix _s3859_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4036_ _) =>
+ (match (string_drop _s4035_ _s4036_) with
+ | _s4037_ =>
+ (reg_name_matches_prefix _s4037_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3860_ _) =>
- (match (string_drop _s3859_ _s3860_) with
- | _s3861_ =>
- (sep_matches_prefix _s3861_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4038_ _) =>
+ (match (string_drop _s4037_ _s4038_) with
+ | _s4039_ =>
+ (sep_matches_prefix _s4039_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3862_ _) =>
- match (string_drop _s3861_ _s3862_) with
- | _s3863_ =>
- match (hex_bits_6_matches_prefix _s3863_) with
- | Some (uimm, existT _ _s3864_ _) =>
- let p0_ := string_drop _s3863_ _s3864_ in
+ | Some (tt, existT _ _s4040_ _) =>
+ match (string_drop _s4039_ _s4040_) with
+ | _s4041_ =>
+ match (hex_bits_6_matches_prefix _s4041_) with
+ | Some (uimm, existT _ _s4042_ _) =>
+ let p0_ := string_drop _s4041_ _s4042_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -34696,31 +35206,31 @@ Definition _s3854_ (_s3855_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3842_ (_s3843_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3844_ := _s3843_ in
- (if string_startswith _s3844_ "c.flwsp" then
- (match (string_drop _s3844_ (projT1 (string_length "c.flwsp"))) with
- | _s3845_ =>
- (spc_matches_prefix _s3845_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4020_ (_s4021_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s4022_ := _s4021_ in
+ (if string_startswith _s4022_ "c.flwsp" then
+ (match (string_drop _s4022_ (projT1 (string_length "c.flwsp"))) with
+ | _s4023_ =>
+ (spc_matches_prefix _s4023_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3846_ _) =>
- (match (string_drop _s3845_ _s3846_) with
- | _s3847_ =>
- (reg_name_matches_prefix _s3847_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4024_ _) =>
+ (match (string_drop _s4023_ _s4024_) with
+ | _s4025_ =>
+ (reg_name_matches_prefix _s4025_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3848_ _) =>
- (match (string_drop _s3847_ _s3848_) with
- | _s3849_ =>
- (sep_matches_prefix _s3849_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4026_ _) =>
+ (match (string_drop _s4025_ _s4026_) with
+ | _s4027_ =>
+ (sep_matches_prefix _s4027_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3850_ _) =>
- match (string_drop _s3849_ _s3850_) with
- | _s3851_ =>
- match (hex_bits_6_matches_prefix _s3851_) with
- | Some (imm, existT _ _s3852_ _) =>
- let p0_ := string_drop _s3851_ _s3852_ in
+ | Some (tt, existT _ _s4028_ _) =>
+ match (string_drop _s4027_ _s4028_) with
+ | _s4029_ =>
+ match (hex_bits_6_matches_prefix _s4029_) with
+ | Some (imm, existT _ _s4030_ _) =>
+ let p0_ := string_drop _s4029_ _s4030_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -34743,38 +35253,38 @@ Definition _s3842_ (_s3843_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3829_ (_s3830_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s3830_ with
- | _s3831_ =>
- (f_un_type_mnemonic_S_matches_prefix _s3831_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s4007_ (_s4008_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s4008_ with
+ | _s4009_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s4009_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_S, existT _ _s3832_ _) =>
- (match (string_drop _s3831_ _s3832_) with
- | _s3833_ =>
- (spc_matches_prefix _s3833_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_S, existT _ _s4010_ _) =>
+ (match (string_drop _s4009_ _s4010_) with
+ | _s4011_ =>
+ (spc_matches_prefix _s4011_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3834_ _) =>
- (match (string_drop _s3833_ _s3834_) with
- | _s3835_ =>
- (reg_name_matches_prefix _s3835_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4012_ _) =>
+ (match (string_drop _s4011_ _s4012_) with
+ | _s4013_ =>
+ (reg_name_matches_prefix _s4013_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3836_ _) =>
- (match (string_drop _s3835_ _s3836_) with
- | _s3837_ =>
- (sep_matches_prefix _s3837_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4014_ _) =>
+ (match (string_drop _s4013_ _s4014_) with
+ | _s4015_ =>
+ (sep_matches_prefix _s4015_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3838_ _) =>
- (match (string_drop _s3837_ _s3838_) with
- | _s3839_ =>
- (freg_name_matches_prefix _s3839_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4016_ _) =>
+ (match (string_drop _s4015_ _s4016_) with
+ | _s4017_ =>
+ (freg_name_matches_prefix _s4017_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s3840_ _) =>
- let p0_ := string_drop _s3839_ _s3840_ in
+ | Some (rs1, existT _ _s4018_ _) =>
+ let p0_ := string_drop _s4017_ _s4018_ in
if generic_eq p0_ "" then
Some (FCLASS_S, rd, rs1)
else None
@@ -34803,38 +35313,38 @@ Definition _s3829_ (_s3830_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s3816_ (_s3817_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s3817_ with
- | _s3818_ =>
- (f_un_type_mnemonic_S_matches_prefix _s3818_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s3994_ (_s3995_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s3995_ with
+ | _s3996_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s3996_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_W_X, existT _ _s3819_ _) =>
- (match (string_drop _s3818_ _s3819_) with
- | _s3820_ =>
- (spc_matches_prefix _s3820_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_W_X, existT _ _s3997_ _) =>
+ (match (string_drop _s3996_ _s3997_) with
+ | _s3998_ =>
+ (spc_matches_prefix _s3998_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3821_ _) =>
- (match (string_drop _s3820_ _s3821_) with
- | _s3822_ =>
- (freg_name_matches_prefix _s3822_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3999_ _) =>
+ (match (string_drop _s3998_ _s3999_) with
+ | _s4000_ =>
+ (freg_name_matches_prefix _s4000_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3823_ _) =>
- (match (string_drop _s3822_ _s3823_) with
- | _s3824_ =>
- (sep_matches_prefix _s3824_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4001_ _) =>
+ (match (string_drop _s4000_ _s4001_) with
+ | _s4002_ =>
+ (sep_matches_prefix _s4002_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3825_ _) =>
- (match (string_drop _s3824_ _s3825_) with
- | _s3826_ =>
- (reg_name_matches_prefix _s3826_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4003_ _) =>
+ (match (string_drop _s4002_ _s4003_) with
+ | _s4004_ =>
+ (reg_name_matches_prefix _s4004_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s3827_ _) =>
- let p0_ := string_drop _s3826_ _s3827_ in
+ | Some (rs1, existT _ _s4005_ _) =>
+ let p0_ := string_drop _s4004_ _s4005_ in
if generic_eq p0_ "" then Some (FMV_W_X, rd, rs1)
else None
| _ => None
@@ -34862,38 +35372,38 @@ Definition _s3816_ (_s3817_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s3803_ (_s3804_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s3804_ with
- | _s3805_ =>
- (f_un_type_mnemonic_S_matches_prefix _s3805_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s3981_ (_s3982_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s3982_ with
+ | _s3983_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s3983_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_W, existT _ _s3806_ _) =>
- (match (string_drop _s3805_ _s3806_) with
- | _s3807_ =>
- (spc_matches_prefix _s3807_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_W, existT _ _s3984_ _) =>
+ (match (string_drop _s3983_ _s3984_) with
+ | _s3985_ =>
+ (spc_matches_prefix _s3985_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3808_ _) =>
- (match (string_drop _s3807_ _s3808_) with
- | _s3809_ =>
- (reg_name_matches_prefix _s3809_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3986_ _) =>
+ (match (string_drop _s3985_ _s3986_) with
+ | _s3987_ =>
+ (reg_name_matches_prefix _s3987_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3810_ _) =>
- (match (string_drop _s3809_ _s3810_) with
- | _s3811_ =>
- (sep_matches_prefix _s3811_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3988_ _) =>
+ (match (string_drop _s3987_ _s3988_) with
+ | _s3989_ =>
+ (sep_matches_prefix _s3989_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3812_ _) =>
- (match (string_drop _s3811_ _s3812_) with
- | _s3813_ =>
- (freg_name_matches_prefix _s3813_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3990_ _) =>
+ (match (string_drop _s3989_ _s3990_) with
+ | _s3991_ =>
+ (freg_name_matches_prefix _s3991_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s3814_ _) =>
- let p0_ := string_drop _s3813_ _s3814_ in
+ | Some (rs1, existT _ _s3992_ _) =>
+ let p0_ := string_drop _s3991_ _s3992_ in
if generic_eq p0_ "" then Some (FMV_X_W, rd, rs1)
else None
| _ => None
@@ -34921,51 +35431,51 @@ Definition _s3803_ (_s3804_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s3786_ (_s3787_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3787_ with
- | _s3788_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3788_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3964_ (_s3965_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3965_ with
+ | _s3966_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3966_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_S, existT _ _s3789_ _) =>
- (match (string_drop _s3788_ _s3789_) with
- | _s3790_ =>
- (spc_matches_prefix _s3790_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_S, existT _ _s3967_ _) =>
+ (match (string_drop _s3966_ _s3967_) with
+ | _s3968_ =>
+ (spc_matches_prefix _s3968_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3791_ _) =>
- (match (string_drop _s3790_ _s3791_) with
- | _s3792_ =>
- (reg_name_matches_prefix _s3792_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3969_ _) =>
+ (match (string_drop _s3968_ _s3969_) with
+ | _s3970_ =>
+ (reg_name_matches_prefix _s3970_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3793_ _) =>
- (match (string_drop _s3792_ _s3793_) with
- | _s3794_ =>
- (sep_matches_prefix _s3794_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3971_ _) =>
+ (match (string_drop _s3970_ _s3971_) with
+ | _s3972_ =>
+ (sep_matches_prefix _s3972_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3795_ _) =>
- (match (string_drop _s3794_ _s3795_) with
- | _s3796_ =>
- (freg_name_matches_prefix _s3796_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3973_ _) =>
+ (match (string_drop _s3972_ _s3973_) with
+ | _s3974_ =>
+ (freg_name_matches_prefix _s3974_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3797_ _) =>
- (match (string_drop _s3796_ _s3797_) with
- | _s3798_ =>
- (sep_matches_prefix _s3798_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3975_ _) =>
+ (match (string_drop _s3974_ _s3975_) with
+ | _s3976_ =>
+ (sep_matches_prefix _s3976_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3799_ _) =>
- (match (string_drop _s3798_ _s3799_) with
- | _s3800_ =>
- (freg_name_matches_prefix _s3800_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3977_ _) =>
+ (match (string_drop _s3976_ _s3977_) with
+ | _s3978_ =>
+ (freg_name_matches_prefix _s3978_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3801_ _) =>
+ | Some (rs2, existT _ _s3979_ _) =>
let p0_ :=
- string_drop _s3800_ _s3801_ in
+ string_drop _s3978_ _s3979_ in
if generic_eq p0_ "" then
Some (FLE_S, rd, rs1, rs2)
else None
@@ -35004,51 +35514,51 @@ Definition _s3786_ (_s3787_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3769_ (_s3770_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3770_ with
- | _s3771_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3771_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3947_ (_s3948_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3948_ with
+ | _s3949_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3949_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_S, existT _ _s3772_ _) =>
- (match (string_drop _s3771_ _s3772_) with
- | _s3773_ =>
- (spc_matches_prefix _s3773_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_S, existT _ _s3950_ _) =>
+ (match (string_drop _s3949_ _s3950_) with
+ | _s3951_ =>
+ (spc_matches_prefix _s3951_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3774_ _) =>
- (match (string_drop _s3773_ _s3774_) with
- | _s3775_ =>
- (reg_name_matches_prefix _s3775_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3952_ _) =>
+ (match (string_drop _s3951_ _s3952_) with
+ | _s3953_ =>
+ (reg_name_matches_prefix _s3953_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3776_ _) =>
- (match (string_drop _s3775_ _s3776_) with
- | _s3777_ =>
- (sep_matches_prefix _s3777_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3954_ _) =>
+ (match (string_drop _s3953_ _s3954_) with
+ | _s3955_ =>
+ (sep_matches_prefix _s3955_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3778_ _) =>
- (match (string_drop _s3777_ _s3778_) with
- | _s3779_ =>
- (freg_name_matches_prefix _s3779_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3956_ _) =>
+ (match (string_drop _s3955_ _s3956_) with
+ | _s3957_ =>
+ (freg_name_matches_prefix _s3957_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3780_ _) =>
- (match (string_drop _s3779_ _s3780_) with
- | _s3781_ =>
- (sep_matches_prefix _s3781_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3958_ _) =>
+ (match (string_drop _s3957_ _s3958_) with
+ | _s3959_ =>
+ (sep_matches_prefix _s3959_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3782_ _) =>
- (match (string_drop _s3781_ _s3782_) with
- | _s3783_ =>
- (freg_name_matches_prefix _s3783_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3960_ _) =>
+ (match (string_drop _s3959_ _s3960_) with
+ | _s3961_ =>
+ (freg_name_matches_prefix _s3961_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3784_ _) =>
+ | Some (rs2, existT _ _s3962_ _) =>
let p0_ :=
- string_drop _s3783_ _s3784_ in
+ string_drop _s3961_ _s3962_ in
if generic_eq p0_ "" then
Some (FLT_S, rd, rs1, rs2)
else None
@@ -35087,51 +35597,51 @@ Definition _s3769_ (_s3770_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3752_ (_s3753_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3753_ with
- | _s3754_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3754_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3930_ (_s3931_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3931_ with
+ | _s3932_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3932_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_S, existT _ _s3755_ _) =>
- (match (string_drop _s3754_ _s3755_) with
- | _s3756_ =>
- (spc_matches_prefix _s3756_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_S, existT _ _s3933_ _) =>
+ (match (string_drop _s3932_ _s3933_) with
+ | _s3934_ =>
+ (spc_matches_prefix _s3934_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3757_ _) =>
- (match (string_drop _s3756_ _s3757_) with
- | _s3758_ =>
- (reg_name_matches_prefix _s3758_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3935_ _) =>
+ (match (string_drop _s3934_ _s3935_) with
+ | _s3936_ =>
+ (reg_name_matches_prefix _s3936_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3759_ _) =>
- (match (string_drop _s3758_ _s3759_) with
- | _s3760_ =>
- (sep_matches_prefix _s3760_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3937_ _) =>
+ (match (string_drop _s3936_ _s3937_) with
+ | _s3938_ =>
+ (sep_matches_prefix _s3938_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3761_ _) =>
- (match (string_drop _s3760_ _s3761_) with
- | _s3762_ =>
- (freg_name_matches_prefix _s3762_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3939_ _) =>
+ (match (string_drop _s3938_ _s3939_) with
+ | _s3940_ =>
+ (freg_name_matches_prefix _s3940_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3763_ _) =>
- (match (string_drop _s3762_ _s3763_) with
- | _s3764_ =>
- (sep_matches_prefix _s3764_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3941_ _) =>
+ (match (string_drop _s3940_ _s3941_) with
+ | _s3942_ =>
+ (sep_matches_prefix _s3942_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3765_ _) =>
- (match (string_drop _s3764_ _s3765_) with
- | _s3766_ =>
- (freg_name_matches_prefix _s3766_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3943_ _) =>
+ (match (string_drop _s3942_ _s3943_) with
+ | _s3944_ =>
+ (freg_name_matches_prefix _s3944_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3767_ _) =>
+ | Some (rs2, existT _ _s3945_ _) =>
let p0_ :=
- string_drop _s3766_ _s3767_ in
+ string_drop _s3944_ _s3945_ in
if generic_eq p0_ "" then
Some (FEQ_S, rd, rs1, rs2)
else None
@@ -35170,51 +35680,51 @@ Definition _s3752_ (_s3753_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3735_ (_s3736_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3736_ with
- | _s3737_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3737_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3913_ (_s3914_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3914_ with
+ | _s3915_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3915_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_S, existT _ _s3738_ _) =>
- (match (string_drop _s3737_ _s3738_) with
- | _s3739_ =>
- (spc_matches_prefix _s3739_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_S, existT _ _s3916_ _) =>
+ (match (string_drop _s3915_ _s3916_) with
+ | _s3917_ =>
+ (spc_matches_prefix _s3917_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3740_ _) =>
- (match (string_drop _s3739_ _s3740_) with
- | _s3741_ =>
- (freg_name_matches_prefix _s3741_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3918_ _) =>
+ (match (string_drop _s3917_ _s3918_) with
+ | _s3919_ =>
+ (freg_name_matches_prefix _s3919_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3742_ _) =>
- (match (string_drop _s3741_ _s3742_) with
- | _s3743_ =>
- (sep_matches_prefix _s3743_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3920_ _) =>
+ (match (string_drop _s3919_ _s3920_) with
+ | _s3921_ =>
+ (sep_matches_prefix _s3921_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3744_ _) =>
- (match (string_drop _s3743_ _s3744_) with
- | _s3745_ =>
- (freg_name_matches_prefix _s3745_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3922_ _) =>
+ (match (string_drop _s3921_ _s3922_) with
+ | _s3923_ =>
+ (freg_name_matches_prefix _s3923_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3746_ _) =>
- (match (string_drop _s3745_ _s3746_) with
- | _s3747_ =>
- (sep_matches_prefix _s3747_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3924_ _) =>
+ (match (string_drop _s3923_ _s3924_) with
+ | _s3925_ =>
+ (sep_matches_prefix _s3925_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3748_ _) =>
- (match (string_drop _s3747_ _s3748_) with
- | _s3749_ =>
- (freg_name_matches_prefix _s3749_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3926_ _) =>
+ (match (string_drop _s3925_ _s3926_) with
+ | _s3927_ =>
+ (freg_name_matches_prefix _s3927_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3750_ _) =>
+ | Some (rs2, existT _ _s3928_ _) =>
let p0_ :=
- string_drop _s3749_ _s3750_ in
+ string_drop _s3927_ _s3928_ in
if generic_eq p0_ "" then
Some (FMAX_S, rd, rs1, rs2)
else None
@@ -35253,51 +35763,51 @@ Definition _s3735_ (_s3736_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3718_ (_s3719_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3719_ with
- | _s3720_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3720_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3896_ (_s3897_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3897_ with
+ | _s3898_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3898_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_S, existT _ _s3721_ _) =>
- (match (string_drop _s3720_ _s3721_) with
- | _s3722_ =>
- (spc_matches_prefix _s3722_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_S, existT _ _s3899_ _) =>
+ (match (string_drop _s3898_ _s3899_) with
+ | _s3900_ =>
+ (spc_matches_prefix _s3900_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3723_ _) =>
- (match (string_drop _s3722_ _s3723_) with
- | _s3724_ =>
- (freg_name_matches_prefix _s3724_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3901_ _) =>
+ (match (string_drop _s3900_ _s3901_) with
+ | _s3902_ =>
+ (freg_name_matches_prefix _s3902_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3725_ _) =>
- (match (string_drop _s3724_ _s3725_) with
- | _s3726_ =>
- (sep_matches_prefix _s3726_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3903_ _) =>
+ (match (string_drop _s3902_ _s3903_) with
+ | _s3904_ =>
+ (sep_matches_prefix _s3904_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3727_ _) =>
- (match (string_drop _s3726_ _s3727_) with
- | _s3728_ =>
- (freg_name_matches_prefix _s3728_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3905_ _) =>
+ (match (string_drop _s3904_ _s3905_) with
+ | _s3906_ =>
+ (freg_name_matches_prefix _s3906_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3729_ _) =>
- (match (string_drop _s3728_ _s3729_) with
- | _s3730_ =>
- (sep_matches_prefix _s3730_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3907_ _) =>
+ (match (string_drop _s3906_ _s3907_) with
+ | _s3908_ =>
+ (sep_matches_prefix _s3908_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3731_ _) =>
- (match (string_drop _s3730_ _s3731_) with
- | _s3732_ =>
- (freg_name_matches_prefix _s3732_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3909_ _) =>
+ (match (string_drop _s3908_ _s3909_) with
+ | _s3910_ =>
+ (freg_name_matches_prefix _s3910_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3733_ _) =>
+ | Some (rs2, existT _ _s3911_ _) =>
let p0_ :=
- string_drop _s3732_ _s3733_ in
+ string_drop _s3910_ _s3911_ in
if generic_eq p0_ "" then
Some (FMIN_S, rd, rs1, rs2)
else None
@@ -35336,51 +35846,51 @@ Definition _s3718_ (_s3719_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3701_ (_s3702_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3702_ with
- | _s3703_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3703_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3879_ (_s3880_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3880_ with
+ | _s3881_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3881_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_S, existT _ _s3704_ _) =>
- (match (string_drop _s3703_ _s3704_) with
- | _s3705_ =>
- (spc_matches_prefix _s3705_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_S, existT _ _s3882_ _) =>
+ (match (string_drop _s3881_ _s3882_) with
+ | _s3883_ =>
+ (spc_matches_prefix _s3883_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3706_ _) =>
- (match (string_drop _s3705_ _s3706_) with
- | _s3707_ =>
- (freg_name_matches_prefix _s3707_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3884_ _) =>
+ (match (string_drop _s3883_ _s3884_) with
+ | _s3885_ =>
+ (freg_name_matches_prefix _s3885_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3708_ _) =>
- (match (string_drop _s3707_ _s3708_) with
- | _s3709_ =>
- (sep_matches_prefix _s3709_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3886_ _) =>
+ (match (string_drop _s3885_ _s3886_) with
+ | _s3887_ =>
+ (sep_matches_prefix _s3887_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3710_ _) =>
- (match (string_drop _s3709_ _s3710_) with
- | _s3711_ =>
- (freg_name_matches_prefix _s3711_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3888_ _) =>
+ (match (string_drop _s3887_ _s3888_) with
+ | _s3889_ =>
+ (freg_name_matches_prefix _s3889_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3712_ _) =>
- (match (string_drop _s3711_ _s3712_) with
- | _s3713_ =>
- (sep_matches_prefix _s3713_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3890_ _) =>
+ (match (string_drop _s3889_ _s3890_) with
+ | _s3891_ =>
+ (sep_matches_prefix _s3891_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3714_ _) =>
- (match (string_drop _s3713_ _s3714_) with
- | _s3715_ =>
- (freg_name_matches_prefix _s3715_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3892_ _) =>
+ (match (string_drop _s3891_ _s3892_) with
+ | _s3893_ =>
+ (freg_name_matches_prefix _s3893_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3716_ _) =>
+ | Some (rs2, existT _ _s3894_ _) =>
let p0_ :=
- string_drop _s3715_ _s3716_ in
+ string_drop _s3893_ _s3894_ in
if generic_eq p0_ "" then
Some (FSGNJX_S, rd, rs1, rs2)
else None
@@ -35419,51 +35929,51 @@ Definition _s3701_ (_s3702_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3684_ (_s3685_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3685_ with
- | _s3686_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3686_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3862_ (_s3863_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3863_ with
+ | _s3864_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3864_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_S, existT _ _s3687_ _) =>
- (match (string_drop _s3686_ _s3687_) with
- | _s3688_ =>
- (spc_matches_prefix _s3688_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_S, existT _ _s3865_ _) =>
+ (match (string_drop _s3864_ _s3865_) with
+ | _s3866_ =>
+ (spc_matches_prefix _s3866_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3689_ _) =>
- (match (string_drop _s3688_ _s3689_) with
- | _s3690_ =>
- (freg_name_matches_prefix _s3690_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3867_ _) =>
+ (match (string_drop _s3866_ _s3867_) with
+ | _s3868_ =>
+ (freg_name_matches_prefix _s3868_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3691_ _) =>
- (match (string_drop _s3690_ _s3691_) with
- | _s3692_ =>
- (sep_matches_prefix _s3692_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3869_ _) =>
+ (match (string_drop _s3868_ _s3869_) with
+ | _s3870_ =>
+ (sep_matches_prefix _s3870_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3693_ _) =>
- (match (string_drop _s3692_ _s3693_) with
- | _s3694_ =>
- (freg_name_matches_prefix _s3694_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3871_ _) =>
+ (match (string_drop _s3870_ _s3871_) with
+ | _s3872_ =>
+ (freg_name_matches_prefix _s3872_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3695_ _) =>
- (match (string_drop _s3694_ _s3695_) with
- | _s3696_ =>
- (sep_matches_prefix _s3696_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3873_ _) =>
+ (match (string_drop _s3872_ _s3873_) with
+ | _s3874_ =>
+ (sep_matches_prefix _s3874_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3697_ _) =>
- (match (string_drop _s3696_ _s3697_) with
- | _s3698_ =>
- (freg_name_matches_prefix _s3698_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3875_ _) =>
+ (match (string_drop _s3874_ _s3875_) with
+ | _s3876_ =>
+ (freg_name_matches_prefix _s3876_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3699_ _) =>
+ | Some (rs2, existT _ _s3877_ _) =>
let p0_ :=
- string_drop _s3698_ _s3699_ in
+ string_drop _s3876_ _s3877_ in
if generic_eq p0_ "" then
Some (FSGNJN_S, rd, rs1, rs2)
else None
@@ -35502,51 +36012,51 @@ Definition _s3684_ (_s3685_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3667_ (_s3668_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s3668_ with
- | _s3669_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s3669_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s3845_ (_s3846_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s3846_ with
+ | _s3847_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s3847_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_S, existT _ _s3670_ _) =>
- (match (string_drop _s3669_ _s3670_) with
- | _s3671_ =>
- (spc_matches_prefix _s3671_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_S, existT _ _s3848_ _) =>
+ (match (string_drop _s3847_ _s3848_) with
+ | _s3849_ =>
+ (spc_matches_prefix _s3849_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3672_ _) =>
- (match (string_drop _s3671_ _s3672_) with
- | _s3673_ =>
- (freg_name_matches_prefix _s3673_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3850_ _) =>
+ (match (string_drop _s3849_ _s3850_) with
+ | _s3851_ =>
+ (freg_name_matches_prefix _s3851_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3674_ _) =>
- (match (string_drop _s3673_ _s3674_) with
- | _s3675_ =>
- (sep_matches_prefix _s3675_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3852_ _) =>
+ (match (string_drop _s3851_ _s3852_) with
+ | _s3853_ =>
+ (sep_matches_prefix _s3853_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3676_ _) =>
- (match (string_drop _s3675_ _s3676_) with
- | _s3677_ =>
- (freg_name_matches_prefix _s3677_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3854_ _) =>
+ (match (string_drop _s3853_ _s3854_) with
+ | _s3855_ =>
+ (freg_name_matches_prefix _s3855_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3678_ _) =>
- (match (string_drop _s3677_ _s3678_) with
- | _s3679_ =>
- (sep_matches_prefix _s3679_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3856_ _) =>
+ (match (string_drop _s3855_ _s3856_) with
+ | _s3857_ =>
+ (sep_matches_prefix _s3857_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3680_ _) =>
- (match (string_drop _s3679_ _s3680_) with
- | _s3681_ =>
- (freg_name_matches_prefix _s3681_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3858_ _) =>
+ (match (string_drop _s3857_ _s3858_) with
+ | _s3859_ =>
+ (freg_name_matches_prefix _s3859_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3682_ _) =>
+ | Some (rs2, existT _ _s3860_ _) =>
let p0_ :=
- string_drop _s3681_ _s3682_ in
+ string_drop _s3859_ _s3860_ in
if generic_eq p0_ "" then
Some (FSGNJ_S, rd, rs1, rs2)
else None
@@ -35585,52 +36095,52 @@ Definition _s3667_ (_s3668_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s3650_ (_s3651_ : string)
+Definition _s3828_ (_s3829_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3651_ with
- | _s3652_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3652_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3829_ with
+ | _s3830_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3830_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_LU, existT _ _s3653_ _) =>
- (match (string_drop _s3652_ _s3653_) with
- | _s3654_ =>
- (spc_matches_prefix _s3654_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_LU, existT _ _s3831_ _) =>
+ (match (string_drop _s3830_ _s3831_) with
+ | _s3832_ =>
+ (spc_matches_prefix _s3832_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3655_ _) =>
- (match (string_drop _s3654_ _s3655_) with
- | _s3656_ =>
- (freg_name_matches_prefix _s3656_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3833_ _) =>
+ (match (string_drop _s3832_ _s3833_) with
+ | _s3834_ =>
+ (freg_name_matches_prefix _s3834_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3657_ _) =>
- (match (string_drop _s3656_ _s3657_) with
- | _s3658_ =>
- (sep_matches_prefix _s3658_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3835_ _) =>
+ (match (string_drop _s3834_ _s3835_) with
+ | _s3836_ =>
+ (sep_matches_prefix _s3836_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3659_ _) =>
- (match (string_drop _s3658_ _s3659_) with
- | _s3660_ =>
- (reg_name_matches_prefix _s3660_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3837_ _) =>
+ (match (string_drop _s3836_ _s3837_) with
+ | _s3838_ =>
+ (reg_name_matches_prefix _s3838_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3661_ _) =>
- (match (string_drop _s3660_ _s3661_) with
- | _s3662_ =>
- (sep_matches_prefix _s3662_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3839_ _) =>
+ (match (string_drop _s3838_ _s3839_) with
+ | _s3840_ =>
+ (sep_matches_prefix _s3840_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3663_ _) =>
- (match (string_drop _s3662_ _s3663_) with
- | _s3664_ =>
- (frm_mnemonic_matches_prefix _s3664_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3841_ _) =>
+ (match (string_drop _s3840_ _s3841_) with
+ | _s3842_ =>
+ (frm_mnemonic_matches_prefix _s3842_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3665_ _) =>
+ | Some (rm, existT _ _s3843_ _) =>
let p0_ :=
- string_drop _s3664_ _s3665_ in
+ string_drop _s3842_ _s3843_ in
if generic_eq p0_ "" then
Some (FCVT_S_LU, rd, rs1, rm)
else None
@@ -35669,52 +36179,52 @@ Definition _s3650_ (_s3651_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3633_ (_s3634_ : string)
+Definition _s3811_ (_s3812_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3634_ with
- | _s3635_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3635_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3812_ with
+ | _s3813_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3813_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_L, existT _ _s3636_ _) =>
- (match (string_drop _s3635_ _s3636_) with
- | _s3637_ =>
- (spc_matches_prefix _s3637_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_L, existT _ _s3814_ _) =>
+ (match (string_drop _s3813_ _s3814_) with
+ | _s3815_ =>
+ (spc_matches_prefix _s3815_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3638_ _) =>
- (match (string_drop _s3637_ _s3638_) with
- | _s3639_ =>
- (freg_name_matches_prefix _s3639_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3816_ _) =>
+ (match (string_drop _s3815_ _s3816_) with
+ | _s3817_ =>
+ (freg_name_matches_prefix _s3817_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3640_ _) =>
- (match (string_drop _s3639_ _s3640_) with
- | _s3641_ =>
- (sep_matches_prefix _s3641_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3818_ _) =>
+ (match (string_drop _s3817_ _s3818_) with
+ | _s3819_ =>
+ (sep_matches_prefix _s3819_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3642_ _) =>
- (match (string_drop _s3641_ _s3642_) with
- | _s3643_ =>
- (reg_name_matches_prefix _s3643_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3820_ _) =>
+ (match (string_drop _s3819_ _s3820_) with
+ | _s3821_ =>
+ (reg_name_matches_prefix _s3821_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3644_ _) =>
- (match (string_drop _s3643_ _s3644_) with
- | _s3645_ =>
- (sep_matches_prefix _s3645_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3822_ _) =>
+ (match (string_drop _s3821_ _s3822_) with
+ | _s3823_ =>
+ (sep_matches_prefix _s3823_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3646_ _) =>
- (match (string_drop _s3645_ _s3646_) with
- | _s3647_ =>
- (frm_mnemonic_matches_prefix _s3647_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3824_ _) =>
+ (match (string_drop _s3823_ _s3824_) with
+ | _s3825_ =>
+ (frm_mnemonic_matches_prefix _s3825_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3648_ _) =>
+ | Some (rm, existT _ _s3826_ _) =>
let p0_ :=
- string_drop _s3647_ _s3648_ in
+ string_drop _s3825_ _s3826_ in
if generic_eq p0_ "" then
Some (FCVT_S_L, rd, rs1, rm)
else None
@@ -35753,52 +36263,52 @@ Definition _s3633_ (_s3634_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3616_ (_s3617_ : string)
+Definition _s3794_ (_s3795_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3617_ with
- | _s3618_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3618_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3795_ with
+ | _s3796_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3796_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_S, existT _ _s3619_ _) =>
- (match (string_drop _s3618_ _s3619_) with
- | _s3620_ =>
- (spc_matches_prefix _s3620_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_S, existT _ _s3797_ _) =>
+ (match (string_drop _s3796_ _s3797_) with
+ | _s3798_ =>
+ (spc_matches_prefix _s3798_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3621_ _) =>
- (match (string_drop _s3620_ _s3621_) with
- | _s3622_ =>
- (reg_name_matches_prefix _s3622_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3799_ _) =>
+ (match (string_drop _s3798_ _s3799_) with
+ | _s3800_ =>
+ (reg_name_matches_prefix _s3800_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3623_ _) =>
- (match (string_drop _s3622_ _s3623_) with
- | _s3624_ =>
- (sep_matches_prefix _s3624_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3801_ _) =>
+ (match (string_drop _s3800_ _s3801_) with
+ | _s3802_ =>
+ (sep_matches_prefix _s3802_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3625_ _) =>
- (match (string_drop _s3624_ _s3625_) with
- | _s3626_ =>
- (freg_name_matches_prefix _s3626_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3803_ _) =>
+ (match (string_drop _s3802_ _s3803_) with
+ | _s3804_ =>
+ (freg_name_matches_prefix _s3804_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3627_ _) =>
- (match (string_drop _s3626_ _s3627_) with
- | _s3628_ =>
- (sep_matches_prefix _s3628_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3805_ _) =>
+ (match (string_drop _s3804_ _s3805_) with
+ | _s3806_ =>
+ (sep_matches_prefix _s3806_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3629_ _) =>
- (match (string_drop _s3628_ _s3629_) with
- | _s3630_ =>
- (frm_mnemonic_matches_prefix _s3630_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3807_ _) =>
+ (match (string_drop _s3806_ _s3807_) with
+ | _s3808_ =>
+ (frm_mnemonic_matches_prefix _s3808_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3631_ _) =>
+ | Some (rm, existT _ _s3809_ _) =>
let p0_ :=
- string_drop _s3630_ _s3631_ in
+ string_drop _s3808_ _s3809_ in
if generic_eq p0_ "" then
Some (FCVT_LU_S, rd, rs1, rm)
else None
@@ -35837,52 +36347,52 @@ Definition _s3616_ (_s3617_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3599_ (_s3600_ : string)
+Definition _s3777_ (_s3778_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3600_ with
- | _s3601_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3601_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3778_ with
+ | _s3779_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3779_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_S, existT _ _s3602_ _) =>
- (match (string_drop _s3601_ _s3602_) with
- | _s3603_ =>
- (spc_matches_prefix _s3603_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_S, existT _ _s3780_ _) =>
+ (match (string_drop _s3779_ _s3780_) with
+ | _s3781_ =>
+ (spc_matches_prefix _s3781_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3604_ _) =>
- (match (string_drop _s3603_ _s3604_) with
- | _s3605_ =>
- (reg_name_matches_prefix _s3605_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3782_ _) =>
+ (match (string_drop _s3781_ _s3782_) with
+ | _s3783_ =>
+ (reg_name_matches_prefix _s3783_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3606_ _) =>
- (match (string_drop _s3605_ _s3606_) with
- | _s3607_ =>
- (sep_matches_prefix _s3607_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3784_ _) =>
+ (match (string_drop _s3783_ _s3784_) with
+ | _s3785_ =>
+ (sep_matches_prefix _s3785_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3608_ _) =>
- (match (string_drop _s3607_ _s3608_) with
- | _s3609_ =>
- (freg_name_matches_prefix _s3609_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3786_ _) =>
+ (match (string_drop _s3785_ _s3786_) with
+ | _s3787_ =>
+ (freg_name_matches_prefix _s3787_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3610_ _) =>
- (match (string_drop _s3609_ _s3610_) with
- | _s3611_ =>
- (sep_matches_prefix _s3611_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3788_ _) =>
+ (match (string_drop _s3787_ _s3788_) with
+ | _s3789_ =>
+ (sep_matches_prefix _s3789_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3612_ _) =>
- (match (string_drop _s3611_ _s3612_) with
- | _s3613_ =>
- (frm_mnemonic_matches_prefix _s3613_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3790_ _) =>
+ (match (string_drop _s3789_ _s3790_) with
+ | _s3791_ =>
+ (frm_mnemonic_matches_prefix _s3791_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3614_ _) =>
+ | Some (rm, existT _ _s3792_ _) =>
let p0_ :=
- string_drop _s3613_ _s3614_ in
+ string_drop _s3791_ _s3792_ in
if generic_eq p0_ "" then
Some (FCVT_L_S, rd, rs1, rm)
else None
@@ -35921,52 +36431,52 @@ Definition _s3599_ (_s3600_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3582_ (_s3583_ : string)
+Definition _s3760_ (_s3761_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3583_ with
- | _s3584_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3584_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3761_ with
+ | _s3762_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3762_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_WU, existT _ _s3585_ _) =>
- (match (string_drop _s3584_ _s3585_) with
- | _s3586_ =>
- (spc_matches_prefix _s3586_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_WU, existT _ _s3763_ _) =>
+ (match (string_drop _s3762_ _s3763_) with
+ | _s3764_ =>
+ (spc_matches_prefix _s3764_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3587_ _) =>
- (match (string_drop _s3586_ _s3587_) with
- | _s3588_ =>
- (freg_name_matches_prefix _s3588_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3765_ _) =>
+ (match (string_drop _s3764_ _s3765_) with
+ | _s3766_ =>
+ (freg_name_matches_prefix _s3766_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3589_ _) =>
- (match (string_drop _s3588_ _s3589_) with
- | _s3590_ =>
- (sep_matches_prefix _s3590_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3767_ _) =>
+ (match (string_drop _s3766_ _s3767_) with
+ | _s3768_ =>
+ (sep_matches_prefix _s3768_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3591_ _) =>
- (match (string_drop _s3590_ _s3591_) with
- | _s3592_ =>
- (reg_name_matches_prefix _s3592_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3769_ _) =>
+ (match (string_drop _s3768_ _s3769_) with
+ | _s3770_ =>
+ (reg_name_matches_prefix _s3770_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3593_ _) =>
- (match (string_drop _s3592_ _s3593_) with
- | _s3594_ =>
- (sep_matches_prefix _s3594_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3771_ _) =>
+ (match (string_drop _s3770_ _s3771_) with
+ | _s3772_ =>
+ (sep_matches_prefix _s3772_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3595_ _) =>
- (match (string_drop _s3594_ _s3595_) with
- | _s3596_ =>
- (frm_mnemonic_matches_prefix _s3596_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3773_ _) =>
+ (match (string_drop _s3772_ _s3773_) with
+ | _s3774_ =>
+ (frm_mnemonic_matches_prefix _s3774_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3597_ _) =>
+ | Some (rm, existT _ _s3775_ _) =>
let p0_ :=
- string_drop _s3596_ _s3597_ in
+ string_drop _s3774_ _s3775_ in
if generic_eq p0_ "" then
Some (FCVT_S_WU, rd, rs1, rm)
else None
@@ -36005,52 +36515,52 @@ Definition _s3582_ (_s3583_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3565_ (_s3566_ : string)
+Definition _s3743_ (_s3744_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3566_ with
- | _s3567_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3567_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3744_ with
+ | _s3745_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3745_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_W, existT _ _s3568_ _) =>
- (match (string_drop _s3567_ _s3568_) with
- | _s3569_ =>
- (spc_matches_prefix _s3569_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_W, existT _ _s3746_ _) =>
+ (match (string_drop _s3745_ _s3746_) with
+ | _s3747_ =>
+ (spc_matches_prefix _s3747_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3570_ _) =>
- (match (string_drop _s3569_ _s3570_) with
- | _s3571_ =>
- (freg_name_matches_prefix _s3571_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3748_ _) =>
+ (match (string_drop _s3747_ _s3748_) with
+ | _s3749_ =>
+ (freg_name_matches_prefix _s3749_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3572_ _) =>
- (match (string_drop _s3571_ _s3572_) with
- | _s3573_ =>
- (sep_matches_prefix _s3573_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3750_ _) =>
+ (match (string_drop _s3749_ _s3750_) with
+ | _s3751_ =>
+ (sep_matches_prefix _s3751_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3574_ _) =>
- (match (string_drop _s3573_ _s3574_) with
- | _s3575_ =>
- (reg_name_matches_prefix _s3575_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3752_ _) =>
+ (match (string_drop _s3751_ _s3752_) with
+ | _s3753_ =>
+ (reg_name_matches_prefix _s3753_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3576_ _) =>
- (match (string_drop _s3575_ _s3576_) with
- | _s3577_ =>
- (sep_matches_prefix _s3577_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3754_ _) =>
+ (match (string_drop _s3753_ _s3754_) with
+ | _s3755_ =>
+ (sep_matches_prefix _s3755_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3578_ _) =>
- (match (string_drop _s3577_ _s3578_) with
- | _s3579_ =>
- (frm_mnemonic_matches_prefix _s3579_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3756_ _) =>
+ (match (string_drop _s3755_ _s3756_) with
+ | _s3757_ =>
+ (frm_mnemonic_matches_prefix _s3757_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3580_ _) =>
+ | Some (rm, existT _ _s3758_ _) =>
let p0_ :=
- string_drop _s3579_ _s3580_ in
+ string_drop _s3757_ _s3758_ in
if generic_eq p0_ "" then
Some (FCVT_S_W, rd, rs1, rm)
else None
@@ -36089,52 +36599,52 @@ Definition _s3565_ (_s3566_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3548_ (_s3549_ : string)
+Definition _s3726_ (_s3727_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3549_ with
- | _s3550_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3550_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3727_ with
+ | _s3728_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3728_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_S, existT _ _s3551_ _) =>
- (match (string_drop _s3550_ _s3551_) with
- | _s3552_ =>
- (spc_matches_prefix _s3552_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_S, existT _ _s3729_ _) =>
+ (match (string_drop _s3728_ _s3729_) with
+ | _s3730_ =>
+ (spc_matches_prefix _s3730_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3553_ _) =>
- (match (string_drop _s3552_ _s3553_) with
- | _s3554_ =>
- (reg_name_matches_prefix _s3554_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3731_ _) =>
+ (match (string_drop _s3730_ _s3731_) with
+ | _s3732_ =>
+ (reg_name_matches_prefix _s3732_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3555_ _) =>
- (match (string_drop _s3554_ _s3555_) with
- | _s3556_ =>
- (sep_matches_prefix _s3556_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3733_ _) =>
+ (match (string_drop _s3732_ _s3733_) with
+ | _s3734_ =>
+ (sep_matches_prefix _s3734_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3557_ _) =>
- (match (string_drop _s3556_ _s3557_) with
- | _s3558_ =>
- (freg_name_matches_prefix _s3558_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3735_ _) =>
+ (match (string_drop _s3734_ _s3735_) with
+ | _s3736_ =>
+ (freg_name_matches_prefix _s3736_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3559_ _) =>
- (match (string_drop _s3558_ _s3559_) with
- | _s3560_ =>
- (sep_matches_prefix _s3560_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3737_ _) =>
+ (match (string_drop _s3736_ _s3737_) with
+ | _s3738_ =>
+ (sep_matches_prefix _s3738_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3561_ _) =>
- (match (string_drop _s3560_ _s3561_) with
- | _s3562_ =>
- (frm_mnemonic_matches_prefix _s3562_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3739_ _) =>
+ (match (string_drop _s3738_ _s3739_) with
+ | _s3740_ =>
+ (frm_mnemonic_matches_prefix _s3740_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3563_ _) =>
+ | Some (rm, existT _ _s3741_ _) =>
let p0_ :=
- string_drop _s3562_ _s3563_ in
+ string_drop _s3740_ _s3741_ in
if generic_eq p0_ "" then
Some (FCVT_WU_S, rd, rs1, rm)
else None
@@ -36173,52 +36683,52 @@ Definition _s3548_ (_s3549_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3531_ (_s3532_ : string)
+Definition _s3709_ (_s3710_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3532_ with
- | _s3533_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3533_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3710_ with
+ | _s3711_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3711_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_S, existT _ _s3534_ _) =>
- (match (string_drop _s3533_ _s3534_) with
- | _s3535_ =>
- (spc_matches_prefix _s3535_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_S, existT _ _s3712_ _) =>
+ (match (string_drop _s3711_ _s3712_) with
+ | _s3713_ =>
+ (spc_matches_prefix _s3713_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3536_ _) =>
- (match (string_drop _s3535_ _s3536_) with
- | _s3537_ =>
- (reg_name_matches_prefix _s3537_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3714_ _) =>
+ (match (string_drop _s3713_ _s3714_) with
+ | _s3715_ =>
+ (reg_name_matches_prefix _s3715_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3538_ _) =>
- (match (string_drop _s3537_ _s3538_) with
- | _s3539_ =>
- (sep_matches_prefix _s3539_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3716_ _) =>
+ (match (string_drop _s3715_ _s3716_) with
+ | _s3717_ =>
+ (sep_matches_prefix _s3717_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3540_ _) =>
- (match (string_drop _s3539_ _s3540_) with
- | _s3541_ =>
- (freg_name_matches_prefix _s3541_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3718_ _) =>
+ (match (string_drop _s3717_ _s3718_) with
+ | _s3719_ =>
+ (freg_name_matches_prefix _s3719_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3542_ _) =>
- (match (string_drop _s3541_ _s3542_) with
- | _s3543_ =>
- (sep_matches_prefix _s3543_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3720_ _) =>
+ (match (string_drop _s3719_ _s3720_) with
+ | _s3721_ =>
+ (sep_matches_prefix _s3721_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3544_ _) =>
- (match (string_drop _s3543_ _s3544_) with
- | _s3545_ =>
- (frm_mnemonic_matches_prefix _s3545_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3722_ _) =>
+ (match (string_drop _s3721_ _s3722_) with
+ | _s3723_ =>
+ (frm_mnemonic_matches_prefix _s3723_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3546_ _) =>
+ | Some (rm, existT _ _s3724_ _) =>
let p0_ :=
- string_drop _s3545_ _s3546_ in
+ string_drop _s3723_ _s3724_ in
if generic_eq p0_ "" then
Some (FCVT_W_S, rd, rs1, rm)
else None
@@ -36257,52 +36767,52 @@ Definition _s3531_ (_s3532_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3514_ (_s3515_ : string)
+Definition _s3692_ (_s3693_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3515_ with
- | _s3516_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s3516_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3693_ with
+ | _s3694_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s3694_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_S, existT _ _s3517_ _) =>
- (match (string_drop _s3516_ _s3517_) with
- | _s3518_ =>
- (spc_matches_prefix _s3518_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_S, existT _ _s3695_ _) =>
+ (match (string_drop _s3694_ _s3695_) with
+ | _s3696_ =>
+ (spc_matches_prefix _s3696_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3519_ _) =>
- (match (string_drop _s3518_ _s3519_) with
- | _s3520_ =>
- (freg_name_matches_prefix _s3520_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3697_ _) =>
+ (match (string_drop _s3696_ _s3697_) with
+ | _s3698_ =>
+ (freg_name_matches_prefix _s3698_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3521_ _) =>
- (match (string_drop _s3520_ _s3521_) with
- | _s3522_ =>
- (sep_matches_prefix _s3522_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3699_ _) =>
+ (match (string_drop _s3698_ _s3699_) with
+ | _s3700_ =>
+ (sep_matches_prefix _s3700_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3523_ _) =>
- (match (string_drop _s3522_ _s3523_) with
- | _s3524_ =>
- (freg_name_matches_prefix _s3524_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3701_ _) =>
+ (match (string_drop _s3700_ _s3701_) with
+ | _s3702_ =>
+ (freg_name_matches_prefix _s3702_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3525_ _) =>
- (match (string_drop _s3524_ _s3525_) with
- | _s3526_ =>
- (sep_matches_prefix _s3526_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3703_ _) =>
+ (match (string_drop _s3702_ _s3703_) with
+ | _s3704_ =>
+ (sep_matches_prefix _s3704_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3527_ _) =>
- (match (string_drop _s3526_ _s3527_) with
- | _s3528_ =>
- (frm_mnemonic_matches_prefix _s3528_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3705_ _) =>
+ (match (string_drop _s3704_ _s3705_) with
+ | _s3706_ =>
+ (frm_mnemonic_matches_prefix _s3706_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s3529_ _) =>
+ | Some (rm, existT _ _s3707_ _) =>
let p0_ :=
- string_drop _s3528_ _s3529_ in
+ string_drop _s3706_ _s3707_ in
if generic_eq p0_ "" then
Some (FSQRT_S, rd, rs1, rm)
else None
@@ -36341,69 +36851,69 @@ Definition _s3514_ (_s3515_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s3493_ (_s3494_ : string)
+Definition _s3671_ (_s3672_ : string)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3494_ with
- | _s3495_ =>
- (f_bin_rm_type_mnemonic_S_matches_prefix _s3495_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s3672_ with
+ | _s3673_ =>
+ (f_bin_rm_type_mnemonic_S_matches_prefix _s3673_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3496_ _) =>
- (match (string_drop _s3495_ _s3496_) with
- | _s3497_ =>
- (spc_matches_prefix _s3497_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3674_ _) =>
+ (match (string_drop _s3673_ _s3674_) with
+ | _s3675_ =>
+ (spc_matches_prefix _s3675_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3498_ _) =>
- (match (string_drop _s3497_ _s3498_) with
- | _s3499_ =>
- (freg_name_matches_prefix _s3499_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3676_ _) =>
+ (match (string_drop _s3675_ _s3676_) with
+ | _s3677_ =>
+ (freg_name_matches_prefix _s3677_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3500_ _) =>
- (match (string_drop _s3499_ _s3500_) with
- | _s3501_ =>
- (sep_matches_prefix _s3501_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3678_ _) =>
+ (match (string_drop _s3677_ _s3678_) with
+ | _s3679_ =>
+ (sep_matches_prefix _s3679_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3502_ _) =>
- (match (string_drop _s3501_ _s3502_) with
- | _s3503_ =>
- (freg_name_matches_prefix _s3503_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3680_ _) =>
+ (match (string_drop _s3679_ _s3680_) with
+ | _s3681_ =>
+ (freg_name_matches_prefix _s3681_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3504_ _) =>
- (match (string_drop _s3503_ _s3504_) with
- | _s3505_ =>
- (sep_matches_prefix _s3505_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3682_ _) =>
+ (match (string_drop _s3681_ _s3682_) with
+ | _s3683_ =>
+ (sep_matches_prefix _s3683_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3506_ _) =>
- (match (string_drop _s3505_ _s3506_) with
- | _s3507_ =>
- (freg_name_matches_prefix _s3507_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3684_ _) =>
+ (match (string_drop _s3683_ _s3684_) with
+ | _s3685_ =>
+ (freg_name_matches_prefix _s3685_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s3508_ _) =>
- (match (string_drop _s3507_ _s3508_) with
- | _s3509_ =>
- (sep_matches_prefix _s3509_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3686_ _) =>
+ (match (string_drop _s3685_ _s3686_) with
+ | _s3687_ =>
+ (sep_matches_prefix _s3687_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s3510_ _) =>
- (match (string_drop _s3509_
- _s3510_) with
- | _s3511_ =>
+ | Some (tt, existT _ _s3688_ _) =>
+ (match (string_drop _s3687_
+ _s3688_) with
+ | _s3689_ =>
(frm_mnemonic_matches_prefix
- _s3511_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s3689_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s3512_ _) =>
+ (rm, existT _ _s3690_ _) =>
let p0_ :=
string_drop
- _s3511_
- _s3512_ in
+ _s3689_
+ _s3690_ in
if generic_eq p0_
"" then
Some
@@ -36454,88 +36964,88 @@ Definition _s3493_ (_s3494_ : string)
end)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s3468_ (_s3469_ : string)
+Definition _s3646_ (_s3647_ : string)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s3469_ with
- | _s3470_ =>
- (f_madd_type_mnemonic_S_matches_prefix _s3470_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
+ (match _s3647_ with
+ | _s3648_ =>
+ (f_madd_type_mnemonic_S_matches_prefix _s3648_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3471_ _) =>
- (match (string_drop _s3470_ _s3471_) with
- | _s3472_ =>
- (spc_matches_prefix _s3472_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3649_ _) =>
+ (match (string_drop _s3648_ _s3649_) with
+ | _s3650_ =>
+ (spc_matches_prefix _s3650_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3473_ _) =>
- (match (string_drop _s3472_ _s3473_) with
- | _s3474_ =>
- (freg_name_matches_prefix _s3474_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3651_ _) =>
+ (match (string_drop _s3650_ _s3651_) with
+ | _s3652_ =>
+ (freg_name_matches_prefix _s3652_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3475_ _) =>
- (match (string_drop _s3474_ _s3475_) with
- | _s3476_ =>
- (sep_matches_prefix _s3476_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3653_ _) =>
+ (match (string_drop _s3652_ _s3653_) with
+ | _s3654_ =>
+ (sep_matches_prefix _s3654_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3477_ _) =>
- (match (string_drop _s3476_ _s3477_) with
- | _s3478_ =>
- (freg_name_matches_prefix _s3478_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3655_ _) =>
+ (match (string_drop _s3654_ _s3655_) with
+ | _s3656_ =>
+ (freg_name_matches_prefix _s3656_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3479_ _) =>
- (match (string_drop _s3478_ _s3479_) with
- | _s3480_ =>
- (sep_matches_prefix _s3480_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3657_ _) =>
+ (match (string_drop _s3656_ _s3657_) with
+ | _s3658_ =>
+ (sep_matches_prefix _s3658_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3481_ _) =>
- (match (string_drop _s3480_ _s3481_) with
- | _s3482_ =>
- (freg_name_matches_prefix _s3482_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3659_ _) =>
+ (match (string_drop _s3658_ _s3659_) with
+ | _s3660_ =>
+ (freg_name_matches_prefix _s3660_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s3483_ _) =>
- (match (string_drop _s3482_ _s3483_) with
- | _s3484_ =>
- (sep_matches_prefix _s3484_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3661_ _) =>
+ (match (string_drop _s3660_ _s3661_) with
+ | _s3662_ =>
+ (sep_matches_prefix _s3662_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s3485_ _) =>
- (match (string_drop _s3484_
- _s3485_) with
- | _s3486_ =>
+ | Some (tt, existT _ _s3663_ _) =>
+ (match (string_drop _s3662_
+ _s3663_) with
+ | _s3664_ =>
(freg_name_matches_prefix
- _s3486_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s3664_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s3487_ _) =>
+ (rs3, existT _ _s3665_ _) =>
(match (string_drop
- _s3486_ _s3487_) with
- | _s3488_ =>
+ _s3664_ _s3665_) with
+ | _s3666_ =>
(sep_matches_prefix
- _s3488_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3666_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s3489_ _) =>
+ (tt, existT _ _s3667_ _) =>
(match (string_drop
- _s3488_
- _s3489_) with
- | _s3490_ =>
+ _s3666_
+ _s3667_) with
+ | _s3668_ =>
(frm_mnemonic_matches_prefix
- _s3490_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s3668_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s3491_ _) =>
+ (rm, existT _ _s3669_ _) =>
let p0_ :=
string_drop
- _s3490_
- _s3491_ in
+ _s3668_
+ _s3669_ in
if
generic_eq
p0_
@@ -36601,81 +37111,81 @@ Definition _s3468_ (_s3469_ : string)
end)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s3444_ (_s3445_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s3446_ := _s3445_ in
- (if string_startswith _s3446_ "fs" then
- (match (string_drop _s3446_ (projT1 (string_length "fs"))) with
- | _s3447_ =>
- (size_mnemonic_matches_prefix _s3447_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s3622_ (_s3623_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s3624_ := _s3623_ in
+ (if string_startswith _s3624_ "fs" then
+ (match (string_drop _s3624_ (projT1 (string_length "fs"))) with
+ | _s3625_ =>
+ (size_mnemonic_matches_prefix _s3625_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s3448_ _) =>
- (match (string_drop _s3447_ _s3448_) with
- | _s3449_ =>
- (spc_matches_prefix _s3449_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s3626_ _) =>
+ (match (string_drop _s3625_ _s3626_) with
+ | _s3627_ =>
+ (spc_matches_prefix _s3627_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3450_ _) =>
- (match (string_drop _s3449_ _s3450_) with
- | _s3451_ =>
- (freg_name_matches_prefix _s3451_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3628_ _) =>
+ (match (string_drop _s3627_ _s3628_) with
+ | _s3629_ =>
+ (freg_name_matches_prefix _s3629_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs2, existT _ _s3452_ _) =>
- (match (string_drop _s3451_ _s3452_) with
- | _s3453_ =>
- (sep_matches_prefix _s3453_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3630_ _) =>
+ (match (string_drop _s3629_ _s3630_) with
+ | _s3631_ =>
+ (sep_matches_prefix _s3631_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3454_ _) =>
- (match (string_drop _s3453_ _s3454_) with
- | _s3455_ =>
- (match (hex_bits_12_matches_prefix _s3455_) with
- | Some (imm, existT _ _s3456_ _) =>
- (match (string_drop _s3455_ _s3456_) with
- | _s3457_ =>
- (opt_spc_matches_prefix _s3457_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3632_ _) =>
+ (match (string_drop _s3631_ _s3632_) with
+ | _s3633_ =>
+ (match (hex_bits_12_matches_prefix _s3633_) with
+ | Some (imm, existT _ _s3634_ _) =>
+ (match (string_drop _s3633_ _s3634_) with
+ | _s3635_ =>
+ (opt_spc_matches_prefix _s3635_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s3458_ _) =>
- let _s3459_ := string_drop _s3457_ _s3458_ in
- (if string_startswith _s3459_ "(" then
- (match (string_drop _s3459_
+ | Some (tt, existT _ _s3636_ _) =>
+ let _s3637_ := string_drop _s3635_ _s3636_ in
+ (if string_startswith _s3637_ "(" then
+ (match (string_drop _s3637_
(projT1
(string_length "("))) with
- | _s3460_ =>
- (opt_spc_matches_prefix _s3460_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s3638_ =>
+ (opt_spc_matches_prefix _s3638_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3461_ _) =>
- (match (string_drop _s3460_ _s3461_) with
- | _s3462_ =>
+ | Some (tt, existT _ _s3639_ _) =>
+ (match (string_drop _s3638_ _s3639_) with
+ | _s3640_ =>
(reg_name_matches_prefix
- _s3462_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s3640_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s3463_ _) =>
- (match (string_drop _s3462_
- _s3463_) with
- | _s3464_ =>
+ (rs1, existT _ _s3641_ _) =>
+ (match (string_drop _s3640_
+ _s3641_) with
+ | _s3642_ =>
(opt_spc_matches_prefix
- _s3464_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3642_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s3465_ _) =>
- let _s3466_ :=
+ (tt, existT _ _s3643_ _) =>
+ let _s3644_ :=
string_drop
- _s3464_
- _s3465_ in
+ _s3642_
+ _s3643_ in
if string_startswith
- _s3466_
+ _s3644_
")"
then
let p0_ :=
string_drop
- _s3466_
+ _s3644_
(projT1
(string_length
")")) in
@@ -36736,81 +37246,81 @@ Definition _s3444_ (_s3445_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s3420_ (_s3421_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s3422_ := _s3421_ in
- (if string_startswith _s3422_ "fl" then
- (match (string_drop _s3422_ (projT1 (string_length "fl"))) with
- | _s3423_ =>
- (size_mnemonic_matches_prefix _s3423_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s3598_ (_s3599_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s3600_ := _s3599_ in
+ (if string_startswith _s3600_ "fl" then
+ (match (string_drop _s3600_ (projT1 (string_length "fl"))) with
+ | _s3601_ =>
+ (size_mnemonic_matches_prefix _s3601_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s3424_ _) =>
- (match (string_drop _s3423_ _s3424_) with
- | _s3425_ =>
- (spc_matches_prefix _s3425_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s3602_ _) =>
+ (match (string_drop _s3601_ _s3602_) with
+ | _s3603_ =>
+ (spc_matches_prefix _s3603_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3426_ _) =>
- (match (string_drop _s3425_ _s3426_) with
- | _s3427_ =>
- (freg_name_matches_prefix _s3427_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3604_ _) =>
+ (match (string_drop _s3603_ _s3604_) with
+ | _s3605_ =>
+ (freg_name_matches_prefix _s3605_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3428_ _) =>
- (match (string_drop _s3427_ _s3428_) with
- | _s3429_ =>
- (sep_matches_prefix _s3429_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3606_ _) =>
+ (match (string_drop _s3605_ _s3606_) with
+ | _s3607_ =>
+ (sep_matches_prefix _s3607_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3430_ _) =>
- (match (string_drop _s3429_ _s3430_) with
- | _s3431_ =>
- (match (hex_bits_12_matches_prefix _s3431_) with
- | Some (imm, existT _ _s3432_ _) =>
- (match (string_drop _s3431_ _s3432_) with
- | _s3433_ =>
- (opt_spc_matches_prefix _s3433_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3608_ _) =>
+ (match (string_drop _s3607_ _s3608_) with
+ | _s3609_ =>
+ (match (hex_bits_12_matches_prefix _s3609_) with
+ | Some (imm, existT _ _s3610_ _) =>
+ (match (string_drop _s3609_ _s3610_) with
+ | _s3611_ =>
+ (opt_spc_matches_prefix _s3611_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s3434_ _) =>
- let _s3435_ := string_drop _s3433_ _s3434_ in
- (if string_startswith _s3435_ "(" then
- (match (string_drop _s3435_
+ | Some (tt, existT _ _s3612_ _) =>
+ let _s3613_ := string_drop _s3611_ _s3612_ in
+ (if string_startswith _s3613_ "(" then
+ (match (string_drop _s3613_
(projT1
(string_length "("))) with
- | _s3436_ =>
- (opt_spc_matches_prefix _s3436_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s3614_ =>
+ (opt_spc_matches_prefix _s3614_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3437_ _) =>
- (match (string_drop _s3436_ _s3437_) with
- | _s3438_ =>
+ | Some (tt, existT _ _s3615_ _) =>
+ (match (string_drop _s3614_ _s3615_) with
+ | _s3616_ =>
(reg_name_matches_prefix
- _s3438_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s3616_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s3439_ _) =>
- (match (string_drop _s3438_
- _s3439_) with
- | _s3440_ =>
+ (rs1, existT _ _s3617_ _) =>
+ (match (string_drop _s3616_
+ _s3617_) with
+ | _s3618_ =>
(opt_spc_matches_prefix
- _s3440_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3618_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s3441_ _) =>
- let _s3442_ :=
+ (tt, existT _ _s3619_ _) =>
+ let _s3620_ :=
string_drop
- _s3440_
- _s3441_ in
+ _s3618_
+ _s3619_ in
if string_startswith
- _s3442_
+ _s3620_
")"
then
let p0_ :=
string_drop
- _s3442_
+ _s3620_
(projT1
(string_length
")")) in
@@ -36871,51 +37381,343 @@ Definition _s3420_ (_s3421_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s3403_ (_s3404_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s3404_ with
- | _s3405_ =>
- (csr_mnemonic_matches_prefix _s3405_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s3586_ (_s3587_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s3588_ := _s3587_ in
+ (if string_startswith _s3588_ "fence.i.reserved." then
+ (match (string_drop _s3588_ (projT1 (string_length "fence.i.reserved."))) with
+ | _s3589_ =>
+ (reg_name_matches_prefix _s3589_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (rd, existT _ _s3590_ _) =>
+ let _s3591_ := string_drop _s3589_ _s3590_ in
+ (if string_startswith _s3591_ "." then
+ (match (string_drop _s3591_ (projT1 (string_length "."))) with
+ | _s3592_ =>
+ (reg_name_matches_prefix _s3592_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__1 with
+ | Some (rs, existT _ _s3593_ _) =>
+ let _s3594_ := string_drop _s3592_ _s3593_ in
+ if string_startswith _s3594_ "." then
+ match (string_drop _s3594_ (projT1 (string_length "."))) with
+ | _s3595_ =>
+ match (hex_bits_12_matches_prefix _s3595_) with
+ | Some (imm, existT _ _s3596_ _) =>
+ let p0_ := string_drop _s3595_ _s3596_ in
+ if generic_eq p0_ "" then Some (rd, rs, imm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12))).
+
+Definition _s3568_ (_s3569_ : string)
+: M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))) :=
+ let _s3570_ := _s3569_ in
+ (if string_startswith _s3570_ "fence.reserved." then
+ (match (string_drop _s3570_ (projT1 (string_length "fence.reserved."))) with
+ | _s3571_ =>
+ (fence_bits_matches_prefix _s3571_) >>= fun w__0 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (pred, existT _ _s3572_ _) =>
+ let _s3573_ := string_drop _s3571_ _s3572_ in
+ (if string_startswith _s3573_ "." then
+ (match (string_drop _s3573_ (projT1 (string_length "."))) with
+ | _s3574_ =>
+ (fence_bits_matches_prefix _s3574_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__1 with
+ | Some (succ, existT _ _s3575_ _) =>
+ let _s3576_ := string_drop _s3574_ _s3575_ in
+ (if string_startswith _s3576_ "." then
+ (match (string_drop _s3576_ (projT1 (string_length "."))) with
+ | _s3577_ =>
+ (reg_name_matches_prefix _s3577_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__2 with
+ | Some (rs, existT _ _s3578_ _) =>
+ let _s3579_ := string_drop _s3577_ _s3578_ in
+ (if string_startswith _s3579_ "." then
+ (match (string_drop _s3579_ (projT1 (string_length "."))) with
+ | _s3580_ =>
+ (reg_name_matches_prefix _s3580_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__3 with
+ | Some (rd, existT _ _s3581_ _) =>
+ let _s3582_ := string_drop _s3580_ _s3581_ in
+ if string_startswith _s3582_ "." then
+ match (string_drop _s3582_
+ (projT1
+ (string_length "."))) with
+ | _s3583_ =>
+ match (hex_bits_4_matches_prefix _s3583_) with
+ | Some (fm, existT _ _s3584_ _) =>
+ let p0_ :=
+ string_drop _s3583_ _s3584_ in
+ if generic_eq p0_ "" then
+ Some (pred, succ, rs, rd, fm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))).
+
+Definition _s3562_ (_s3563_ : string) : M (option (mword 3)) :=
+ let _s3564_ := _s3563_ in
+ (if string_startswith _s3564_ "c.srai.hint." then
+ (match (string_drop _s3564_ (projT1 (string_length "c.srai.hint."))) with
+ | _s3565_ =>
+ (creg_name_matches_prefix _s3565_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s3566_ _) =>
+ let p0_ := string_drop _s3565_ _s3566_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s3556_ (_s3557_ : string) : M (option (mword 3)) :=
+ let _s3558_ := _s3557_ in
+ (if string_startswith _s3558_ "c.srli.hint." then
+ (match (string_drop _s3558_ (projT1 (string_length "c.srli.hint."))) with
+ | _s3559_ =>
+ (creg_name_matches_prefix _s3559_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s3560_ _) =>
+ let p0_ := string_drop _s3559_ _s3560_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s3547_ (_s3548_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3549_ := _s3548_ in
+ (if string_startswith _s3549_ "c.slli.hint." then
+ (match (string_drop _s3549_ (projT1 (string_length "c.slli.hint."))) with
+ | _s3550_ =>
+ (reg_name_matches_prefix _s3550_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s3551_ _) =>
+ let _s3552_ := string_drop _s3550_ _s3551_ in
+ if string_startswith _s3552_ "." then
+ match (string_drop _s3552_ (projT1 (string_length "."))) with
+ | _s3553_ =>
+ match (hex_bits_6_matches_prefix _s3553_) with
+ | Some (shamt, existT _ _s3554_ _) =>
+ let p0_ := string_drop _s3553_ _s3554_ in
+ if generic_eq p0_ "" then Some (rsd, shamt)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 6)))
+ else returnm None)
+ : M (option ((mword 5 * mword 6))).
+
+Definition _s3541_ (_s3542_ : string) : M (option (mword 5)) :=
+ let _s3543_ := _s3542_ in
+ (if string_startswith _s3543_ "c.add.hint." then
+ (match (string_drop _s3543_ (projT1 (string_length "c.add.hint."))) with
+ | _s3544_ =>
+ (reg_name_matches_prefix _s3544_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s3545_ _) =>
+ let p0_ := string_drop _s3544_ _s3545_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s3535_ (_s3536_ : string) : M (option (mword 5)) :=
+ let _s3537_ := _s3536_ in
+ (if string_startswith _s3537_ "c.mv.hint." then
+ (match (string_drop _s3537_ (projT1 (string_length "c.mv.hint."))) with
+ | _s3538_ =>
+ (reg_name_matches_prefix _s3538_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s3539_ _) =>
+ let p0_ := string_drop _s3538_ _s3539_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s3529_ (_s3530_ : string) : option (mword 6) :=
+ let _s3531_ := _s3530_ in
+ if string_startswith _s3531_ "c.lui.hint." then
+ match (string_drop _s3531_ (projT1 (string_length "c.lui.hint."))) with
+ | _s3532_ =>
+ match (hex_bits_6_matches_prefix _s3532_) with
+ | Some (imm, existT _ _s3533_ _) =>
+ let p0_ := string_drop _s3532_ _s3533_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s3523_ (_s3524_ : string) : option (mword 6) :=
+ let _s3525_ := _s3524_ in
+ if string_startswith _s3525_ "c.li.hint." then
+ match (string_drop _s3525_ (projT1 (string_length "c.li.hint."))) with
+ | _s3526_ =>
+ match (hex_bits_6_matches_prefix _s3526_) with
+ | Some (imm, existT _ _s3527_ _) =>
+ let p0_ := string_drop _s3526_ _s3527_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s3517_ (_s3518_ : string) : M (option (mword 5)) :=
+ let _s3519_ := _s3518_ in
+ (if string_startswith _s3519_ "c.addi.hint." then
+ (match (string_drop _s3519_ (projT1 (string_length "c.addi.hint."))) with
+ | _s3520_ =>
+ (reg_name_matches_prefix _s3520_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s3521_ _) =>
+ let p0_ := string_drop _s3520_ _s3521_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s3511_ (_s3512_ : string) : option (mword 6) :=
+ let _s3513_ := _s3512_ in
+ if string_startswith _s3513_ "c.nop.hint." then
+ match (string_drop _s3513_ (projT1 (string_length "c.nop.hint."))) with
+ | _s3514_ =>
+ match (hex_bits_6_matches_prefix _s3514_) with
+ | Some (imm, existT _ _s3515_ _) =>
+ let p0_ := string_drop _s3514_ _s3515_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s3494_ (_s3495_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s3495_ with
+ | _s3496_ =>
+ (csr_mnemonic_matches_prefix _s3496_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3406_ _) =>
- (match (string_drop _s3405_ _s3406_) with
- | _s3407_ =>
- (spc_matches_prefix _s3407_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3497_ _) =>
+ (match (string_drop _s3496_ _s3497_) with
+ | _s3498_ =>
+ (spc_matches_prefix _s3498_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3408_ _) =>
- (match (string_drop _s3407_ _s3408_) with
- | _s3409_ =>
- (reg_name_matches_prefix _s3409_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3499_ _) =>
+ (match (string_drop _s3498_ _s3499_) with
+ | _s3500_ =>
+ (reg_name_matches_prefix _s3500_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3410_ _) =>
- (match (string_drop _s3409_ _s3410_) with
- | _s3411_ =>
- (sep_matches_prefix _s3411_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3501_ _) =>
+ (match (string_drop _s3500_ _s3501_) with
+ | _s3502_ =>
+ (sep_matches_prefix _s3502_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3412_ _) =>
- (match (string_drop _s3411_ _s3412_) with
- | _s3413_ =>
- (csr_name_map_matches_prefix _s3413_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3503_ _) =>
+ (match (string_drop _s3502_ _s3503_) with
+ | _s3504_ =>
+ (csr_name_map_matches_prefix _s3504_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s3414_ _) =>
- (match (string_drop _s3413_ _s3414_) with
- | _s3415_ =>
- (sep_matches_prefix _s3415_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s3505_ _) =>
+ (match (string_drop _s3504_ _s3505_) with
+ | _s3506_ =>
+ (sep_matches_prefix _s3506_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3416_ _) =>
- (match (string_drop _s3415_ _s3416_) with
- | _s3417_ =>
- (reg_name_matches_prefix _s3417_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3507_ _) =>
+ (match (string_drop _s3506_ _s3507_) with
+ | _s3508_ =>
+ (reg_name_matches_prefix _s3508_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s3418_ _) =>
+ | Some (rs1, existT _ _s3509_ _) =>
let p0_ :=
- string_drop _s3417_ _s3418_ in
+ string_drop _s3508_ _s3509_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -36954,52 +37756,52 @@ Definition _s3403_ (_s3404_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s3385_ (_s3386_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s3386_ with
- | _s3387_ =>
- (csr_mnemonic_matches_prefix _s3387_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s3476_ (_s3477_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s3477_ with
+ | _s3478_ =>
+ (csr_mnemonic_matches_prefix _s3478_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3388_ _) =>
- let _s3389_ := string_drop _s3387_ _s3388_ in
- (if string_startswith _s3389_ "i" then
- (match (string_drop _s3389_ (projT1 (string_length "i"))) with
- | _s3390_ =>
- (spc_matches_prefix _s3390_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3479_ _) =>
+ let _s3480_ := string_drop _s3478_ _s3479_ in
+ (if string_startswith _s3480_ "i" then
+ (match (string_drop _s3480_ (projT1 (string_length "i"))) with
+ | _s3481_ =>
+ (spc_matches_prefix _s3481_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3391_ _) =>
- (match (string_drop _s3390_ _s3391_) with
- | _s3392_ =>
- (reg_name_matches_prefix _s3392_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3482_ _) =>
+ (match (string_drop _s3481_ _s3482_) with
+ | _s3483_ =>
+ (reg_name_matches_prefix _s3483_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3393_ _) =>
- (match (string_drop _s3392_ _s3393_) with
- | _s3394_ =>
- (sep_matches_prefix _s3394_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3484_ _) =>
+ (match (string_drop _s3483_ _s3484_) with
+ | _s3485_ =>
+ (sep_matches_prefix _s3485_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3395_ _) =>
- (match (string_drop _s3394_ _s3395_) with
- | _s3396_ =>
- (csr_name_map_matches_prefix _s3396_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3486_ _) =>
+ (match (string_drop _s3485_ _s3486_) with
+ | _s3487_ =>
+ (csr_name_map_matches_prefix _s3487_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s3397_ _) =>
- (match (string_drop _s3396_ _s3397_) with
- | _s3398_ =>
- (sep_matches_prefix _s3398_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s3488_ _) =>
+ (match (string_drop _s3487_ _s3488_) with
+ | _s3489_ =>
+ (sep_matches_prefix _s3489_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3399_ _) =>
- match (string_drop _s3398_ _s3399_) with
- | _s3400_ =>
+ | Some (tt, existT _ _s3490_ _) =>
+ match (string_drop _s3489_ _s3490_) with
+ | _s3491_ =>
match (hex_bits_5_matches_prefix
- _s3400_) with
- | Some (rs1, existT _ _s3401_ _) =>
+ _s3491_) with
+ | Some (rs1, existT _ _s3492_ _) =>
let p0_ :=
- string_drop _s3400_ _s3401_ in
+ string_drop _s3491_ _s3492_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -37038,57 +37840,57 @@ Definition _s3385_ (_s3386_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s3366_ (_s3367_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3368_ := _s3367_ in
- (if string_startswith _s3368_ "rem" then
- (match (string_drop _s3368_ (projT1 (string_length "rem"))) with
- | _s3369_ =>
- (maybe_not_u_matches_prefix _s3369_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s3457_ (_s3458_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s3459_ := _s3458_ in
+ (if string_startswith _s3459_ "rem" then
+ (match (string_drop _s3459_ (projT1 (string_length "rem"))) with
+ | _s3460_ =>
+ (maybe_not_u_matches_prefix _s3460_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3370_ _) =>
- let _s3371_ := string_drop _s3369_ _s3370_ in
- (if string_startswith _s3371_ "w" then
- (match (string_drop _s3371_ (projT1 (string_length "w"))) with
- | _s3372_ =>
- (spc_matches_prefix _s3372_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s3461_ _) =>
+ let _s3462_ := string_drop _s3460_ _s3461_ in
+ (if string_startswith _s3462_ "w" then
+ (match (string_drop _s3462_ (projT1 (string_length "w"))) with
+ | _s3463_ =>
+ (spc_matches_prefix _s3463_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3373_ _) =>
- (match (string_drop _s3372_ _s3373_) with
- | _s3374_ =>
- (reg_name_matches_prefix _s3374_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3464_ _) =>
+ (match (string_drop _s3463_ _s3464_) with
+ | _s3465_ =>
+ (reg_name_matches_prefix _s3465_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3375_ _) =>
- (match (string_drop _s3374_ _s3375_) with
- | _s3376_ =>
- (sep_matches_prefix _s3376_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3466_ _) =>
+ (match (string_drop _s3465_ _s3466_) with
+ | _s3467_ =>
+ (sep_matches_prefix _s3467_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3377_ _) =>
- (match (string_drop _s3376_ _s3377_) with
- | _s3378_ =>
- (reg_name_matches_prefix _s3378_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3468_ _) =>
+ (match (string_drop _s3467_ _s3468_) with
+ | _s3469_ =>
+ (reg_name_matches_prefix _s3469_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3379_ _) =>
- (match (string_drop _s3378_ _s3379_) with
- | _s3380_ =>
- (sep_matches_prefix _s3380_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3470_ _) =>
+ (match (string_drop _s3469_ _s3470_) with
+ | _s3471_ =>
+ (sep_matches_prefix _s3471_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3381_ _) =>
- (match (string_drop _s3380_ _s3381_) with
- | _s3382_ =>
- (reg_name_matches_prefix _s3382_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3472_ _) =>
+ (match (string_drop _s3471_ _s3472_) with
+ | _s3473_ =>
+ (reg_name_matches_prefix _s3473_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s3383_ _) =>
+ (rs2, existT _ _s3474_ _) =>
let p0_ :=
- string_drop _s3382_
- _s3383_ in
+ string_drop _s3473_
+ _s3474_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -37131,57 +37933,57 @@ Definition _s3366_ (_s3367_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3347_ (_s3348_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3349_ := _s3348_ in
- (if string_startswith _s3349_ "div" then
- (match (string_drop _s3349_ (projT1 (string_length "div"))) with
- | _s3350_ =>
- (maybe_not_u_matches_prefix _s3350_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s3438_ (_s3439_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s3440_ := _s3439_ in
+ (if string_startswith _s3440_ "div" then
+ (match (string_drop _s3440_ (projT1 (string_length "div"))) with
+ | _s3441_ =>
+ (maybe_not_u_matches_prefix _s3441_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3351_ _) =>
- let _s3352_ := string_drop _s3350_ _s3351_ in
- (if string_startswith _s3352_ "w" then
- (match (string_drop _s3352_ (projT1 (string_length "w"))) with
- | _s3353_ =>
- (spc_matches_prefix _s3353_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s3442_ _) =>
+ let _s3443_ := string_drop _s3441_ _s3442_ in
+ (if string_startswith _s3443_ "w" then
+ (match (string_drop _s3443_ (projT1 (string_length "w"))) with
+ | _s3444_ =>
+ (spc_matches_prefix _s3444_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3354_ _) =>
- (match (string_drop _s3353_ _s3354_) with
- | _s3355_ =>
- (reg_name_matches_prefix _s3355_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3445_ _) =>
+ (match (string_drop _s3444_ _s3445_) with
+ | _s3446_ =>
+ (reg_name_matches_prefix _s3446_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3356_ _) =>
- (match (string_drop _s3355_ _s3356_) with
- | _s3357_ =>
- (sep_matches_prefix _s3357_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3447_ _) =>
+ (match (string_drop _s3446_ _s3447_) with
+ | _s3448_ =>
+ (sep_matches_prefix _s3448_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3358_ _) =>
- (match (string_drop _s3357_ _s3358_) with
- | _s3359_ =>
- (reg_name_matches_prefix _s3359_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3449_ _) =>
+ (match (string_drop _s3448_ _s3449_) with
+ | _s3450_ =>
+ (reg_name_matches_prefix _s3450_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3360_ _) =>
- (match (string_drop _s3359_ _s3360_) with
- | _s3361_ =>
- (sep_matches_prefix _s3361_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3451_ _) =>
+ (match (string_drop _s3450_ _s3451_) with
+ | _s3452_ =>
+ (sep_matches_prefix _s3452_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3362_ _) =>
- (match (string_drop _s3361_ _s3362_) with
- | _s3363_ =>
- (reg_name_matches_prefix _s3363_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3453_ _) =>
+ (match (string_drop _s3452_ _s3453_) with
+ | _s3454_ =>
+ (reg_name_matches_prefix _s3454_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s3364_ _) =>
+ (rs2, existT _ _s3455_ _) =>
let p0_ :=
- string_drop _s3363_
- _s3364_ in
+ string_drop _s3454_
+ _s3455_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -37224,45 +38026,45 @@ Definition _s3347_ (_s3348_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3331_ (_s3332_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
- let _s3333_ := _s3332_ in
- (if string_startswith _s3333_ "mulw" then
- (match (string_drop _s3333_ (projT1 (string_length "mulw"))) with
- | _s3334_ =>
- (spc_matches_prefix _s3334_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3422_ (_s3423_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
+ let _s3424_ := _s3423_ in
+ (if string_startswith _s3424_ "mulw" then
+ (match (string_drop _s3424_ (projT1 (string_length "mulw"))) with
+ | _s3425_ =>
+ (spc_matches_prefix _s3425_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3335_ _) =>
- (match (string_drop _s3334_ _s3335_) with
- | _s3336_ =>
- (reg_name_matches_prefix _s3336_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3426_ _) =>
+ (match (string_drop _s3425_ _s3426_) with
+ | _s3427_ =>
+ (reg_name_matches_prefix _s3427_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3337_ _) =>
- (match (string_drop _s3336_ _s3337_) with
- | _s3338_ =>
- (sep_matches_prefix _s3338_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3428_ _) =>
+ (match (string_drop _s3427_ _s3428_) with
+ | _s3429_ =>
+ (sep_matches_prefix _s3429_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3339_ _) =>
- (match (string_drop _s3338_ _s3339_) with
- | _s3340_ =>
- (reg_name_matches_prefix _s3340_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3430_ _) =>
+ (match (string_drop _s3429_ _s3430_) with
+ | _s3431_ =>
+ (reg_name_matches_prefix _s3431_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s3341_ _) =>
- (match (string_drop _s3340_ _s3341_) with
- | _s3342_ =>
- (sep_matches_prefix _s3342_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3432_ _) =>
+ (match (string_drop _s3431_ _s3432_) with
+ | _s3433_ =>
+ (sep_matches_prefix _s3433_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s3343_ _) =>
- (match (string_drop _s3342_ _s3343_) with
- | _s3344_ =>
- (reg_name_matches_prefix _s3344_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3434_ _) =>
+ (match (string_drop _s3433_ _s3434_) with
+ | _s3435_ =>
+ (reg_name_matches_prefix _s3435_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (rs2, existT _ _s3345_ _) =>
- let p0_ := string_drop _s3344_ _s3345_ in
+ | Some (rs2, existT _ _s3436_ _) =>
+ let p0_ := string_drop _s3435_ _s3436_ in
if generic_eq p0_ "" then
Some (rd, rs1, rs2)
else None
@@ -37298,53 +38100,53 @@ Definition _s3331_ (_s3332_ : string) : M (option ((mword 5 * mword 5 * mword 5)
else returnm None)
: M (option ((mword 5 * mword 5 * mword 5))).
-Definition _s3313_ (_s3314_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3315_ := _s3314_ in
- (if string_startswith _s3315_ "rem" then
- (match (string_drop _s3315_ (projT1 (string_length "rem"))) with
- | _s3316_ =>
- (maybe_not_u_matches_prefix _s3316_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s3404_ (_s3405_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s3406_ := _s3405_ in
+ (if string_startswith _s3406_ "rem" then
+ (match (string_drop _s3406_ (projT1 (string_length "rem"))) with
+ | _s3407_ =>
+ (maybe_not_u_matches_prefix _s3407_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3317_ _) =>
- (match (string_drop _s3316_ _s3317_) with
- | _s3318_ =>
- (spc_matches_prefix _s3318_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s3408_ _) =>
+ (match (string_drop _s3407_ _s3408_) with
+ | _s3409_ =>
+ (spc_matches_prefix _s3409_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3319_ _) =>
- (match (string_drop _s3318_ _s3319_) with
- | _s3320_ =>
- (reg_name_matches_prefix _s3320_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3410_ _) =>
+ (match (string_drop _s3409_ _s3410_) with
+ | _s3411_ =>
+ (reg_name_matches_prefix _s3411_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3321_ _) =>
- (match (string_drop _s3320_ _s3321_) with
- | _s3322_ =>
- (sep_matches_prefix _s3322_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3412_ _) =>
+ (match (string_drop _s3411_ _s3412_) with
+ | _s3413_ =>
+ (sep_matches_prefix _s3413_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3323_ _) =>
- (match (string_drop _s3322_ _s3323_) with
- | _s3324_ =>
- (reg_name_matches_prefix _s3324_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3414_ _) =>
+ (match (string_drop _s3413_ _s3414_) with
+ | _s3415_ =>
+ (reg_name_matches_prefix _s3415_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3325_ _) =>
- (match (string_drop _s3324_ _s3325_) with
- | _s3326_ =>
- (sep_matches_prefix _s3326_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3416_ _) =>
+ (match (string_drop _s3415_ _s3416_) with
+ | _s3417_ =>
+ (sep_matches_prefix _s3417_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3327_ _) =>
- (match (string_drop _s3326_ _s3327_) with
- | _s3328_ =>
- (reg_name_matches_prefix _s3328_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3418_ _) =>
+ (match (string_drop _s3417_ _s3418_) with
+ | _s3419_ =>
+ (reg_name_matches_prefix _s3419_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3329_ _) =>
+ | Some (rs2, existT _ _s3420_ _) =>
let p0_ :=
- string_drop _s3328_ _s3329_ in
+ string_drop _s3419_ _s3420_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -37385,53 +38187,53 @@ Definition _s3313_ (_s3314_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3295_ (_s3296_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3297_ := _s3296_ in
- (if string_startswith _s3297_ "div" then
- (match (string_drop _s3297_ (projT1 (string_length "div"))) with
- | _s3298_ =>
- (maybe_not_u_matches_prefix _s3298_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s3386_ (_s3387_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s3388_ := _s3387_ in
+ (if string_startswith _s3388_ "div" then
+ (match (string_drop _s3388_ (projT1 (string_length "div"))) with
+ | _s3389_ =>
+ (maybe_not_u_matches_prefix _s3389_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3299_ _) =>
- (match (string_drop _s3298_ _s3299_) with
- | _s3300_ =>
- (spc_matches_prefix _s3300_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s3390_ _) =>
+ (match (string_drop _s3389_ _s3390_) with
+ | _s3391_ =>
+ (spc_matches_prefix _s3391_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3301_ _) =>
- (match (string_drop _s3300_ _s3301_) with
- | _s3302_ =>
- (reg_name_matches_prefix _s3302_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3392_ _) =>
+ (match (string_drop _s3391_ _s3392_) with
+ | _s3393_ =>
+ (reg_name_matches_prefix _s3393_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3303_ _) =>
- (match (string_drop _s3302_ _s3303_) with
- | _s3304_ =>
- (sep_matches_prefix _s3304_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3394_ _) =>
+ (match (string_drop _s3393_ _s3394_) with
+ | _s3395_ =>
+ (sep_matches_prefix _s3395_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3305_ _) =>
- (match (string_drop _s3304_ _s3305_) with
- | _s3306_ =>
- (reg_name_matches_prefix _s3306_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3396_ _) =>
+ (match (string_drop _s3395_ _s3396_) with
+ | _s3397_ =>
+ (reg_name_matches_prefix _s3397_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3307_ _) =>
- (match (string_drop _s3306_ _s3307_) with
- | _s3308_ =>
- (sep_matches_prefix _s3308_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3398_ _) =>
+ (match (string_drop _s3397_ _s3398_) with
+ | _s3399_ =>
+ (sep_matches_prefix _s3399_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3309_ _) =>
- (match (string_drop _s3308_ _s3309_) with
- | _s3310_ =>
- (reg_name_matches_prefix _s3310_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3400_ _) =>
+ (match (string_drop _s3399_ _s3400_) with
+ | _s3401_ =>
+ (reg_name_matches_prefix _s3401_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3311_ _) =>
+ | Some (rs2, existT _ _s3402_ _) =>
let p0_ :=
- string_drop _s3310_ _s3311_ in
+ string_drop _s3401_ _s3402_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -37472,52 +38274,52 @@ Definition _s3295_ (_s3296_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3278_ (_s3279_ : string)
+Definition _s3369_ (_s3370_ : string)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s3279_ with
- | _s3280_ =>
- (mul_mnemonic_matches_prefix _s3280_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
+ (match _s3370_ with
+ | _s3371_ =>
+ (mul_mnemonic_matches_prefix _s3371_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some ((high, signed1, signed2), existT _ _s3281_ _) =>
- (match (string_drop _s3280_ _s3281_) with
- | _s3282_ =>
- (spc_matches_prefix _s3282_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some ((high, signed1, signed2), existT _ _s3372_ _) =>
+ (match (string_drop _s3371_ _s3372_) with
+ | _s3373_ =>
+ (spc_matches_prefix _s3373_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3283_ _) =>
- (match (string_drop _s3282_ _s3283_) with
- | _s3284_ =>
- (reg_name_matches_prefix _s3284_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3374_ _) =>
+ (match (string_drop _s3373_ _s3374_) with
+ | _s3375_ =>
+ (reg_name_matches_prefix _s3375_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3285_ _) =>
- (match (string_drop _s3284_ _s3285_) with
- | _s3286_ =>
- (sep_matches_prefix _s3286_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3376_ _) =>
+ (match (string_drop _s3375_ _s3376_) with
+ | _s3377_ =>
+ (sep_matches_prefix _s3377_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3287_ _) =>
- (match (string_drop _s3286_ _s3287_) with
- | _s3288_ =>
- (reg_name_matches_prefix _s3288_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3378_ _) =>
+ (match (string_drop _s3377_ _s3378_) with
+ | _s3379_ =>
+ (reg_name_matches_prefix _s3379_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3289_ _) =>
- (match (string_drop _s3288_ _s3289_) with
- | _s3290_ =>
- (sep_matches_prefix _s3290_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3380_ _) =>
+ (match (string_drop _s3379_ _s3380_) with
+ | _s3381_ =>
+ (sep_matches_prefix _s3381_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3291_ _) =>
- (match (string_drop _s3290_ _s3291_) with
- | _s3292_ =>
- (reg_name_matches_prefix _s3292_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3382_ _) =>
+ (match (string_drop _s3381_ _s3382_) with
+ | _s3383_ =>
+ (reg_name_matches_prefix _s3383_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3293_ _) =>
+ | Some (rs2, existT _ _s3384_ _) =>
let p0_ :=
- string_drop _s3292_ _s3293_ in
+ string_drop _s3383_ _s3384_ in
if generic_eq p0_ "" then
Some
(high, signed1, signed2, rd, rs1, rs2)
@@ -37557,33 +38359,33 @@ Definition _s3278_ (_s3279_ : string)
end)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s3266_ (_s3267_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s3268_ := _s3267_ in
- (if string_startswith _s3268_ "c.add" then
- (match (string_drop _s3268_ (projT1 (string_length "c.add"))) with
- | _s3269_ =>
- (spc_matches_prefix _s3269_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3357_ (_s3358_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s3359_ := _s3358_ in
+ (if string_startswith _s3359_ "c.add" then
+ (match (string_drop _s3359_ (projT1 (string_length "c.add"))) with
+ | _s3360_ =>
+ (spc_matches_prefix _s3360_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3270_ _) =>
- (match (string_drop _s3269_ _s3270_) with
- | _s3271_ =>
- (reg_name_matches_prefix _s3271_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3361_ _) =>
+ (match (string_drop _s3360_ _s3361_) with
+ | _s3362_ =>
+ (reg_name_matches_prefix _s3362_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3272_ _) =>
- (match (string_drop _s3271_ _s3272_) with
- | _s3273_ =>
- (sep_matches_prefix _s3273_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3363_ _) =>
+ (match (string_drop _s3362_ _s3363_) with
+ | _s3364_ =>
+ (sep_matches_prefix _s3364_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3274_ _) =>
- (match (string_drop _s3273_ _s3274_) with
- | _s3275_ =>
- (reg_name_matches_prefix _s3275_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3365_ _) =>
+ (match (string_drop _s3364_ _s3365_) with
+ | _s3366_ =>
+ (reg_name_matches_prefix _s3366_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3276_ _) =>
- let p0_ := string_drop _s3275_ _s3276_ in
+ | Some (rs2, existT _ _s3367_ _) =>
+ let p0_ := string_drop _s3366_ _s3367_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37608,33 +38410,33 @@ Definition _s3266_ (_s3267_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s3254_ (_s3255_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s3256_ := _s3255_ in
- (if string_startswith _s3256_ "c.mv" then
- (match (string_drop _s3256_ (projT1 (string_length "c.mv"))) with
- | _s3257_ =>
- (spc_matches_prefix _s3257_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3345_ (_s3346_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s3347_ := _s3346_ in
+ (if string_startswith _s3347_ "c.mv" then
+ (match (string_drop _s3347_ (projT1 (string_length "c.mv"))) with
+ | _s3348_ =>
+ (spc_matches_prefix _s3348_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3258_ _) =>
- (match (string_drop _s3257_ _s3258_) with
- | _s3259_ =>
- (reg_name_matches_prefix _s3259_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3349_ _) =>
+ (match (string_drop _s3348_ _s3349_) with
+ | _s3350_ =>
+ (reg_name_matches_prefix _s3350_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3260_ _) =>
- (match (string_drop _s3259_ _s3260_) with
- | _s3261_ =>
- (sep_matches_prefix _s3261_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3351_ _) =>
+ (match (string_drop _s3350_ _s3351_) with
+ | _s3352_ =>
+ (sep_matches_prefix _s3352_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3262_ _) =>
- (match (string_drop _s3261_ _s3262_) with
- | _s3263_ =>
- (reg_name_matches_prefix _s3263_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3353_ _) =>
+ (match (string_drop _s3352_ _s3353_) with
+ | _s3354_ =>
+ (reg_name_matches_prefix _s3354_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3264_ _) =>
- let p0_ := string_drop _s3263_ _s3264_ in
+ | Some (rs2, existT _ _s3355_ _) =>
+ let p0_ := string_drop _s3354_ _s3355_ in
if generic_eq p0_ "" then Some (rd, rs2)
else None
| _ => None
@@ -37659,21 +38461,21 @@ Definition _s3254_ (_s3255_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s3246_ (_s3247_ : string) : M (option (mword 5)) :=
- let _s3248_ := _s3247_ in
- (if string_startswith _s3248_ "c.jalr" then
- (match (string_drop _s3248_ (projT1 (string_length "c.jalr"))) with
- | _s3249_ =>
- (spc_matches_prefix _s3249_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3337_ (_s3338_ : string) : M (option (mword 5)) :=
+ let _s3339_ := _s3338_ in
+ (if string_startswith _s3339_ "c.jalr" then
+ (match (string_drop _s3339_ (projT1 (string_length "c.jalr"))) with
+ | _s3340_ =>
+ (spc_matches_prefix _s3340_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3250_ _) =>
- (match (string_drop _s3249_ _s3250_) with
- | _s3251_ =>
- (reg_name_matches_prefix _s3251_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3341_ _) =>
+ (match (string_drop _s3340_ _s3341_) with
+ | _s3342_ =>
+ (reg_name_matches_prefix _s3342_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s3252_ _) =>
- let p0_ := string_drop _s3251_ _s3252_ in
+ | Some (rs1, existT _ _s3343_ _) =>
+ let p0_ := string_drop _s3342_ _s3343_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -37688,21 +38490,21 @@ Definition _s3246_ (_s3247_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s3238_ (_s3239_ : string) : M (option (mword 5)) :=
- let _s3240_ := _s3239_ in
- (if string_startswith _s3240_ "c.jr" then
- (match (string_drop _s3240_ (projT1 (string_length "c.jr"))) with
- | _s3241_ =>
- (spc_matches_prefix _s3241_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3329_ (_s3330_ : string) : M (option (mword 5)) :=
+ let _s3331_ := _s3330_ in
+ (if string_startswith _s3331_ "c.jr" then
+ (match (string_drop _s3331_ (projT1 (string_length "c.jr"))) with
+ | _s3332_ =>
+ (spc_matches_prefix _s3332_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3242_ _) =>
- (match (string_drop _s3241_ _s3242_) with
- | _s3243_ =>
- (reg_name_matches_prefix _s3243_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3333_ _) =>
+ (match (string_drop _s3332_ _s3333_) with
+ | _s3334_ =>
+ (reg_name_matches_prefix _s3334_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s3244_ _) =>
- let p0_ := string_drop _s3243_ _s3244_ in
+ | Some (rs1, existT _ _s3335_ _) =>
+ let p0_ := string_drop _s3334_ _s3335_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -37717,31 +38519,31 @@ Definition _s3238_ (_s3239_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s3226_ (_s3227_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3228_ := _s3227_ in
- (if string_startswith _s3228_ "c.sdsp" then
- (match (string_drop _s3228_ (projT1 (string_length "c.sdsp"))) with
- | _s3229_ =>
- (spc_matches_prefix _s3229_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3317_ (_s3318_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3319_ := _s3318_ in
+ (if string_startswith _s3319_ "c.sdsp" then
+ (match (string_drop _s3319_ (projT1 (string_length "c.sdsp"))) with
+ | _s3320_ =>
+ (spc_matches_prefix _s3320_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3230_ _) =>
- (match (string_drop _s3229_ _s3230_) with
- | _s3231_ =>
- (reg_name_matches_prefix _s3231_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3321_ _) =>
+ (match (string_drop _s3320_ _s3321_) with
+ | _s3322_ =>
+ (reg_name_matches_prefix _s3322_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s3232_ _) =>
- (match (string_drop _s3231_ _s3232_) with
- | _s3233_ =>
- (sep_matches_prefix _s3233_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3323_ _) =>
+ (match (string_drop _s3322_ _s3323_) with
+ | _s3324_ =>
+ (sep_matches_prefix _s3324_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3234_ _) =>
- match (string_drop _s3233_ _s3234_) with
- | _s3235_ =>
- match (hex_bits_6_matches_prefix _s3235_) with
- | Some (uimm, existT _ _s3236_ _) =>
- let p0_ := string_drop _s3235_ _s3236_ in
+ | Some (tt, existT _ _s3325_ _) =>
+ match (string_drop _s3324_ _s3325_) with
+ | _s3326_ =>
+ match (hex_bits_6_matches_prefix _s3326_) with
+ | Some (uimm, existT _ _s3327_ _) =>
+ let p0_ := string_drop _s3326_ _s3327_ in
if generic_eq p0_ "" then Some (rs2, uimm)
else None
| _ => None
@@ -37764,31 +38566,31 @@ Definition _s3226_ (_s3227_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3214_ (_s3215_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3216_ := _s3215_ in
- (if string_startswith _s3216_ "c.swsp" then
- (match (string_drop _s3216_ (projT1 (string_length "c.swsp"))) with
- | _s3217_ =>
- (spc_matches_prefix _s3217_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3305_ (_s3306_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3307_ := _s3306_ in
+ (if string_startswith _s3307_ "c.swsp" then
+ (match (string_drop _s3307_ (projT1 (string_length "c.swsp"))) with
+ | _s3308_ =>
+ (spc_matches_prefix _s3308_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3218_ _) =>
- (match (string_drop _s3217_ _s3218_) with
- | _s3219_ =>
- (reg_name_matches_prefix _s3219_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3309_ _) =>
+ (match (string_drop _s3308_ _s3309_) with
+ | _s3310_ =>
+ (reg_name_matches_prefix _s3310_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3220_ _) =>
- (match (string_drop _s3219_ _s3220_) with
- | _s3221_ =>
- (sep_matches_prefix _s3221_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3311_ _) =>
+ (match (string_drop _s3310_ _s3311_) with
+ | _s3312_ =>
+ (sep_matches_prefix _s3312_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3222_ _) =>
- match (string_drop _s3221_ _s3222_) with
- | _s3223_ =>
- match (hex_bits_6_matches_prefix _s3223_) with
- | Some (uimm, existT _ _s3224_ _) =>
- let p0_ := string_drop _s3223_ _s3224_ in
+ | Some (tt, existT _ _s3313_ _) =>
+ match (string_drop _s3312_ _s3313_) with
+ | _s3314_ =>
+ match (hex_bits_6_matches_prefix _s3314_) with
+ | Some (uimm, existT _ _s3315_ _) =>
+ let p0_ := string_drop _s3314_ _s3315_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -37811,31 +38613,31 @@ Definition _s3214_ (_s3215_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3202_ (_s3203_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3204_ := _s3203_ in
- (if string_startswith _s3204_ "c.ldsp" then
- (match (string_drop _s3204_ (projT1 (string_length "c.ldsp"))) with
- | _s3205_ =>
- (spc_matches_prefix _s3205_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3293_ (_s3294_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3295_ := _s3294_ in
+ (if string_startswith _s3295_ "c.ldsp" then
+ (match (string_drop _s3295_ (projT1 (string_length "c.ldsp"))) with
+ | _s3296_ =>
+ (spc_matches_prefix _s3296_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3206_ _) =>
- (match (string_drop _s3205_ _s3206_) with
- | _s3207_ =>
- (reg_name_matches_prefix _s3207_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3297_ _) =>
+ (match (string_drop _s3296_ _s3297_) with
+ | _s3298_ =>
+ (reg_name_matches_prefix _s3298_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3208_ _) =>
- (match (string_drop _s3207_ _s3208_) with
- | _s3209_ =>
- (sep_matches_prefix _s3209_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3299_ _) =>
+ (match (string_drop _s3298_ _s3299_) with
+ | _s3300_ =>
+ (sep_matches_prefix _s3300_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3210_ _) =>
- match (string_drop _s3209_ _s3210_) with
- | _s3211_ =>
- match (hex_bits_6_matches_prefix _s3211_) with
- | Some (uimm, existT _ _s3212_ _) =>
- let p0_ := string_drop _s3211_ _s3212_ in
+ | Some (tt, existT _ _s3301_ _) =>
+ match (string_drop _s3300_ _s3301_) with
+ | _s3302_ =>
+ match (hex_bits_6_matches_prefix _s3302_) with
+ | Some (uimm, existT _ _s3303_ _) =>
+ let p0_ := string_drop _s3302_ _s3303_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -37858,31 +38660,31 @@ Definition _s3202_ (_s3203_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3190_ (_s3191_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3192_ := _s3191_ in
- (if string_startswith _s3192_ "c.lwsp" then
- (match (string_drop _s3192_ (projT1 (string_length "c.lwsp"))) with
- | _s3193_ =>
- (spc_matches_prefix _s3193_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3281_ (_s3282_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3283_ := _s3282_ in
+ (if string_startswith _s3283_ "c.lwsp" then
+ (match (string_drop _s3283_ (projT1 (string_length "c.lwsp"))) with
+ | _s3284_ =>
+ (spc_matches_prefix _s3284_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3194_ _) =>
- (match (string_drop _s3193_ _s3194_) with
- | _s3195_ =>
- (reg_name_matches_prefix _s3195_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3285_ _) =>
+ (match (string_drop _s3284_ _s3285_) with
+ | _s3286_ =>
+ (reg_name_matches_prefix _s3286_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3196_ _) =>
- (match (string_drop _s3195_ _s3196_) with
- | _s3197_ =>
- (sep_matches_prefix _s3197_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3287_ _) =>
+ (match (string_drop _s3286_ _s3287_) with
+ | _s3288_ =>
+ (sep_matches_prefix _s3288_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3198_ _) =>
- match (string_drop _s3197_ _s3198_) with
- | _s3199_ =>
- match (hex_bits_6_matches_prefix _s3199_) with
- | Some (uimm, existT _ _s3200_ _) =>
- let p0_ := string_drop _s3199_ _s3200_ in
+ | Some (tt, existT _ _s3289_ _) =>
+ match (string_drop _s3288_ _s3289_) with
+ | _s3290_ =>
+ match (hex_bits_6_matches_prefix _s3290_) with
+ | Some (uimm, existT _ _s3291_ _) =>
+ let p0_ := string_drop _s3290_ _s3291_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -37905,31 +38707,31 @@ Definition _s3190_ (_s3191_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3178_ (_s3179_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3180_ := _s3179_ in
- (if string_startswith _s3180_ "c.slli" then
- (match (string_drop _s3180_ (projT1 (string_length "c.slli"))) with
- | _s3181_ =>
- (spc_matches_prefix _s3181_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3269_ (_s3270_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3271_ := _s3270_ in
+ (if string_startswith _s3271_ "c.slli" then
+ (match (string_drop _s3271_ (projT1 (string_length "c.slli"))) with
+ | _s3272_ =>
+ (spc_matches_prefix _s3272_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3182_ _) =>
- (match (string_drop _s3181_ _s3182_) with
- | _s3183_ =>
- (reg_name_matches_prefix _s3183_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3273_ _) =>
+ (match (string_drop _s3272_ _s3273_) with
+ | _s3274_ =>
+ (reg_name_matches_prefix _s3274_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3184_ _) =>
- (match (string_drop _s3183_ _s3184_) with
- | _s3185_ =>
- (sep_matches_prefix _s3185_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3275_ _) =>
+ (match (string_drop _s3274_ _s3275_) with
+ | _s3276_ =>
+ (sep_matches_prefix _s3276_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3186_ _) =>
- match (string_drop _s3185_ _s3186_) with
- | _s3187_ =>
- match (hex_bits_6_matches_prefix _s3187_) with
- | Some (shamt, existT _ _s3188_ _) =>
- let p0_ := string_drop _s3187_ _s3188_ in
+ | Some (tt, existT _ _s3277_ _) =>
+ match (string_drop _s3276_ _s3277_) with
+ | _s3278_ =>
+ match (hex_bits_6_matches_prefix _s3278_) with
+ | Some (shamt, existT _ _s3279_ _) =>
+ let p0_ := string_drop _s3278_ _s3279_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -37952,31 +38754,31 @@ Definition _s3178_ (_s3179_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3166_ (_s3167_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s3168_ := _s3167_ in
- (if string_startswith _s3168_ "c.bnez" then
- (match (string_drop _s3168_ (projT1 (string_length "c.bnez"))) with
- | _s3169_ =>
- (spc_matches_prefix _s3169_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3257_ (_s3258_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s3259_ := _s3258_ in
+ (if string_startswith _s3259_ "c.bnez" then
+ (match (string_drop _s3259_ (projT1 (string_length "c.bnez"))) with
+ | _s3260_ =>
+ (spc_matches_prefix _s3260_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3170_ _) =>
- (match (string_drop _s3169_ _s3170_) with
- | _s3171_ =>
- (creg_name_matches_prefix _s3171_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3261_ _) =>
+ (match (string_drop _s3260_ _s3261_) with
+ | _s3262_ =>
+ (creg_name_matches_prefix _s3262_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s3172_ _) =>
- (match (string_drop _s3171_ _s3172_) with
- | _s3173_ =>
- (sep_matches_prefix _s3173_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s3263_ _) =>
+ (match (string_drop _s3262_ _s3263_) with
+ | _s3264_ =>
+ (sep_matches_prefix _s3264_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3174_ _) =>
- match (string_drop _s3173_ _s3174_) with
- | _s3175_ =>
- match (hex_bits_8_matches_prefix _s3175_) with
- | Some (imm, existT _ _s3176_ _) =>
- let p0_ := string_drop _s3175_ _s3176_ in
+ | Some (tt, existT _ _s3265_ _) =>
+ match (string_drop _s3264_ _s3265_) with
+ | _s3266_ =>
+ match (hex_bits_8_matches_prefix _s3266_) with
+ | Some (imm, existT _ _s3267_ _) =>
+ let p0_ := string_drop _s3266_ _s3267_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -37999,31 +38801,31 @@ Definition _s3166_ (_s3167_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s3154_ (_s3155_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s3156_ := _s3155_ in
- (if string_startswith _s3156_ "c.beqz" then
- (match (string_drop _s3156_ (projT1 (string_length "c.beqz"))) with
- | _s3157_ =>
- (spc_matches_prefix _s3157_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3245_ (_s3246_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s3247_ := _s3246_ in
+ (if string_startswith _s3247_ "c.beqz" then
+ (match (string_drop _s3247_ (projT1 (string_length "c.beqz"))) with
+ | _s3248_ =>
+ (spc_matches_prefix _s3248_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3158_ _) =>
- (match (string_drop _s3157_ _s3158_) with
- | _s3159_ =>
- (creg_name_matches_prefix _s3159_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3249_ _) =>
+ (match (string_drop _s3248_ _s3249_) with
+ | _s3250_ =>
+ (creg_name_matches_prefix _s3250_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s3160_ _) =>
- (match (string_drop _s3159_ _s3160_) with
- | _s3161_ =>
- (sep_matches_prefix _s3161_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s3251_ _) =>
+ (match (string_drop _s3250_ _s3251_) with
+ | _s3252_ =>
+ (sep_matches_prefix _s3252_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3162_ _) =>
- match (string_drop _s3161_ _s3162_) with
- | _s3163_ =>
- match (hex_bits_8_matches_prefix _s3163_) with
- | Some (imm, existT _ _s3164_ _) =>
- let p0_ := string_drop _s3163_ _s3164_ in
+ | Some (tt, existT _ _s3253_ _) =>
+ match (string_drop _s3252_ _s3253_) with
+ | _s3254_ =>
+ match (hex_bits_8_matches_prefix _s3254_) with
+ | Some (imm, existT _ _s3255_ _) =>
+ let p0_ := string_drop _s3254_ _s3255_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -38046,19 +38848,19 @@ Definition _s3154_ (_s3155_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s3146_ (_s3147_ : string) : M (option (mword 11)) :=
- let _s3148_ := _s3147_ in
- (if string_startswith _s3148_ "c.j" then
- (match (string_drop _s3148_ (projT1 (string_length "c.j"))) with
- | _s3149_ =>
- (spc_matches_prefix _s3149_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3237_ (_s3238_ : string) : M (option (mword 11)) :=
+ let _s3239_ := _s3238_ in
+ (if string_startswith _s3239_ "c.j" then
+ (match (string_drop _s3239_ (projT1 (string_length "c.j"))) with
+ | _s3240_ =>
+ (spc_matches_prefix _s3240_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3150_ _) =>
- match (string_drop _s3149_ _s3150_) with
- | _s3151_ =>
- match (hex_bits_11_matches_prefix _s3151_) with
- | Some (imm, existT _ _s3152_ _) =>
- let p0_ := string_drop _s3151_ _s3152_ in
+ | Some (tt, existT _ _s3241_ _) =>
+ match (string_drop _s3240_ _s3241_) with
+ | _s3242_ =>
+ match (hex_bits_11_matches_prefix _s3242_) with
+ | Some (imm, existT _ _s3243_ _) =>
+ let p0_ := string_drop _s3242_ _s3243_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -38071,33 +38873,33 @@ Definition _s3146_ (_s3147_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s3134_ (_s3135_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3136_ := _s3135_ in
- (if string_startswith _s3136_ "c.addw" then
- (match (string_drop _s3136_ (projT1 (string_length "c.addw"))) with
- | _s3137_ =>
- (spc_matches_prefix _s3137_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3225_ (_s3226_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3227_ := _s3226_ in
+ (if string_startswith _s3227_ "c.addw" then
+ (match (string_drop _s3227_ (projT1 (string_length "c.addw"))) with
+ | _s3228_ =>
+ (spc_matches_prefix _s3228_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3138_ _) =>
- (match (string_drop _s3137_ _s3138_) with
- | _s3139_ =>
- (creg_name_matches_prefix _s3139_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3229_ _) =>
+ (match (string_drop _s3228_ _s3229_) with
+ | _s3230_ =>
+ (creg_name_matches_prefix _s3230_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3140_ _) =>
- (match (string_drop _s3139_ _s3140_) with
- | _s3141_ =>
- (sep_matches_prefix _s3141_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3231_ _) =>
+ (match (string_drop _s3230_ _s3231_) with
+ | _s3232_ =>
+ (sep_matches_prefix _s3232_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3142_ _) =>
- (match (string_drop _s3141_ _s3142_) with
- | _s3143_ =>
- (creg_name_matches_prefix _s3143_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3233_ _) =>
+ (match (string_drop _s3232_ _s3233_) with
+ | _s3234_ =>
+ (creg_name_matches_prefix _s3234_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3144_ _) =>
- let p0_ := string_drop _s3143_ _s3144_ in
+ | Some (rs2, existT _ _s3235_ _) =>
+ let p0_ := string_drop _s3234_ _s3235_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -38122,33 +38924,33 @@ Definition _s3134_ (_s3135_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3122_ (_s3123_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3124_ := _s3123_ in
- (if string_startswith _s3124_ "c.subw" then
- (match (string_drop _s3124_ (projT1 (string_length "c.subw"))) with
- | _s3125_ =>
- (spc_matches_prefix _s3125_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3213_ (_s3214_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3215_ := _s3214_ in
+ (if string_startswith _s3215_ "c.subw" then
+ (match (string_drop _s3215_ (projT1 (string_length "c.subw"))) with
+ | _s3216_ =>
+ (spc_matches_prefix _s3216_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3126_ _) =>
- (match (string_drop _s3125_ _s3126_) with
- | _s3127_ =>
- (creg_name_matches_prefix _s3127_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3217_ _) =>
+ (match (string_drop _s3216_ _s3217_) with
+ | _s3218_ =>
+ (creg_name_matches_prefix _s3218_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3128_ _) =>
- (match (string_drop _s3127_ _s3128_) with
- | _s3129_ =>
- (sep_matches_prefix _s3129_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3219_ _) =>
+ (match (string_drop _s3218_ _s3219_) with
+ | _s3220_ =>
+ (sep_matches_prefix _s3220_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3130_ _) =>
- (match (string_drop _s3129_ _s3130_) with
- | _s3131_ =>
- (creg_name_matches_prefix _s3131_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3221_ _) =>
+ (match (string_drop _s3220_ _s3221_) with
+ | _s3222_ =>
+ (creg_name_matches_prefix _s3222_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3132_ _) =>
- let p0_ := string_drop _s3131_ _s3132_ in
+ | Some (rs2, existT _ _s3223_ _) =>
+ let p0_ := string_drop _s3222_ _s3223_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -38173,33 +38975,33 @@ Definition _s3122_ (_s3123_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3110_ (_s3111_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3112_ := _s3111_ in
- (if string_startswith _s3112_ "c.and" then
- (match (string_drop _s3112_ (projT1 (string_length "c.and"))) with
- | _s3113_ =>
- (spc_matches_prefix _s3113_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3201_ (_s3202_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3203_ := _s3202_ in
+ (if string_startswith _s3203_ "c.and" then
+ (match (string_drop _s3203_ (projT1 (string_length "c.and"))) with
+ | _s3204_ =>
+ (spc_matches_prefix _s3204_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3114_ _) =>
- (match (string_drop _s3113_ _s3114_) with
- | _s3115_ =>
- (creg_name_matches_prefix _s3115_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3205_ _) =>
+ (match (string_drop _s3204_ _s3205_) with
+ | _s3206_ =>
+ (creg_name_matches_prefix _s3206_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3116_ _) =>
- (match (string_drop _s3115_ _s3116_) with
- | _s3117_ =>
- (sep_matches_prefix _s3117_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3207_ _) =>
+ (match (string_drop _s3206_ _s3207_) with
+ | _s3208_ =>
+ (sep_matches_prefix _s3208_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3118_ _) =>
- (match (string_drop _s3117_ _s3118_) with
- | _s3119_ =>
- (creg_name_matches_prefix _s3119_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3209_ _) =>
+ (match (string_drop _s3208_ _s3209_) with
+ | _s3210_ =>
+ (creg_name_matches_prefix _s3210_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3120_ _) =>
- let p0_ := string_drop _s3119_ _s3120_ in
+ | Some (rs2, existT _ _s3211_ _) =>
+ let p0_ := string_drop _s3210_ _s3211_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -38224,33 +39026,33 @@ Definition _s3110_ (_s3111_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3098_ (_s3099_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3100_ := _s3099_ in
- (if string_startswith _s3100_ "c.or" then
- (match (string_drop _s3100_ (projT1 (string_length "c.or"))) with
- | _s3101_ =>
- (spc_matches_prefix _s3101_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3189_ (_s3190_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3191_ := _s3190_ in
+ (if string_startswith _s3191_ "c.or" then
+ (match (string_drop _s3191_ (projT1 (string_length "c.or"))) with
+ | _s3192_ =>
+ (spc_matches_prefix _s3192_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3102_ _) =>
- (match (string_drop _s3101_ _s3102_) with
- | _s3103_ =>
- (creg_name_matches_prefix _s3103_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3193_ _) =>
+ (match (string_drop _s3192_ _s3193_) with
+ | _s3194_ =>
+ (creg_name_matches_prefix _s3194_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3104_ _) =>
- (match (string_drop _s3103_ _s3104_) with
- | _s3105_ =>
- (sep_matches_prefix _s3105_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3195_ _) =>
+ (match (string_drop _s3194_ _s3195_) with
+ | _s3196_ =>
+ (sep_matches_prefix _s3196_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3106_ _) =>
- (match (string_drop _s3105_ _s3106_) with
- | _s3107_ =>
- (creg_name_matches_prefix _s3107_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3197_ _) =>
+ (match (string_drop _s3196_ _s3197_) with
+ | _s3198_ =>
+ (creg_name_matches_prefix _s3198_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3108_ _) =>
- let p0_ := string_drop _s3107_ _s3108_ in
+ | Some (rs2, existT _ _s3199_ _) =>
+ let p0_ := string_drop _s3198_ _s3199_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -38275,33 +39077,33 @@ Definition _s3098_ (_s3099_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3086_ (_s3087_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3088_ := _s3087_ in
- (if string_startswith _s3088_ "c.xor" then
- (match (string_drop _s3088_ (projT1 (string_length "c.xor"))) with
- | _s3089_ =>
- (spc_matches_prefix _s3089_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3177_ (_s3178_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3179_ := _s3178_ in
+ (if string_startswith _s3179_ "c.xor" then
+ (match (string_drop _s3179_ (projT1 (string_length "c.xor"))) with
+ | _s3180_ =>
+ (spc_matches_prefix _s3180_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3090_ _) =>
- (match (string_drop _s3089_ _s3090_) with
- | _s3091_ =>
- (creg_name_matches_prefix _s3091_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3181_ _) =>
+ (match (string_drop _s3180_ _s3181_) with
+ | _s3182_ =>
+ (creg_name_matches_prefix _s3182_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3092_ _) =>
- (match (string_drop _s3091_ _s3092_) with
- | _s3093_ =>
- (sep_matches_prefix _s3093_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3183_ _) =>
+ (match (string_drop _s3182_ _s3183_) with
+ | _s3184_ =>
+ (sep_matches_prefix _s3184_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3094_ _) =>
- (match (string_drop _s3093_ _s3094_) with
- | _s3095_ =>
- (creg_name_matches_prefix _s3095_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3185_ _) =>
+ (match (string_drop _s3184_ _s3185_) with
+ | _s3186_ =>
+ (creg_name_matches_prefix _s3186_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3096_ _) =>
- let p0_ := string_drop _s3095_ _s3096_ in
+ | Some (rs2, existT _ _s3187_ _) =>
+ let p0_ := string_drop _s3186_ _s3187_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -38326,33 +39128,33 @@ Definition _s3086_ (_s3087_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3074_ (_s3075_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3076_ := _s3075_ in
- (if string_startswith _s3076_ "c.sub" then
- (match (string_drop _s3076_ (projT1 (string_length "c.sub"))) with
- | _s3077_ =>
- (spc_matches_prefix _s3077_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3165_ (_s3166_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3167_ := _s3166_ in
+ (if string_startswith _s3167_ "c.sub" then
+ (match (string_drop _s3167_ (projT1 (string_length "c.sub"))) with
+ | _s3168_ =>
+ (spc_matches_prefix _s3168_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3078_ _) =>
- (match (string_drop _s3077_ _s3078_) with
- | _s3079_ =>
- (creg_name_matches_prefix _s3079_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3169_ _) =>
+ (match (string_drop _s3168_ _s3169_) with
+ | _s3170_ =>
+ (creg_name_matches_prefix _s3170_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3080_ _) =>
- (match (string_drop _s3079_ _s3080_) with
- | _s3081_ =>
- (sep_matches_prefix _s3081_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3171_ _) =>
+ (match (string_drop _s3170_ _s3171_) with
+ | _s3172_ =>
+ (sep_matches_prefix _s3172_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3082_ _) =>
- (match (string_drop _s3081_ _s3082_) with
- | _s3083_ =>
- (creg_name_matches_prefix _s3083_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3173_ _) =>
+ (match (string_drop _s3172_ _s3173_) with
+ | _s3174_ =>
+ (creg_name_matches_prefix _s3174_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3084_ _) =>
- let p0_ := string_drop _s3083_ _s3084_ in
+ | Some (rs2, existT _ _s3175_ _) =>
+ let p0_ := string_drop _s3174_ _s3175_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -38377,31 +39179,31 @@ Definition _s3074_ (_s3075_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3062_ (_s3063_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s3064_ := _s3063_ in
- (if string_startswith _s3064_ "c.andi" then
- (match (string_drop _s3064_ (projT1 (string_length "c.andi"))) with
- | _s3065_ =>
- (spc_matches_prefix _s3065_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3153_ (_s3154_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s3155_ := _s3154_ in
+ (if string_startswith _s3155_ "c.andi" then
+ (match (string_drop _s3155_ (projT1 (string_length "c.andi"))) with
+ | _s3156_ =>
+ (spc_matches_prefix _s3156_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3066_ _) =>
- (match (string_drop _s3065_ _s3066_) with
- | _s3067_ =>
- (creg_name_matches_prefix _s3067_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3157_ _) =>
+ (match (string_drop _s3156_ _s3157_) with
+ | _s3158_ =>
+ (creg_name_matches_prefix _s3158_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3068_ _) =>
- (match (string_drop _s3067_ _s3068_) with
- | _s3069_ =>
- (sep_matches_prefix _s3069_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3159_ _) =>
+ (match (string_drop _s3158_ _s3159_) with
+ | _s3160_ =>
+ (sep_matches_prefix _s3160_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3070_ _) =>
- match (string_drop _s3069_ _s3070_) with
- | _s3071_ =>
- match (hex_bits_6_matches_prefix _s3071_) with
- | Some (imm, existT _ _s3072_ _) =>
- let p0_ := string_drop _s3071_ _s3072_ in
+ | Some (tt, existT _ _s3161_ _) =>
+ match (string_drop _s3160_ _s3161_) with
+ | _s3162_ =>
+ match (hex_bits_6_matches_prefix _s3162_) with
+ | Some (imm, existT _ _s3163_ _) =>
+ let p0_ := string_drop _s3162_ _s3163_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -38424,31 +39226,31 @@ Definition _s3062_ (_s3063_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s3050_ (_s3051_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s3052_ := _s3051_ in
- (if string_startswith _s3052_ "c.srai" then
- (match (string_drop _s3052_ (projT1 (string_length "c.srai"))) with
- | _s3053_ =>
- (spc_matches_prefix _s3053_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3141_ (_s3142_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s3143_ := _s3142_ in
+ (if string_startswith _s3143_ "c.srai" then
+ (match (string_drop _s3143_ (projT1 (string_length "c.srai"))) with
+ | _s3144_ =>
+ (spc_matches_prefix _s3144_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3054_ _) =>
- (match (string_drop _s3053_ _s3054_) with
- | _s3055_ =>
- (creg_name_matches_prefix _s3055_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3145_ _) =>
+ (match (string_drop _s3144_ _s3145_) with
+ | _s3146_ =>
+ (creg_name_matches_prefix _s3146_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3056_ _) =>
- (match (string_drop _s3055_ _s3056_) with
- | _s3057_ =>
- (sep_matches_prefix _s3057_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3147_ _) =>
+ (match (string_drop _s3146_ _s3147_) with
+ | _s3148_ =>
+ (sep_matches_prefix _s3148_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3058_ _) =>
- match (string_drop _s3057_ _s3058_) with
- | _s3059_ =>
- match (hex_bits_6_matches_prefix _s3059_) with
- | Some (shamt, existT _ _s3060_ _) =>
- let p0_ := string_drop _s3059_ _s3060_ in
+ | Some (tt, existT _ _s3149_ _) =>
+ match (string_drop _s3148_ _s3149_) with
+ | _s3150_ =>
+ match (hex_bits_6_matches_prefix _s3150_) with
+ | Some (shamt, existT _ _s3151_ _) =>
+ let p0_ := string_drop _s3150_ _s3151_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -38471,31 +39273,31 @@ Definition _s3050_ (_s3051_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s3038_ (_s3039_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s3040_ := _s3039_ in
- (if string_startswith _s3040_ "c.srli" then
- (match (string_drop _s3040_ (projT1 (string_length "c.srli"))) with
- | _s3041_ =>
- (spc_matches_prefix _s3041_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3129_ (_s3130_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s3131_ := _s3130_ in
+ (if string_startswith _s3131_ "c.srli" then
+ (match (string_drop _s3131_ (projT1 (string_length "c.srli"))) with
+ | _s3132_ =>
+ (spc_matches_prefix _s3132_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3042_ _) =>
- (match (string_drop _s3041_ _s3042_) with
- | _s3043_ =>
- (creg_name_matches_prefix _s3043_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3133_ _) =>
+ (match (string_drop _s3132_ _s3133_) with
+ | _s3134_ =>
+ (creg_name_matches_prefix _s3134_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3044_ _) =>
- (match (string_drop _s3043_ _s3044_) with
- | _s3045_ =>
- (sep_matches_prefix _s3045_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3135_ _) =>
+ (match (string_drop _s3134_ _s3135_) with
+ | _s3136_ =>
+ (sep_matches_prefix _s3136_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3046_ _) =>
- match (string_drop _s3045_ _s3046_) with
- | _s3047_ =>
- match (hex_bits_6_matches_prefix _s3047_) with
- | Some (shamt, existT _ _s3048_ _) =>
- let p0_ := string_drop _s3047_ _s3048_ in
+ | Some (tt, existT _ _s3137_ _) =>
+ match (string_drop _s3136_ _s3137_) with
+ | _s3138_ =>
+ match (hex_bits_6_matches_prefix _s3138_) with
+ | Some (shamt, existT _ _s3139_ _) =>
+ let p0_ := string_drop _s3138_ _s3139_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -38518,31 +39320,31 @@ Definition _s3038_ (_s3039_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s3026_ (_s3027_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3028_ := _s3027_ in
- (if string_startswith _s3028_ "c.lui" then
- (match (string_drop _s3028_ (projT1 (string_length "c.lui"))) with
- | _s3029_ =>
- (spc_matches_prefix _s3029_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3117_ (_s3118_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3119_ := _s3118_ in
+ (if string_startswith _s3119_ "c.lui" then
+ (match (string_drop _s3119_ (projT1 (string_length "c.lui"))) with
+ | _s3120_ =>
+ (spc_matches_prefix _s3120_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3030_ _) =>
- (match (string_drop _s3029_ _s3030_) with
- | _s3031_ =>
- (reg_name_matches_prefix _s3031_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3121_ _) =>
+ (match (string_drop _s3120_ _s3121_) with
+ | _s3122_ =>
+ (reg_name_matches_prefix _s3122_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3032_ _) =>
- (match (string_drop _s3031_ _s3032_) with
- | _s3033_ =>
- (sep_matches_prefix _s3033_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3123_ _) =>
+ (match (string_drop _s3122_ _s3123_) with
+ | _s3124_ =>
+ (sep_matches_prefix _s3124_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3034_ _) =>
- match (string_drop _s3033_ _s3034_) with
- | _s3035_ =>
- match (hex_bits_6_matches_prefix _s3035_) with
- | Some (imm, existT _ _s3036_ _) =>
- let p0_ := string_drop _s3035_ _s3036_ in
+ | Some (tt, existT _ _s3125_ _) =>
+ match (string_drop _s3124_ _s3125_) with
+ | _s3126_ =>
+ match (hex_bits_6_matches_prefix _s3126_) with
+ | Some (imm, existT _ _s3127_ _) =>
+ let p0_ := string_drop _s3126_ _s3127_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -38565,19 +39367,19 @@ Definition _s3026_ (_s3027_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3018_ (_s3019_ : string) : M (option (mword 6)) :=
- let _s3020_ := _s3019_ in
- (if string_startswith _s3020_ "c.addi16sp" then
- (match (string_drop _s3020_ (projT1 (string_length "c.addi16sp"))) with
- | _s3021_ =>
- (spc_matches_prefix _s3021_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3109_ (_s3110_ : string) : M (option (mword 6)) :=
+ let _s3111_ := _s3110_ in
+ (if string_startswith _s3111_ "c.addi16sp" then
+ (match (string_drop _s3111_ (projT1 (string_length "c.addi16sp"))) with
+ | _s3112_ =>
+ (spc_matches_prefix _s3112_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3022_ _) =>
- match (string_drop _s3021_ _s3022_) with
- | _s3023_ =>
- match (hex_bits_6_matches_prefix _s3023_) with
- | Some (imm, existT _ _s3024_ _) =>
- let p0_ := string_drop _s3023_ _s3024_ in
+ | Some (tt, existT _ _s3113_ _) =>
+ match (string_drop _s3112_ _s3113_) with
+ | _s3114_ =>
+ match (hex_bits_6_matches_prefix _s3114_) with
+ | Some (imm, existT _ _s3115_ _) =>
+ let p0_ := string_drop _s3114_ _s3115_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -38590,31 +39392,31 @@ Definition _s3018_ (_s3019_ : string) : M (option (mword 6)) :=
else returnm None)
: M (option (mword 6)).
-Definition _s3006_ (_s3007_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3008_ := _s3007_ in
- (if string_startswith _s3008_ "c.li" then
- (match (string_drop _s3008_ (projT1 (string_length "c.li"))) with
- | _s3009_ =>
- (spc_matches_prefix _s3009_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3097_ (_s3098_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3099_ := _s3098_ in
+ (if string_startswith _s3099_ "c.li" then
+ (match (string_drop _s3099_ (projT1 (string_length "c.li"))) with
+ | _s3100_ =>
+ (spc_matches_prefix _s3100_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3010_ _) =>
- (match (string_drop _s3009_ _s3010_) with
- | _s3011_ =>
- (reg_name_matches_prefix _s3011_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3101_ _) =>
+ (match (string_drop _s3100_ _s3101_) with
+ | _s3102_ =>
+ (reg_name_matches_prefix _s3102_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3012_ _) =>
- (match (string_drop _s3011_ _s3012_) with
- | _s3013_ =>
- (sep_matches_prefix _s3013_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3103_ _) =>
+ (match (string_drop _s3102_ _s3103_) with
+ | _s3104_ =>
+ (sep_matches_prefix _s3104_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3014_ _) =>
- match (string_drop _s3013_ _s3014_) with
- | _s3015_ =>
- match (hex_bits_6_matches_prefix _s3015_) with
- | Some (imm, existT _ _s3016_ _) =>
- let p0_ := string_drop _s3015_ _s3016_ in
+ | Some (tt, existT _ _s3105_ _) =>
+ match (string_drop _s3104_ _s3105_) with
+ | _s3106_ =>
+ match (hex_bits_6_matches_prefix _s3106_) with
+ | Some (imm, existT _ _s3107_ _) =>
+ let p0_ := string_drop _s3106_ _s3107_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -38637,31 +39439,31 @@ Definition _s3006_ (_s3007_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s2994_ (_s2995_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s2996_ := _s2995_ in
- (if string_startswith _s2996_ "c.addiw" then
- (match (string_drop _s2996_ (projT1 (string_length "c.addiw"))) with
- | _s2997_ =>
- (spc_matches_prefix _s2997_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3085_ (_s3086_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3087_ := _s3086_ in
+ (if string_startswith _s3087_ "c.addiw" then
+ (match (string_drop _s3087_ (projT1 (string_length "c.addiw"))) with
+ | _s3088_ =>
+ (spc_matches_prefix _s3088_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2998_ _) =>
- (match (string_drop _s2997_ _s2998_) with
- | _s2999_ =>
- (reg_name_matches_prefix _s2999_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3089_ _) =>
+ (match (string_drop _s3088_ _s3089_) with
+ | _s3090_ =>
+ (reg_name_matches_prefix _s3090_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3000_ _) =>
- (match (string_drop _s2999_ _s3000_) with
- | _s3001_ =>
- (sep_matches_prefix _s3001_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3091_ _) =>
+ (match (string_drop _s3090_ _s3091_) with
+ | _s3092_ =>
+ (sep_matches_prefix _s3092_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3002_ _) =>
- match (string_drop _s3001_ _s3002_) with
- | _s3003_ =>
- match (hex_bits_6_matches_prefix _s3003_) with
- | Some (imm, existT _ _s3004_ _) =>
- let p0_ := string_drop _s3003_ _s3004_ in
+ | Some (tt, existT _ _s3093_ _) =>
+ match (string_drop _s3092_ _s3093_) with
+ | _s3094_ =>
+ match (hex_bits_6_matches_prefix _s3094_) with
+ | Some (imm, existT _ _s3095_ _) =>
+ let p0_ := string_drop _s3094_ _s3095_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -38684,23 +39486,23 @@ Definition _s2994_ (_s2995_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s2986_ (_s2987_ : string) : M (option (mword 11)) :=
- let _s2988_ := _s2987_ in
- (if string_startswith _s2988_ "c.jal" then
- (match (string_drop _s2988_ (projT1 (string_length "c.jal"))) with
- | _s2989_ =>
- (spc_matches_prefix _s2989_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3077_ (_s3078_ : string) : M (option (mword 11)) :=
+ let _s3079_ := _s3078_ in
+ (if string_startswith _s3079_ "c.jal" then
+ (match (string_drop _s3079_ (projT1 (string_length "c.jal"))) with
+ | _s3080_ =>
+ (spc_matches_prefix _s3080_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s2990_ _) =>
- match (string_drop _s2989_ _s2990_) with
- | _s2991_ =>
- match (hex_bits_12_matches_prefix _s2991_) with
- | Some (v__1096, existT _ _s2992_ _) =>
- if eq_vec (subrange_vec_dec v__1096 0 0) ('b"0" : mword (0 - 0 + 1))
+ | Some (tt, existT _ _s3081_ _) =>
+ match (string_drop _s3080_ _s3081_) with
+ | _s3082_ =>
+ match (hex_bits_12_matches_prefix _s3082_) with
+ | Some (v__1200, existT _ _s3083_ _) =>
+ if eq_vec (subrange_vec_dec v__1200 0 0) ('b"0" : mword (0 - 0 + 1))
then
- let imm : mword 11 := subrange_vec_dec v__1096 11 1 in
- let imm : mword 11 := subrange_vec_dec v__1096 11 1 in
- let p0_ := string_drop _s2991_ _s2992_ in
+ let imm : mword 11 := subrange_vec_dec v__1200 11 1 in
+ let imm : mword 11 := subrange_vec_dec v__1200 11 1 in
+ let p0_ := string_drop _s3082_ _s3083_ in
if generic_eq p0_ "" then Some imm
else None
else None
@@ -38714,31 +39516,31 @@ Definition _s2986_ (_s2987_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s2974_ (_s2975_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s2976_ := _s2975_ in
- (if string_startswith _s2976_ "c.addi" then
- (match (string_drop _s2976_ (projT1 (string_length "c.addi"))) with
- | _s2977_ =>
- (spc_matches_prefix _s2977_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3065_ (_s3066_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3067_ := _s3066_ in
+ (if string_startswith _s3067_ "c.addi" then
+ (match (string_drop _s3067_ (projT1 (string_length "c.addi"))) with
+ | _s3068_ =>
+ (spc_matches_prefix _s3068_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2978_ _) =>
- (match (string_drop _s2977_ _s2978_) with
- | _s2979_ =>
- (reg_name_matches_prefix _s2979_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3069_ _) =>
+ (match (string_drop _s3068_ _s3069_) with
+ | _s3070_ =>
+ (reg_name_matches_prefix _s3070_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s2980_ _) =>
- (match (string_drop _s2979_ _s2980_) with
- | _s2981_ =>
- (sep_matches_prefix _s2981_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3071_ _) =>
+ (match (string_drop _s3070_ _s3071_) with
+ | _s3072_ =>
+ (sep_matches_prefix _s3072_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2982_ _) =>
- match (string_drop _s2981_ _s2982_) with
- | _s2983_ =>
- match (hex_bits_6_matches_prefix _s2983_) with
- | Some (nzi, existT _ _s2984_ _) =>
- let p0_ := string_drop _s2983_ _s2984_ in
+ | Some (tt, existT _ _s3073_ _) =>
+ match (string_drop _s3072_ _s3073_) with
+ | _s3074_ =>
+ match (hex_bits_6_matches_prefix _s3074_) with
+ | Some (nzi, existT _ _s3075_ _) =>
+ let p0_ := string_drop _s3074_ _s3075_ in
if generic_eq p0_ "" then Some (rsd, nzi)
else None
| _ => None
@@ -38761,50 +39563,50 @@ Definition _s2974_ (_s2975_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s2958_ (_s2959_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2960_ := _s2959_ in
- (if string_startswith _s2960_ "c.sd" then
- (match (string_drop _s2960_ (projT1 (string_length "c.sd"))) with
- | _s2961_ =>
- (spc_matches_prefix _s2961_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3049_ (_s3050_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3051_ := _s3050_ in
+ (if string_startswith _s3051_ "c.sd" then
+ (match (string_drop _s3051_ (projT1 (string_length "c.sd"))) with
+ | _s3052_ =>
+ (spc_matches_prefix _s3052_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2962_ _) =>
- (match (string_drop _s2961_ _s2962_) with
- | _s2963_ =>
- (creg_name_matches_prefix _s2963_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3053_ _) =>
+ (match (string_drop _s3052_ _s3053_) with
+ | _s3054_ =>
+ (creg_name_matches_prefix _s3054_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s2964_ _) =>
- (match (string_drop _s2963_ _s2964_) with
- | _s2965_ =>
- (sep_matches_prefix _s2965_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s3055_ _) =>
+ (match (string_drop _s3054_ _s3055_) with
+ | _s3056_ =>
+ (sep_matches_prefix _s3056_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2966_ _) =>
- (match (string_drop _s2965_ _s2966_) with
- | _s2967_ =>
- (creg_name_matches_prefix _s2967_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3057_ _) =>
+ (match (string_drop _s3056_ _s3057_) with
+ | _s3058_ =>
+ (creg_name_matches_prefix _s3058_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s2968_ _) =>
- (match (string_drop _s2967_ _s2968_) with
- | _s2969_ =>
- (sep_matches_prefix _s2969_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s3059_ _) =>
+ (match (string_drop _s3058_ _s3059_) with
+ | _s3060_ =>
+ (sep_matches_prefix _s3060_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2970_ _) =>
- match (string_drop _s2969_ _s2970_) with
- | _s2971_ =>
- match (hex_bits_8_matches_prefix _s2971_) with
- | Some (v__1098, existT _ _s2972_ _) =>
- if eq_vec (subrange_vec_dec v__1098 2 0)
+ | Some (tt, existT _ _s3061_ _) =>
+ match (string_drop _s3060_ _s3061_) with
+ | _s3062_ =>
+ match (hex_bits_8_matches_prefix _s3062_) with
+ | Some (v__1202, existT _ _s3063_ _) =>
+ if eq_vec (subrange_vec_dec v__1202 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1098 7 3 in
+ subrange_vec_dec v__1202 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1098 7 3 in
- let p0_ := string_drop _s2971_ _s2972_ in
+ subrange_vec_dec v__1202 7 3 in
+ let p0_ := string_drop _s3062_ _s3063_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -38839,50 +39641,50 @@ Definition _s2958_ (_s2959_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2942_ (_s2943_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2944_ := _s2943_ in
- (if string_startswith _s2944_ "c.sw" then
- (match (string_drop _s2944_ (projT1 (string_length "c.sw"))) with
- | _s2945_ =>
- (spc_matches_prefix _s2945_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3033_ (_s3034_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3035_ := _s3034_ in
+ (if string_startswith _s3035_ "c.sw" then
+ (match (string_drop _s3035_ (projT1 (string_length "c.sw"))) with
+ | _s3036_ =>
+ (spc_matches_prefix _s3036_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2946_ _) =>
- (match (string_drop _s2945_ _s2946_) with
- | _s2947_ =>
- (creg_name_matches_prefix _s2947_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3037_ _) =>
+ (match (string_drop _s3036_ _s3037_) with
+ | _s3038_ =>
+ (creg_name_matches_prefix _s3038_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s2948_ _) =>
- (match (string_drop _s2947_ _s2948_) with
- | _s2949_ =>
- (sep_matches_prefix _s2949_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s3039_ _) =>
+ (match (string_drop _s3038_ _s3039_) with
+ | _s3040_ =>
+ (sep_matches_prefix _s3040_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2950_ _) =>
- (match (string_drop _s2949_ _s2950_) with
- | _s2951_ =>
- (creg_name_matches_prefix _s2951_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3041_ _) =>
+ (match (string_drop _s3040_ _s3041_) with
+ | _s3042_ =>
+ (creg_name_matches_prefix _s3042_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s2952_ _) =>
- (match (string_drop _s2951_ _s2952_) with
- | _s2953_ =>
- (sep_matches_prefix _s2953_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s3043_ _) =>
+ (match (string_drop _s3042_ _s3043_) with
+ | _s3044_ =>
+ (sep_matches_prefix _s3044_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2954_ _) =>
- match (string_drop _s2953_ _s2954_) with
- | _s2955_ =>
- match (hex_bits_7_matches_prefix _s2955_) with
- | Some (v__1100, existT _ _s2956_ _) =>
- if eq_vec (subrange_vec_dec v__1100 1 0)
+ | Some (tt, existT _ _s3045_ _) =>
+ match (string_drop _s3044_ _s3045_) with
+ | _s3046_ =>
+ match (hex_bits_7_matches_prefix _s3046_) with
+ | Some (v__1204, existT _ _s3047_ _) =>
+ if eq_vec (subrange_vec_dec v__1204 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1100 6 2 in
+ subrange_vec_dec v__1204 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1100 6 2 in
- let p0_ := string_drop _s2955_ _s2956_ in
+ subrange_vec_dec v__1204 6 2 in
+ let p0_ := string_drop _s3046_ _s3047_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -38917,50 +39719,50 @@ Definition _s2942_ (_s2943_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2926_ (_s2927_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2928_ := _s2927_ in
- (if string_startswith _s2928_ "c.ld" then
- (match (string_drop _s2928_ (projT1 (string_length "c.ld"))) with
- | _s2929_ =>
- (spc_matches_prefix _s2929_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3017_ (_s3018_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3019_ := _s3018_ in
+ (if string_startswith _s3019_ "c.ld" then
+ (match (string_drop _s3019_ (projT1 (string_length "c.ld"))) with
+ | _s3020_ =>
+ (spc_matches_prefix _s3020_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2930_ _) =>
- (match (string_drop _s2929_ _s2930_) with
- | _s2931_ =>
- (creg_name_matches_prefix _s2931_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3021_ _) =>
+ (match (string_drop _s3020_ _s3021_) with
+ | _s3022_ =>
+ (creg_name_matches_prefix _s3022_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s2932_ _) =>
- (match (string_drop _s2931_ _s2932_) with
- | _s2933_ =>
- (sep_matches_prefix _s2933_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s3023_ _) =>
+ (match (string_drop _s3022_ _s3023_) with
+ | _s3024_ =>
+ (sep_matches_prefix _s3024_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2934_ _) =>
- (match (string_drop _s2933_ _s2934_) with
- | _s2935_ =>
- (creg_name_matches_prefix _s2935_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3025_ _) =>
+ (match (string_drop _s3024_ _s3025_) with
+ | _s3026_ =>
+ (creg_name_matches_prefix _s3026_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s2936_ _) =>
- (match (string_drop _s2935_ _s2936_) with
- | _s2937_ =>
- (sep_matches_prefix _s2937_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s3027_ _) =>
+ (match (string_drop _s3026_ _s3027_) with
+ | _s3028_ =>
+ (sep_matches_prefix _s3028_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2938_ _) =>
- match (string_drop _s2937_ _s2938_) with
- | _s2939_ =>
- match (hex_bits_8_matches_prefix _s2939_) with
- | Some (v__1102, existT _ _s2940_ _) =>
- if eq_vec (subrange_vec_dec v__1102 2 0)
+ | Some (tt, existT _ _s3029_ _) =>
+ match (string_drop _s3028_ _s3029_) with
+ | _s3030_ =>
+ match (hex_bits_8_matches_prefix _s3030_) with
+ | Some (v__1206, existT _ _s3031_ _) =>
+ if eq_vec (subrange_vec_dec v__1206 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1102 7 3 in
+ subrange_vec_dec v__1206 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1102 7 3 in
- let p0_ := string_drop _s2939_ _s2940_ in
+ subrange_vec_dec v__1206 7 3 in
+ let p0_ := string_drop _s3030_ _s3031_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -38995,50 +39797,50 @@ Definition _s2926_ (_s2927_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2910_ (_s2911_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2912_ := _s2911_ in
- (if string_startswith _s2912_ "c.lw" then
- (match (string_drop _s2912_ (projT1 (string_length "c.lw"))) with
- | _s2913_ =>
- (spc_matches_prefix _s2913_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3001_ (_s3002_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3003_ := _s3002_ in
+ (if string_startswith _s3003_ "c.lw" then
+ (match (string_drop _s3003_ (projT1 (string_length "c.lw"))) with
+ | _s3004_ =>
+ (spc_matches_prefix _s3004_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2914_ _) =>
- (match (string_drop _s2913_ _s2914_) with
- | _s2915_ =>
- (creg_name_matches_prefix _s2915_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3005_ _) =>
+ (match (string_drop _s3004_ _s3005_) with
+ | _s3006_ =>
+ (creg_name_matches_prefix _s3006_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s2916_ _) =>
- (match (string_drop _s2915_ _s2916_) with
- | _s2917_ =>
- (sep_matches_prefix _s2917_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s3007_ _) =>
+ (match (string_drop _s3006_ _s3007_) with
+ | _s3008_ =>
+ (sep_matches_prefix _s3008_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2918_ _) =>
- (match (string_drop _s2917_ _s2918_) with
- | _s2919_ =>
- (creg_name_matches_prefix _s2919_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3009_ _) =>
+ (match (string_drop _s3008_ _s3009_) with
+ | _s3010_ =>
+ (creg_name_matches_prefix _s3010_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s2920_ _) =>
- (match (string_drop _s2919_ _s2920_) with
- | _s2921_ =>
- (sep_matches_prefix _s2921_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s3011_ _) =>
+ (match (string_drop _s3010_ _s3011_) with
+ | _s3012_ =>
+ (sep_matches_prefix _s3012_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2922_ _) =>
- match (string_drop _s2921_ _s2922_) with
- | _s2923_ =>
- match (hex_bits_7_matches_prefix _s2923_) with
- | Some (v__1104, existT _ _s2924_ _) =>
- if eq_vec (subrange_vec_dec v__1104 1 0)
+ | Some (tt, existT _ _s3013_ _) =>
+ match (string_drop _s3012_ _s3013_) with
+ | _s3014_ =>
+ match (hex_bits_7_matches_prefix _s3014_) with
+ | Some (v__1208, existT _ _s3015_ _) =>
+ if eq_vec (subrange_vec_dec v__1208 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1104 6 2 in
+ subrange_vec_dec v__1208 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1104 6 2 in
- let p0_ := string_drop _s2923_ _s2924_ in
+ subrange_vec_dec v__1208 6 2 in
+ let p0_ := string_drop _s3014_ _s3015_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -39073,36 +39875,36 @@ Definition _s2910_ (_s2911_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2898_ (_s2899_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s2900_ := _s2899_ in
- (if string_startswith _s2900_ "c.addi4spn" then
- (match (string_drop _s2900_ (projT1 (string_length "c.addi4spn"))) with
- | _s2901_ =>
- (spc_matches_prefix _s2901_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2989_ (_s2990_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s2991_ := _s2990_ in
+ (if string_startswith _s2991_ "c.addi4spn" then
+ (match (string_drop _s2991_ (projT1 (string_length "c.addi4spn"))) with
+ | _s2992_ =>
+ (spc_matches_prefix _s2992_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2902_ _) =>
- (match (string_drop _s2901_ _s2902_) with
- | _s2903_ =>
- (creg_name_matches_prefix _s2903_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2993_ _) =>
+ (match (string_drop _s2992_ _s2993_) with
+ | _s2994_ =>
+ (creg_name_matches_prefix _s2994_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s2904_ _) =>
- (match (string_drop _s2903_ _s2904_) with
- | _s2905_ =>
- (sep_matches_prefix _s2905_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s2995_ _) =>
+ (match (string_drop _s2994_ _s2995_) with
+ | _s2996_ =>
+ (sep_matches_prefix _s2996_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2906_ _) =>
- match (string_drop _s2905_ _s2906_) with
- | _s2907_ =>
- match (hex_bits_10_matches_prefix _s2907_) with
- | Some (v__1106, existT _ _s2908_ _) =>
- if eq_vec (subrange_vec_dec v__1106 1 0)
+ | Some (tt, existT _ _s2997_ _) =>
+ match (string_drop _s2996_ _s2997_) with
+ | _s2998_ =>
+ match (hex_bits_10_matches_prefix _s2998_) with
+ | Some (v__1210, existT _ _s2999_ _) =>
+ if eq_vec (subrange_vec_dec v__1210 1 0)
('b"00"
: mword (1 - 0 + 1)) then
- let nzimm : mword 8 := subrange_vec_dec v__1106 9 2 in
- let nzimm : mword 8 := subrange_vec_dec v__1106 9 2 in
- let p0_ := string_drop _s2907_ _s2908_ in
+ let nzimm : mword 8 := subrange_vec_dec v__1210 9 2 in
+ let nzimm : mword 8 := subrange_vec_dec v__1210 9 2 in
+ let p0_ := string_drop _s2998_ _s2999_ in
if generic_eq p0_ "" then Some (rdc, nzimm)
else None
else None
@@ -39126,95 +39928,95 @@ Definition _s2898_ (_s2899_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s2872_ (_s2873_ : string)
+Definition _s2963_ (_s2964_ : string)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s2873_ with
- | _s2874_ =>
- (amo_mnemonic_matches_prefix _s2874_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
+ (match _s2964_ with
+ | _s2965_ =>
+ (amo_mnemonic_matches_prefix _s2965_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2875_ _) =>
- let _s2876_ := string_drop _s2874_ _s2875_ in
- (if string_startswith _s2876_ "." then
- (match (string_drop _s2876_ (projT1 (string_length "."))) with
- | _s2877_ =>
- (size_mnemonic_matches_prefix _s2877_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2966_ _) =>
+ let _s2967_ := string_drop _s2965_ _s2966_ in
+ (if string_startswith _s2967_ "." then
+ (match (string_drop _s2967_ (projT1 (string_length "."))) with
+ | _s2968_ =>
+ (size_mnemonic_matches_prefix _s2968_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (width, existT _ _s2878_ _) =>
- (match (string_drop _s2877_ _s2878_) with
- | _s2879_ =>
- (maybe_aq_matches_prefix _s2879_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s2969_ _) =>
+ (match (string_drop _s2968_ _s2969_) with
+ | _s2970_ =>
+ (maybe_aq_matches_prefix _s2970_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s2880_ _) =>
- (match (string_drop _s2879_ _s2880_) with
- | _s2881_ =>
- (maybe_rl_matches_prefix _s2881_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s2971_ _) =>
+ (match (string_drop _s2970_ _s2971_) with
+ | _s2972_ =>
+ (maybe_rl_matches_prefix _s2972_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s2882_ _) =>
- (match (string_drop _s2881_ _s2882_) with
- | _s2883_ =>
- (spc_matches_prefix _s2883_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s2973_ _) =>
+ (match (string_drop _s2972_ _s2973_) with
+ | _s2974_ =>
+ (spc_matches_prefix _s2974_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s2884_ _) =>
- (match (string_drop _s2883_ _s2884_) with
- | _s2885_ =>
- (reg_name_matches_prefix _s2885_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2975_ _) =>
+ (match (string_drop _s2974_ _s2975_) with
+ | _s2976_ =>
+ (reg_name_matches_prefix _s2976_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s2886_ _) =>
- (match (string_drop _s2885_ _s2886_) with
- | _s2887_ =>
- (sep_matches_prefix _s2887_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2977_ _) =>
+ (match (string_drop _s2976_ _s2977_) with
+ | _s2978_ =>
+ (sep_matches_prefix _s2978_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s2888_ _) =>
- (match (string_drop _s2887_ _s2888_) with
- | _s2889_ =>
- (reg_name_matches_prefix _s2889_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2979_ _) =>
+ (match (string_drop _s2978_ _s2979_) with
+ | _s2980_ =>
+ (reg_name_matches_prefix _s2980_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (rs2, existT _ _s2890_ _) =>
- (match (string_drop _s2889_
- _s2890_) with
- | _s2891_ =>
+ | Some (rs2, existT _ _s2981_ _) =>
+ (match (string_drop _s2980_
+ _s2981_) with
+ | _s2982_ =>
(sep_matches_prefix
- _s2891_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2982_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s2892_ _) =>
- let _s2893_ :=
- string_drop _s2891_
- _s2892_ in
+ (tt, existT _ _s2983_ _) =>
+ let _s2984_ :=
+ string_drop _s2982_
+ _s2983_ in
(if string_startswith
- _s2893_ "(" then
+ _s2984_ "(" then
(match (string_drop
- _s2893_
+ _s2984_
(projT1
(string_length
"("))) with
- | _s2894_ =>
+ | _s2985_ =>
(reg_name_matches_prefix
- _s2894_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2985_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (rs1, existT _ _s2895_ _) =>
- let _s2896_ :=
+ (rs1, existT _ _s2986_ _) =>
+ let _s2987_ :=
string_drop
- _s2894_
- _s2895_ in
+ _s2985_
+ _s2986_ in
if string_startswith
- _s2896_
+ _s2987_
")"
then
let p0_ :=
string_drop
- _s2896_
+ _s2987_
(projT1
(string_length
")")) in
@@ -39284,71 +40086,71 @@ Definition _s2872_ (_s2873_ : string)
end)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s2850_ (_s2851_ : string)
+Definition _s2941_ (_s2942_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- let _s2852_ := _s2851_ in
- (if string_startswith _s2852_ "sc." then
- (match (string_drop _s2852_ (projT1 (string_length "sc."))) with
- | _s2853_ =>
- (size_mnemonic_matches_prefix _s2853_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s2943_ := _s2942_ in
+ (if string_startswith _s2943_ "sc." then
+ (match (string_drop _s2943_ (projT1 (string_length "sc."))) with
+ | _s2944_ =>
+ (size_mnemonic_matches_prefix _s2944_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s2854_ _) =>
- (match (string_drop _s2853_ _s2854_) with
- | _s2855_ =>
- (maybe_aq_matches_prefix _s2855_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s2945_ _) =>
+ (match (string_drop _s2944_ _s2945_) with
+ | _s2946_ =>
+ (maybe_aq_matches_prefix _s2946_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s2856_ _) =>
- (match (string_drop _s2855_ _s2856_) with
- | _s2857_ =>
- (maybe_rl_matches_prefix _s2857_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s2947_ _) =>
+ (match (string_drop _s2946_ _s2947_) with
+ | _s2948_ =>
+ (maybe_rl_matches_prefix _s2948_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s2858_ _) =>
- (match (string_drop _s2857_ _s2858_) with
- | _s2859_ =>
- (spc_matches_prefix _s2859_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s2949_ _) =>
+ (match (string_drop _s2948_ _s2949_) with
+ | _s2950_ =>
+ (spc_matches_prefix _s2950_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2860_ _) =>
- (match (string_drop _s2859_ _s2860_) with
- | _s2861_ =>
- (reg_name_matches_prefix _s2861_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2951_ _) =>
+ (match (string_drop _s2950_ _s2951_) with
+ | _s2952_ =>
+ (reg_name_matches_prefix _s2952_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s2862_ _) =>
- (match (string_drop _s2861_ _s2862_) with
- | _s2863_ =>
- (sep_matches_prefix _s2863_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2953_ _) =>
+ (match (string_drop _s2952_ _s2953_) with
+ | _s2954_ =>
+ (sep_matches_prefix _s2954_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2864_ _) =>
- (match (string_drop _s2863_ _s2864_) with
- | _s2865_ =>
- (reg_name_matches_prefix _s2865_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2955_ _) =>
+ (match (string_drop _s2954_ _s2955_) with
+ | _s2956_ =>
+ (reg_name_matches_prefix _s2956_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs1, existT _ _s2866_ _) =>
- (match (string_drop _s2865_ _s2866_) with
- | _s2867_ =>
- (sep_matches_prefix _s2867_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2957_ _) =>
+ (match (string_drop _s2956_ _s2957_) with
+ | _s2958_ =>
+ (sep_matches_prefix _s2958_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s2868_ _) =>
- (match (string_drop _s2867_
- _s2868_) with
- | _s2869_ =>
+ | Some (tt, existT _ _s2959_ _) =>
+ (match (string_drop _s2958_
+ _s2959_) with
+ | _s2960_ =>
(reg_name_matches_prefix
- _s2869_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2960_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rs2, existT _ _s2870_ _) =>
+ (rs2, existT _ _s2961_ _) =>
let p0_ :=
string_drop
- _s2869_
- _s2870_ in
+ _s2960_
+ _s2961_ in
if generic_eq
p0_ ""
then
@@ -39402,53 +40204,53 @@ Definition _s2850_ (_s2851_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s2832_ (_s2833_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
- let _s2834_ := _s2833_ in
- (if string_startswith _s2834_ "lr." then
- (match (string_drop _s2834_ (projT1 (string_length "lr."))) with
- | _s2835_ =>
- (size_mnemonic_matches_prefix _s2835_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s2923_ (_s2924_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
+ let _s2925_ := _s2924_ in
+ (if string_startswith _s2925_ "lr." then
+ (match (string_drop _s2925_ (projT1 (string_length "lr."))) with
+ | _s2926_ =>
+ (size_mnemonic_matches_prefix _s2926_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s2836_ _) =>
- (match (string_drop _s2835_ _s2836_) with
- | _s2837_ =>
- (maybe_aq_matches_prefix _s2837_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s2927_ _) =>
+ (match (string_drop _s2926_ _s2927_) with
+ | _s2928_ =>
+ (maybe_aq_matches_prefix _s2928_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s2838_ _) =>
- (match (string_drop _s2837_ _s2838_) with
- | _s2839_ =>
- (maybe_rl_matches_prefix _s2839_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s2929_ _) =>
+ (match (string_drop _s2928_ _s2929_) with
+ | _s2930_ =>
+ (maybe_rl_matches_prefix _s2930_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s2840_ _) =>
- (match (string_drop _s2839_ _s2840_) with
- | _s2841_ =>
- (spc_matches_prefix _s2841_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s2931_ _) =>
+ (match (string_drop _s2930_ _s2931_) with
+ | _s2932_ =>
+ (spc_matches_prefix _s2932_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2842_ _) =>
- (match (string_drop _s2841_ _s2842_) with
- | _s2843_ =>
- (reg_name_matches_prefix _s2843_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2933_ _) =>
+ (match (string_drop _s2932_ _s2933_) with
+ | _s2934_ =>
+ (reg_name_matches_prefix _s2934_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s2844_ _) =>
- (match (string_drop _s2843_ _s2844_) with
- | _s2845_ =>
- (sep_matches_prefix _s2845_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2935_ _) =>
+ (match (string_drop _s2934_ _s2935_) with
+ | _s2936_ =>
+ (sep_matches_prefix _s2936_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2846_ _) =>
- (match (string_drop _s2845_ _s2846_) with
- | _s2847_ =>
- (reg_name_matches_prefix _s2847_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2937_ _) =>
+ (match (string_drop _s2936_ _s2937_) with
+ | _s2938_ =>
+ (reg_name_matches_prefix _s2938_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s2848_ _) =>
+ | Some (rs1, existT _ _s2939_ _) =>
let p0_ :=
- string_drop _s2847_ _s2848_ in
+ string_drop _s2938_ _s2939_ in
if generic_eq p0_ "" then
Some (size, aq, rl, rd, rs1)
else None
@@ -39489,33 +40291,33 @@ Definition _s2832_ (_s2833_ : string) : M (option ((word_width * bool * bool * m
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5))).
-Definition _s2820_ (_s2821_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s2822_ := _s2821_ in
- (if string_startswith _s2822_ "sfence.vma" then
- (match (string_drop _s2822_ (projT1 (string_length "sfence.vma"))) with
- | _s2823_ =>
- (spc_matches_prefix _s2823_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2911_ (_s2912_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s2913_ := _s2912_ in
+ (if string_startswith _s2913_ "sfence.vma" then
+ (match (string_drop _s2913_ (projT1 (string_length "sfence.vma"))) with
+ | _s2914_ =>
+ (spc_matches_prefix _s2914_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2824_ _) =>
- (match (string_drop _s2823_ _s2824_) with
- | _s2825_ =>
- (reg_name_matches_prefix _s2825_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2915_ _) =>
+ (match (string_drop _s2914_ _s2915_) with
+ | _s2916_ =>
+ (reg_name_matches_prefix _s2916_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs1, existT _ _s2826_ _) =>
- (match (string_drop _s2825_ _s2826_) with
- | _s2827_ =>
- (sep_matches_prefix _s2827_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2917_ _) =>
+ (match (string_drop _s2916_ _s2917_) with
+ | _s2918_ =>
+ (sep_matches_prefix _s2918_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2828_ _) =>
- (match (string_drop _s2827_ _s2828_) with
- | _s2829_ =>
- (reg_name_matches_prefix _s2829_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2919_ _) =>
+ (match (string_drop _s2918_ _s2919_) with
+ | _s2920_ =>
+ (reg_name_matches_prefix _s2920_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s2830_ _) =>
- let p0_ := string_drop _s2829_ _s2830_ in
+ | Some (rs2, existT _ _s2921_ _) =>
+ let p0_ := string_drop _s2920_ _s2921_ in
if generic_eq p0_ "" then Some (rs1, rs2)
else None
| _ => None
@@ -39540,33 +40342,33 @@ Definition _s2820_ (_s2821_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s2808_ (_s2809_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s2810_ := _s2809_ in
- (if string_startswith _s2810_ "fence.tso" then
- (match (string_drop _s2810_ (projT1 (string_length "fence.tso"))) with
- | _s2811_ =>
- (spc_matches_prefix _s2811_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2899_ (_s2900_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s2901_ := _s2900_ in
+ (if string_startswith _s2901_ "fence.tso" then
+ (match (string_drop _s2901_ (projT1 (string_length "fence.tso"))) with
+ | _s2902_ =>
+ (spc_matches_prefix _s2902_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2812_ _) =>
- (match (string_drop _s2811_ _s2812_) with
- | _s2813_ =>
- (fence_bits_matches_prefix _s2813_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2903_ _) =>
+ (match (string_drop _s2902_ _s2903_) with
+ | _s2904_ =>
+ (fence_bits_matches_prefix _s2904_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s2814_ _) =>
- (match (string_drop _s2813_ _s2814_) with
- | _s2815_ =>
- (sep_matches_prefix _s2815_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s2905_ _) =>
+ (match (string_drop _s2904_ _s2905_) with
+ | _s2906_ =>
+ (sep_matches_prefix _s2906_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2816_ _) =>
- (match (string_drop _s2815_ _s2816_) with
- | _s2817_ =>
- (fence_bits_matches_prefix _s2817_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2907_ _) =>
+ (match (string_drop _s2906_ _s2907_) with
+ | _s2908_ =>
+ (fence_bits_matches_prefix _s2908_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s2818_ _) =>
- let p0_ := string_drop _s2817_ _s2818_ in
+ | Some (succ, existT _ _s2909_ _) =>
+ let p0_ := string_drop _s2908_ _s2909_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -39591,33 +40393,33 @@ Definition _s2808_ (_s2809_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s2796_ (_s2797_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s2798_ := _s2797_ in
- (if string_startswith _s2798_ "fence" then
- (match (string_drop _s2798_ (projT1 (string_length "fence"))) with
- | _s2799_ =>
- (spc_matches_prefix _s2799_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2887_ (_s2888_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s2889_ := _s2888_ in
+ (if string_startswith _s2889_ "fence" then
+ (match (string_drop _s2889_ (projT1 (string_length "fence"))) with
+ | _s2890_ =>
+ (spc_matches_prefix _s2890_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2800_ _) =>
- (match (string_drop _s2799_ _s2800_) with
- | _s2801_ =>
- (fence_bits_matches_prefix _s2801_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2891_ _) =>
+ (match (string_drop _s2890_ _s2891_) with
+ | _s2892_ =>
+ (fence_bits_matches_prefix _s2892_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s2802_ _) =>
- (match (string_drop _s2801_ _s2802_) with
- | _s2803_ =>
- (sep_matches_prefix _s2803_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s2893_ _) =>
+ (match (string_drop _s2892_ _s2893_) with
+ | _s2894_ =>
+ (sep_matches_prefix _s2894_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2804_ _) =>
- (match (string_drop _s2803_ _s2804_) with
- | _s2805_ =>
- (fence_bits_matches_prefix _s2805_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2895_ _) =>
+ (match (string_drop _s2894_ _s2895_) with
+ | _s2896_ =>
+ (fence_bits_matches_prefix _s2896_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s2806_ _) =>
- let p0_ := string_drop _s2805_ _s2806_ in
+ | Some (succ, existT _ _s2897_ _) =>
+ let p0_ := string_drop _s2896_ _s2897_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -39642,50 +40444,50 @@ Definition _s2796_ (_s2797_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s2779_ (_s2780_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
- (match _s2780_ with
- | _s2781_ =>
- (shiftiwop_mnemonic_matches_prefix _s2781_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
+Definition _s2870_ (_s2871_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
+ (match _s2871_ with
+ | _s2872_ =>
+ (shiftiwop_mnemonic_matches_prefix _s2872_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2782_ _) =>
- (match (string_drop _s2781_ _s2782_) with
- | _s2783_ =>
- (spc_matches_prefix _s2783_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2873_ _) =>
+ (match (string_drop _s2872_ _s2873_) with
+ | _s2874_ =>
+ (spc_matches_prefix _s2874_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2784_ _) =>
- (match (string_drop _s2783_ _s2784_) with
- | _s2785_ =>
- (reg_name_matches_prefix _s2785_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2875_ _) =>
+ (match (string_drop _s2874_ _s2875_) with
+ | _s2876_ =>
+ (reg_name_matches_prefix _s2876_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2786_ _) =>
- (match (string_drop _s2785_ _s2786_) with
- | _s2787_ =>
- (sep_matches_prefix _s2787_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2877_ _) =>
+ (match (string_drop _s2876_ _s2877_) with
+ | _s2878_ =>
+ (sep_matches_prefix _s2878_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2788_ _) =>
- (match (string_drop _s2787_ _s2788_) with
- | _s2789_ =>
- (reg_name_matches_prefix _s2789_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2879_ _) =>
+ (match (string_drop _s2878_ _s2879_) with
+ | _s2880_ =>
+ (reg_name_matches_prefix _s2880_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2790_ _) =>
- (match (string_drop _s2789_ _s2790_) with
- | _s2791_ =>
- (sep_matches_prefix _s2791_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2881_ _) =>
+ (match (string_drop _s2880_ _s2881_) with
+ | _s2882_ =>
+ (sep_matches_prefix _s2882_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s2792_ _) =>
- match (string_drop _s2791_ _s2792_) with
- | _s2793_ =>
+ | Some (tt, existT _ _s2883_ _) =>
+ match (string_drop _s2882_ _s2883_) with
+ | _s2884_ =>
match (hex_bits_5_matches_prefix
- _s2793_) with
- | Some (shamt, existT _ _s2794_ _) =>
+ _s2884_) with
+ | Some (shamt, existT _ _s2885_ _) =>
let p0_ :=
- string_drop _s2793_ _s2794_ in
+ string_drop _s2884_ _s2885_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -39722,51 +40524,51 @@ Definition _s2779_ (_s2780_ : string) : M (option ((sopw * mword 5 * mword 5 * m
end)
: M (option ((sopw * mword 5 * mword 5 * mword 5))).
-Definition _s2762_ (_s2763_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
- (match _s2763_ with
- | _s2764_ =>
- (rtypew_mnemonic_matches_prefix _s2764_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
+Definition _s2853_ (_s2854_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
+ (match _s2854_ with
+ | _s2855_ =>
+ (rtypew_mnemonic_matches_prefix _s2855_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2765_ _) =>
- (match (string_drop _s2764_ _s2765_) with
- | _s2766_ =>
- (spc_matches_prefix _s2766_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2856_ _) =>
+ (match (string_drop _s2855_ _s2856_) with
+ | _s2857_ =>
+ (spc_matches_prefix _s2857_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2767_ _) =>
- (match (string_drop _s2766_ _s2767_) with
- | _s2768_ =>
- (reg_name_matches_prefix _s2768_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2858_ _) =>
+ (match (string_drop _s2857_ _s2858_) with
+ | _s2859_ =>
+ (reg_name_matches_prefix _s2859_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2769_ _) =>
- (match (string_drop _s2768_ _s2769_) with
- | _s2770_ =>
- (sep_matches_prefix _s2770_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2860_ _) =>
+ (match (string_drop _s2859_ _s2860_) with
+ | _s2861_ =>
+ (sep_matches_prefix _s2861_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2771_ _) =>
- (match (string_drop _s2770_ _s2771_) with
- | _s2772_ =>
- (reg_name_matches_prefix _s2772_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2862_ _) =>
+ (match (string_drop _s2861_ _s2862_) with
+ | _s2863_ =>
+ (reg_name_matches_prefix _s2863_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2773_ _) =>
- (match (string_drop _s2772_ _s2773_) with
- | _s2774_ =>
- (sep_matches_prefix _s2774_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2864_ _) =>
+ (match (string_drop _s2863_ _s2864_) with
+ | _s2865_ =>
+ (sep_matches_prefix _s2865_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2775_ _) =>
- (match (string_drop _s2774_ _s2775_) with
- | _s2776_ =>
- (reg_name_matches_prefix _s2776_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2866_ _) =>
+ (match (string_drop _s2865_ _s2866_) with
+ | _s2867_ =>
+ (reg_name_matches_prefix _s2867_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2777_ _) =>
+ | Some (rs2, existT _ _s2868_ _) =>
let p0_ :=
- string_drop _s2776_ _s2777_ in
+ string_drop _s2867_ _s2868_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -39805,50 +40607,50 @@ Definition _s2762_ (_s2763_ : string) : M (option ((ropw * mword 5 * mword 5 * m
end)
: M (option ((ropw * mword 5 * mword 5 * mword 5))).
-Definition _s2745_ (_s2746_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
- (match _s2746_ with
- | _s2747_ =>
- (shiftw_mnemonic_matches_prefix _s2747_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s2836_ (_s2837_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
+ (match _s2837_ with
+ | _s2838_ =>
+ (shiftw_mnemonic_matches_prefix _s2838_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2748_ _) =>
- (match (string_drop _s2747_ _s2748_) with
- | _s2749_ =>
- (spc_matches_prefix _s2749_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2839_ _) =>
+ (match (string_drop _s2838_ _s2839_) with
+ | _s2840_ =>
+ (spc_matches_prefix _s2840_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2750_ _) =>
- (match (string_drop _s2749_ _s2750_) with
- | _s2751_ =>
- (reg_name_matches_prefix _s2751_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2841_ _) =>
+ (match (string_drop _s2840_ _s2841_) with
+ | _s2842_ =>
+ (reg_name_matches_prefix _s2842_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2752_ _) =>
- (match (string_drop _s2751_ _s2752_) with
- | _s2753_ =>
- (sep_matches_prefix _s2753_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2843_ _) =>
+ (match (string_drop _s2842_ _s2843_) with
+ | _s2844_ =>
+ (sep_matches_prefix _s2844_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2754_ _) =>
- (match (string_drop _s2753_ _s2754_) with
- | _s2755_ =>
- (reg_name_matches_prefix _s2755_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2845_ _) =>
+ (match (string_drop _s2844_ _s2845_) with
+ | _s2846_ =>
+ (reg_name_matches_prefix _s2846_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2756_ _) =>
- (match (string_drop _s2755_ _s2756_) with
- | _s2757_ =>
- (sep_matches_prefix _s2757_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2847_ _) =>
+ (match (string_drop _s2846_ _s2847_) with
+ | _s2848_ =>
+ (sep_matches_prefix _s2848_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s2758_ _) =>
- match (string_drop _s2757_ _s2758_) with
- | _s2759_ =>
+ | Some (tt, existT _ _s2849_ _) =>
+ match (string_drop _s2848_ _s2849_) with
+ | _s2850_ =>
match (hex_bits_5_matches_prefix
- _s2759_) with
- | Some (shamt, existT _ _s2760_ _) =>
+ _s2850_) with
+ | Some (shamt, existT _ _s2851_ _) =>
let p0_ :=
- string_drop _s2759_ _s2760_ in
+ string_drop _s2850_ _s2851_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -39885,43 +40687,43 @@ Definition _s2745_ (_s2746_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 5))).
-Definition _s2729_ (_s2730_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s2731_ := _s2730_ in
- (if string_startswith _s2731_ "addiw" then
- (match (string_drop _s2731_ (projT1 (string_length "addiw"))) with
- | _s2732_ =>
- (spc_matches_prefix _s2732_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2820_ (_s2821_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s2822_ := _s2821_ in
+ (if string_startswith _s2822_ "addiw" then
+ (match (string_drop _s2822_ (projT1 (string_length "addiw"))) with
+ | _s2823_ =>
+ (spc_matches_prefix _s2823_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2733_ _) =>
- (match (string_drop _s2732_ _s2733_) with
- | _s2734_ =>
- (reg_name_matches_prefix _s2734_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2824_ _) =>
+ (match (string_drop _s2823_ _s2824_) with
+ | _s2825_ =>
+ (reg_name_matches_prefix _s2825_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2735_ _) =>
- (match (string_drop _s2734_ _s2735_) with
- | _s2736_ =>
- (sep_matches_prefix _s2736_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2826_ _) =>
+ (match (string_drop _s2825_ _s2826_) with
+ | _s2827_ =>
+ (sep_matches_prefix _s2827_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2737_ _) =>
- (match (string_drop _s2736_ _s2737_) with
- | _s2738_ =>
- (reg_name_matches_prefix _s2738_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2828_ _) =>
+ (match (string_drop _s2827_ _s2828_) with
+ | _s2829_ =>
+ (reg_name_matches_prefix _s2829_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s2739_ _) =>
- (match (string_drop _s2738_ _s2739_) with
- | _s2740_ =>
- (sep_matches_prefix _s2740_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2830_ _) =>
+ (match (string_drop _s2829_ _s2830_) with
+ | _s2831_ =>
+ (sep_matches_prefix _s2831_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2741_ _) =>
- match (string_drop _s2740_ _s2741_) with
- | _s2742_ =>
- match (hex_bits_12_matches_prefix _s2742_) with
- | Some (imm, existT _ _s2743_ _) =>
- let p0_ := string_drop _s2742_ _s2743_ in
+ | Some (tt, existT _ _s2832_ _) =>
+ match (string_drop _s2831_ _s2832_) with
+ | _s2833_ =>
+ match (hex_bits_12_matches_prefix _s2833_) with
+ | Some (imm, existT _ _s2834_ _) =>
+ let p0_ := string_drop _s2833_ _s2834_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -39955,103 +40757,103 @@ Definition _s2729_ (_s2730_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s2701_ (_s2702_ : string)
+Definition _s2792_ (_s2793_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s2703_ := _s2702_ in
- (if string_startswith _s2703_ "s" then
- (match (string_drop _s2703_ (projT1 (string_length "s"))) with
- | _s2704_ =>
- (size_mnemonic_matches_prefix _s2704_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s2794_ := _s2793_ in
+ (if string_startswith _s2794_ "s" then
+ (match (string_drop _s2794_ (projT1 (string_length "s"))) with
+ | _s2795_ =>
+ (size_mnemonic_matches_prefix _s2795_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s2705_ _) =>
- (match (string_drop _s2704_ _s2705_) with
- | _s2706_ =>
- (maybe_aq_matches_prefix _s2706_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s2796_ _) =>
+ (match (string_drop _s2795_ _s2796_) with
+ | _s2797_ =>
+ (maybe_aq_matches_prefix _s2797_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s2707_ _) =>
- (match (string_drop _s2706_ _s2707_) with
- | _s2708_ =>
- (maybe_rl_matches_prefix _s2708_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s2798_ _) =>
+ (match (string_drop _s2797_ _s2798_) with
+ | _s2799_ =>
+ (maybe_rl_matches_prefix _s2799_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s2709_ _) =>
- (match (string_drop _s2708_ _s2709_) with
- | _s2710_ =>
- (spc_matches_prefix _s2710_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s2800_ _) =>
+ (match (string_drop _s2799_ _s2800_) with
+ | _s2801_ =>
+ (spc_matches_prefix _s2801_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2711_ _) =>
- (match (string_drop _s2710_ _s2711_) with
- | _s2712_ =>
- (reg_name_matches_prefix _s2712_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2802_ _) =>
+ (match (string_drop _s2801_ _s2802_) with
+ | _s2803_ =>
+ (reg_name_matches_prefix _s2803_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s2713_ _) =>
- (match (string_drop _s2712_ _s2713_) with
- | _s2714_ =>
- (sep_matches_prefix _s2714_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2804_ _) =>
+ (match (string_drop _s2803_ _s2804_) with
+ | _s2805_ =>
+ (sep_matches_prefix _s2805_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2715_ _) =>
- (match (string_drop _s2714_ _s2715_) with
- | _s2716_ =>
- (match (hex_bits_12_matches_prefix _s2716_) with
- | Some (imm, existT _ _s2717_ _) =>
- (match (string_drop _s2716_ _s2717_) with
- | _s2718_ =>
- (opt_spc_matches_prefix _s2718_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2806_ _) =>
+ (match (string_drop _s2805_ _s2806_) with
+ | _s2807_ =>
+ (match (hex_bits_12_matches_prefix _s2807_) with
+ | Some (imm, existT _ _s2808_ _) =>
+ (match (string_drop _s2807_ _s2808_) with
+ | _s2809_ =>
+ (opt_spc_matches_prefix _s2809_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s2719_ _) =>
- let _s2720_ :=
- string_drop _s2718_ _s2719_ in
- (if string_startswith _s2720_
+ | Some (tt, existT _ _s2810_ _) =>
+ let _s2811_ :=
+ string_drop _s2809_ _s2810_ in
+ (if string_startswith _s2811_
"(" then
- (match (string_drop _s2720_
+ (match (string_drop _s2811_
(projT1
(string_length
"("))) with
- | _s2721_ =>
+ | _s2812_ =>
(opt_spc_matches_prefix
- _s2721_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2812_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s2722_ _) =>
+ (tt, existT _ _s2813_ _) =>
(match (string_drop
- _s2721_
- _s2722_) with
- | _s2723_ =>
+ _s2812_
+ _s2813_) with
+ | _s2814_ =>
(reg_name_matches_prefix
- _s2723_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2814_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs1, existT _ _s2724_ _) =>
+ (rs1, existT _ _s2815_ _) =>
(match (string_drop
- _s2723_
- _s2724_) with
- | _s2725_ =>
+ _s2814_
+ _s2815_) with
+ | _s2816_ =>
(opt_spc_matches_prefix
- _s2725_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2816_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (tt, existT _ _s2726_ _) =>
- let _s2727_ :=
+ (tt, existT _ _s2817_ _) =>
+ let _s2818_ :=
string_drop
- _s2725_
- _s2726_ in
+ _s2816_
+ _s2817_ in
if
string_startswith
- _s2727_
+ _s2818_
")"
then
let p0_ :=
string_drop
- _s2727_
+ _s2818_
(projT1
(string_length
")")) in
@@ -40127,115 +40929,115 @@ Definition _s2701_ (_s2702_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s2671_ (_s2672_ : string)
+Definition _s2762_ (_s2763_ : string)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s2673_ := _s2672_ in
- (if string_startswith _s2673_ "l" then
- (match (string_drop _s2673_ (projT1 (string_length "l"))) with
- | _s2674_ =>
- (size_mnemonic_matches_prefix _s2674_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s2764_ := _s2763_ in
+ (if string_startswith _s2764_ "l" then
+ (match (string_drop _s2764_ (projT1 (string_length "l"))) with
+ | _s2765_ =>
+ (size_mnemonic_matches_prefix _s2765_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s2675_ _) =>
- (match (string_drop _s2674_ _s2675_) with
- | _s2676_ =>
- (maybe_u_matches_prefix _s2676_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s2766_ _) =>
+ (match (string_drop _s2765_ _s2766_) with
+ | _s2767_ =>
+ (maybe_u_matches_prefix _s2767_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (is_unsigned, existT _ _s2677_ _) =>
- (match (string_drop _s2676_ _s2677_) with
- | _s2678_ =>
- (maybe_aq_matches_prefix _s2678_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (is_unsigned, existT _ _s2768_ _) =>
+ (match (string_drop _s2767_ _s2768_) with
+ | _s2769_ =>
+ (maybe_aq_matches_prefix _s2769_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s2679_ _) =>
- (match (string_drop _s2678_ _s2679_) with
- | _s2680_ =>
- (maybe_rl_matches_prefix _s2680_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s2770_ _) =>
+ (match (string_drop _s2769_ _s2770_) with
+ | _s2771_ =>
+ (maybe_rl_matches_prefix _s2771_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s2681_ _) =>
- (match (string_drop _s2680_ _s2681_) with
- | _s2682_ =>
- (spc_matches_prefix _s2682_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s2772_ _) =>
+ (match (string_drop _s2771_ _s2772_) with
+ | _s2773_ =>
+ (spc_matches_prefix _s2773_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s2683_ _) =>
- (match (string_drop _s2682_ _s2683_) with
- | _s2684_ =>
- (reg_name_matches_prefix _s2684_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2774_ _) =>
+ (match (string_drop _s2773_ _s2774_) with
+ | _s2775_ =>
+ (reg_name_matches_prefix _s2775_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s2685_ _) =>
- (match (string_drop _s2684_ _s2685_) with
- | _s2686_ =>
- (sep_matches_prefix _s2686_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2776_ _) =>
+ (match (string_drop _s2775_ _s2776_) with
+ | _s2777_ =>
+ (sep_matches_prefix _s2777_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s2687_ _) =>
- (match (string_drop _s2686_ _s2687_) with
- | _s2688_ =>
+ | Some (tt, existT _ _s2778_ _) =>
+ (match (string_drop _s2777_ _s2778_) with
+ | _s2779_ =>
(match (hex_bits_12_matches_prefix
- _s2688_) with
- | Some (imm, existT _ _s2689_ _) =>
- (match (string_drop _s2688_
- _s2689_) with
- | _s2690_ =>
+ _s2779_) with
+ | Some (imm, existT _ _s2780_ _) =>
+ (match (string_drop _s2779_
+ _s2780_) with
+ | _s2781_ =>
(opt_spc_matches_prefix
- _s2690_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2781_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s2691_ _) =>
- let _s2692_ :=
- string_drop _s2690_
- _s2691_ in
+ (tt, existT _ _s2782_ _) =>
+ let _s2783_ :=
+ string_drop _s2781_
+ _s2782_ in
(if string_startswith
- _s2692_ "(" then
+ _s2783_ "(" then
(match (string_drop
- _s2692_
+ _s2783_
(projT1
(string_length
"("))) with
- | _s2693_ =>
+ | _s2784_ =>
(opt_spc_matches_prefix
- _s2693_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2784_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s2694_ _) =>
+ (tt, existT _ _s2785_ _) =>
(match (string_drop
- _s2693_
- _s2694_) with
- | _s2695_ =>
+ _s2784_
+ _s2785_) with
+ | _s2786_ =>
(reg_name_matches_prefix
- _s2695_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2786_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (rs1, existT _ _s2696_ _) =>
+ (rs1, existT _ _s2787_ _) =>
(match (string_drop
- _s2695_
- _s2696_) with
- | _s2697_ =>
+ _s2786_
+ _s2787_) with
+ | _s2788_ =>
(opt_spc_matches_prefix
- _s2697_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2788_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (tt, existT _ _s2698_ _) =>
- let _s2699_ :=
+ (tt, existT _ _s2789_ _) =>
+ let _s2790_ :=
string_drop
- _s2697_
- _s2698_ in
+ _s2788_
+ _s2789_ in
if
string_startswith
- _s2699_
+ _s2790_
")"
then
let p0_ :=
string_drop
- _s2699_
+ _s2790_
(projT1
(string_length
")")) in
@@ -40317,51 +41119,51 @@ Definition _s2671_ (_s2672_ : string)
else returnm None)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s2654_ (_s2655_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
- (match _s2655_ with
- | _s2656_ =>
- (rtype_mnemonic_matches_prefix _s2656_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
+Definition _s2745_ (_s2746_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
+ (match _s2746_ with
+ | _s2747_ =>
+ (rtype_mnemonic_matches_prefix _s2747_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2657_ _) =>
- (match (string_drop _s2656_ _s2657_) with
- | _s2658_ =>
- (spc_matches_prefix _s2658_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2748_ _) =>
+ (match (string_drop _s2747_ _s2748_) with
+ | _s2749_ =>
+ (spc_matches_prefix _s2749_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2659_ _) =>
- (match (string_drop _s2658_ _s2659_) with
- | _s2660_ =>
- (reg_name_matches_prefix _s2660_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2750_ _) =>
+ (match (string_drop _s2749_ _s2750_) with
+ | _s2751_ =>
+ (reg_name_matches_prefix _s2751_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2661_ _) =>
- (match (string_drop _s2660_ _s2661_) with
- | _s2662_ =>
- (sep_matches_prefix _s2662_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2752_ _) =>
+ (match (string_drop _s2751_ _s2752_) with
+ | _s2753_ =>
+ (sep_matches_prefix _s2753_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2663_ _) =>
- (match (string_drop _s2662_ _s2663_) with
- | _s2664_ =>
- (reg_name_matches_prefix _s2664_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2754_ _) =>
+ (match (string_drop _s2753_ _s2754_) with
+ | _s2755_ =>
+ (reg_name_matches_prefix _s2755_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2665_ _) =>
- (match (string_drop _s2664_ _s2665_) with
- | _s2666_ =>
- (sep_matches_prefix _s2666_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2756_ _) =>
+ (match (string_drop _s2755_ _s2756_) with
+ | _s2757_ =>
+ (sep_matches_prefix _s2757_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2667_ _) =>
- (match (string_drop _s2666_ _s2667_) with
- | _s2668_ =>
- (reg_name_matches_prefix _s2668_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2758_ _) =>
+ (match (string_drop _s2757_ _s2758_) with
+ | _s2759_ =>
+ (reg_name_matches_prefix _s2759_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2669_ _) =>
+ | Some (rs2, existT _ _s2760_ _) =>
let p0_ :=
- string_drop _s2668_ _s2669_ in
+ string_drop _s2759_ _s2760_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -40400,50 +41202,50 @@ Definition _s2654_ (_s2655_ : string) : M (option ((rop * mword 5 * mword 5 * mw
end)
: M (option ((rop * mword 5 * mword 5 * mword 5))).
-Definition _s2637_ (_s2638_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
- (match _s2638_ with
- | _s2639_ =>
- (shiftiop_mnemonic_matches_prefix _s2639_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s2728_ (_s2729_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
+ (match _s2729_ with
+ | _s2730_ =>
+ (shiftiop_mnemonic_matches_prefix _s2730_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2640_ _) =>
- (match (string_drop _s2639_ _s2640_) with
- | _s2641_ =>
- (spc_matches_prefix _s2641_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2731_ _) =>
+ (match (string_drop _s2730_ _s2731_) with
+ | _s2732_ =>
+ (spc_matches_prefix _s2732_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2642_ _) =>
- (match (string_drop _s2641_ _s2642_) with
- | _s2643_ =>
- (reg_name_matches_prefix _s2643_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2733_ _) =>
+ (match (string_drop _s2732_ _s2733_) with
+ | _s2734_ =>
+ (reg_name_matches_prefix _s2734_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2644_ _) =>
- (match (string_drop _s2643_ _s2644_) with
- | _s2645_ =>
- (sep_matches_prefix _s2645_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2735_ _) =>
+ (match (string_drop _s2734_ _s2735_) with
+ | _s2736_ =>
+ (sep_matches_prefix _s2736_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2646_ _) =>
- (match (string_drop _s2645_ _s2646_) with
- | _s2647_ =>
- (reg_name_matches_prefix _s2647_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2737_ _) =>
+ (match (string_drop _s2736_ _s2737_) with
+ | _s2738_ =>
+ (reg_name_matches_prefix _s2738_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2648_ _) =>
- (match (string_drop _s2647_ _s2648_) with
- | _s2649_ =>
- (sep_matches_prefix _s2649_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2739_ _) =>
+ (match (string_drop _s2738_ _s2739_) with
+ | _s2740_ =>
+ (sep_matches_prefix _s2740_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s2650_ _) =>
- match (string_drop _s2649_ _s2650_) with
- | _s2651_ =>
+ | Some (tt, existT _ _s2741_ _) =>
+ match (string_drop _s2740_ _s2741_) with
+ | _s2742_ =>
match (hex_bits_6_matches_prefix
- _s2651_) with
- | Some (shamt, existT _ _s2652_ _) =>
+ _s2742_) with
+ | Some (shamt, existT _ _s2743_ _) =>
let p0_ :=
- string_drop _s2651_ _s2652_ in
+ string_drop _s2742_ _s2743_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -40480,50 +41282,50 @@ Definition _s2637_ (_s2638_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 6))).
-Definition _s2620_ (_s2621_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
- (match _s2621_ with
- | _s2622_ =>
- (itype_mnemonic_matches_prefix _s2622_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
+Definition _s2711_ (_s2712_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
+ (match _s2712_ with
+ | _s2713_ =>
+ (itype_mnemonic_matches_prefix _s2713_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2623_ _) =>
- (match (string_drop _s2622_ _s2623_) with
- | _s2624_ =>
- (spc_matches_prefix _s2624_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2714_ _) =>
+ (match (string_drop _s2713_ _s2714_) with
+ | _s2715_ =>
+ (spc_matches_prefix _s2715_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2625_ _) =>
- (match (string_drop _s2624_ _s2625_) with
- | _s2626_ =>
- (reg_name_matches_prefix _s2626_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2716_ _) =>
+ (match (string_drop _s2715_ _s2716_) with
+ | _s2717_ =>
+ (reg_name_matches_prefix _s2717_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2627_ _) =>
- (match (string_drop _s2626_ _s2627_) with
- | _s2628_ =>
- (sep_matches_prefix _s2628_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2718_ _) =>
+ (match (string_drop _s2717_ _s2718_) with
+ | _s2719_ =>
+ (sep_matches_prefix _s2719_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2629_ _) =>
- (match (string_drop _s2628_ _s2629_) with
- | _s2630_ =>
- (reg_name_matches_prefix _s2630_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2720_ _) =>
+ (match (string_drop _s2719_ _s2720_) with
+ | _s2721_ =>
+ (reg_name_matches_prefix _s2721_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2631_ _) =>
- (match (string_drop _s2630_ _s2631_) with
- | _s2632_ =>
- (sep_matches_prefix _s2632_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2722_ _) =>
+ (match (string_drop _s2721_ _s2722_) with
+ | _s2723_ =>
+ (sep_matches_prefix _s2723_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s2633_ _) =>
- match (string_drop _s2632_ _s2633_) with
- | _s2634_ =>
+ | Some (tt, existT _ _s2724_ _) =>
+ match (string_drop _s2723_ _s2724_) with
+ | _s2725_ =>
match (hex_bits_12_matches_prefix
- _s2634_) with
- | Some (imm, existT _ _s2635_ _) =>
+ _s2725_) with
+ | Some (imm, existT _ _s2726_ _) =>
let p0_ :=
- string_drop _s2634_ _s2635_ in
+ string_drop _s2725_ _s2726_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, imm)
else None
@@ -40560,50 +41362,50 @@ Definition _s2620_ (_s2621_ : string) : M (option ((iop * mword 5 * mword 5 * mw
end)
: M (option ((iop * mword 5 * mword 5 * mword 12))).
-Definition _s2603_ (_s2604_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
- (match _s2604_ with
- | _s2605_ =>
- (btype_mnemonic_matches_prefix _s2605_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
+Definition _s2694_ (_s2695_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
+ (match _s2695_ with
+ | _s2696_ =>
+ (btype_mnemonic_matches_prefix _s2696_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2606_ _) =>
- (match (string_drop _s2605_ _s2606_) with
- | _s2607_ =>
- (spc_matches_prefix _s2607_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2697_ _) =>
+ (match (string_drop _s2696_ _s2697_) with
+ | _s2698_ =>
+ (spc_matches_prefix _s2698_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2608_ _) =>
- (match (string_drop _s2607_ _s2608_) with
- | _s2609_ =>
- (reg_name_matches_prefix _s2609_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2699_ _) =>
+ (match (string_drop _s2698_ _s2699_) with
+ | _s2700_ =>
+ (reg_name_matches_prefix _s2700_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs1, existT _ _s2610_ _) =>
- (match (string_drop _s2609_ _s2610_) with
- | _s2611_ =>
- (sep_matches_prefix _s2611_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2701_ _) =>
+ (match (string_drop _s2700_ _s2701_) with
+ | _s2702_ =>
+ (sep_matches_prefix _s2702_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2612_ _) =>
- (match (string_drop _s2611_ _s2612_) with
- | _s2613_ =>
- (reg_name_matches_prefix _s2613_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2703_ _) =>
+ (match (string_drop _s2702_ _s2703_) with
+ | _s2704_ =>
+ (reg_name_matches_prefix _s2704_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s2614_ _) =>
- (match (string_drop _s2613_ _s2614_) with
- | _s2615_ =>
- (sep_matches_prefix _s2615_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2705_ _) =>
+ (match (string_drop _s2704_ _s2705_) with
+ | _s2706_ =>
+ (sep_matches_prefix _s2706_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s2616_ _) =>
- match (string_drop _s2615_ _s2616_) with
- | _s2617_ =>
+ | Some (tt, existT _ _s2707_ _) =>
+ match (string_drop _s2706_ _s2707_) with
+ | _s2708_ =>
match (hex_bits_13_matches_prefix
- _s2617_) with
- | Some (imm, existT _ _s2618_ _) =>
+ _s2708_) with
+ | Some (imm, existT _ _s2709_ _) =>
let p0_ :=
- string_drop _s2617_ _s2618_ in
+ string_drop _s2708_ _s2709_ in
if generic_eq p0_ "" then
Some (op, rs1, rs2, imm)
else None
@@ -40640,43 +41442,43 @@ Definition _s2603_ (_s2604_ : string) : M (option ((bop * mword 5 * mword 5 * mw
end)
: M (option ((bop * mword 5 * mword 5 * mword 13))).
-Definition _s2587_ (_s2588_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s2589_ := _s2588_ in
- (if string_startswith _s2589_ "jalr" then
- (match (string_drop _s2589_ (projT1 (string_length "jalr"))) with
- | _s2590_ =>
- (spc_matches_prefix _s2590_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2678_ (_s2679_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s2680_ := _s2679_ in
+ (if string_startswith _s2680_ "jalr" then
+ (match (string_drop _s2680_ (projT1 (string_length "jalr"))) with
+ | _s2681_ =>
+ (spc_matches_prefix _s2681_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2591_ _) =>
- (match (string_drop _s2590_ _s2591_) with
- | _s2592_ =>
- (reg_name_matches_prefix _s2592_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2682_ _) =>
+ (match (string_drop _s2681_ _s2682_) with
+ | _s2683_ =>
+ (reg_name_matches_prefix _s2683_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2593_ _) =>
- (match (string_drop _s2592_ _s2593_) with
- | _s2594_ =>
- (sep_matches_prefix _s2594_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2684_ _) =>
+ (match (string_drop _s2683_ _s2684_) with
+ | _s2685_ =>
+ (sep_matches_prefix _s2685_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2595_ _) =>
- (match (string_drop _s2594_ _s2595_) with
- | _s2596_ =>
- (reg_name_matches_prefix _s2596_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2686_ _) =>
+ (match (string_drop _s2685_ _s2686_) with
+ | _s2687_ =>
+ (reg_name_matches_prefix _s2687_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s2597_ _) =>
- (match (string_drop _s2596_ _s2597_) with
- | _s2598_ =>
- (sep_matches_prefix _s2598_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2688_ _) =>
+ (match (string_drop _s2687_ _s2688_) with
+ | _s2689_ =>
+ (sep_matches_prefix _s2689_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2599_ _) =>
- match (string_drop _s2598_ _s2599_) with
- | _s2600_ =>
- match (hex_bits_12_matches_prefix _s2600_) with
- | Some (imm, existT _ _s2601_ _) =>
- let p0_ := string_drop _s2600_ _s2601_ in
+ | Some (tt, existT _ _s2690_ _) =>
+ match (string_drop _s2689_ _s2690_) with
+ | _s2691_ =>
+ match (hex_bits_12_matches_prefix _s2691_) with
+ | Some (imm, existT _ _s2692_ _) =>
+ let p0_ := string_drop _s2691_ _s2692_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -40710,31 +41512,31 @@ Definition _s2587_ (_s2588_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s2575_ (_s2576_ : string) : M (option ((mword 5 * mword 21))) :=
- let _s2577_ := _s2576_ in
- (if string_startswith _s2577_ "jal" then
- (match (string_drop _s2577_ (projT1 (string_length "jal"))) with
- | _s2578_ =>
- (spc_matches_prefix _s2578_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2666_ (_s2667_ : string) : M (option ((mword 5 * mword 21))) :=
+ let _s2668_ := _s2667_ in
+ (if string_startswith _s2668_ "jal" then
+ (match (string_drop _s2668_ (projT1 (string_length "jal"))) with
+ | _s2669_ =>
+ (spc_matches_prefix _s2669_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2579_ _) =>
- (match (string_drop _s2578_ _s2579_) with
- | _s2580_ =>
- (reg_name_matches_prefix _s2580_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2670_ _) =>
+ (match (string_drop _s2669_ _s2670_) with
+ | _s2671_ =>
+ (reg_name_matches_prefix _s2671_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2581_ _) =>
- (match (string_drop _s2580_ _s2581_) with
- | _s2582_ =>
- (sep_matches_prefix _s2582_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2672_ _) =>
+ (match (string_drop _s2671_ _s2672_) with
+ | _s2673_ =>
+ (sep_matches_prefix _s2673_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2583_ _) =>
- match (string_drop _s2582_ _s2583_) with
- | _s2584_ =>
- match (hex_bits_21_matches_prefix _s2584_) with
- | Some (imm, existT _ _s2585_ _) =>
- let p0_ := string_drop _s2584_ _s2585_ in
+ | Some (tt, existT _ _s2674_ _) =>
+ match (string_drop _s2673_ _s2674_) with
+ | _s2675_ =>
+ match (hex_bits_21_matches_prefix _s2675_) with
+ | Some (imm, existT _ _s2676_ _) =>
+ let p0_ := string_drop _s2675_ _s2676_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -40757,36 +41559,36 @@ Definition _s2575_ (_s2576_ : string) : M (option ((mword 5 * mword 21))) :=
else returnm None)
: M (option ((mword 5 * mword 21))).
-Definition _s2562_ (_s2563_ : string) : M (option ((uop * mword 5 * mword 20))) :=
- (match _s2563_ with
- | _s2564_ =>
- (utype_mnemonic_matches_prefix _s2564_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
+Definition _s2653_ (_s2654_ : string) : M (option ((uop * mword 5 * mword 20))) :=
+ (match _s2654_ with
+ | _s2655_ =>
+ (utype_mnemonic_matches_prefix _s2655_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2565_ _) =>
- (match (string_drop _s2564_ _s2565_) with
- | _s2566_ =>
- (spc_matches_prefix _s2566_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2656_ _) =>
+ (match (string_drop _s2655_ _s2656_) with
+ | _s2657_ =>
+ (spc_matches_prefix _s2657_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2567_ _) =>
- (match (string_drop _s2566_ _s2567_) with
- | _s2568_ =>
- (reg_name_matches_prefix _s2568_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2658_ _) =>
+ (match (string_drop _s2657_ _s2658_) with
+ | _s2659_ =>
+ (reg_name_matches_prefix _s2659_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2569_ _) =>
- (match (string_drop _s2568_ _s2569_) with
- | _s2570_ =>
- (sep_matches_prefix _s2570_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2660_ _) =>
+ (match (string_drop _s2659_ _s2660_) with
+ | _s2661_ =>
+ (sep_matches_prefix _s2661_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (tt, existT _ _s2571_ _) =>
- match (string_drop _s2570_ _s2571_) with
- | _s2572_ =>
- match (hex_bits_20_matches_prefix _s2572_) with
- | Some (imm, existT _ _s2573_ _) =>
- let p0_ := string_drop _s2572_ _s2573_ in
+ | Some (tt, existT _ _s2662_ _) =>
+ match (string_drop _s2661_ _s2662_) with
+ | _s2663_ =>
+ match (hex_bits_20_matches_prefix _s2663_) with
+ | Some (imm, existT _ _s2664_ _) =>
+ let p0_ := string_drop _s2663_ _s2664_ in
if generic_eq p0_ "" then Some (op, rd, imm)
else None
| _ => None
@@ -40813,181 +41615,181 @@ Definition _s2562_ (_s2563_ : string) : M (option ((uop * mword 5 * mword 20)))
: M (option ((uop * mword 5 * mword 20))).
Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
- let _s2574_ := arg_ in
- (_s2562_ _s2574_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
+ let _s2665_ := arg_ in
+ (_s2653_ _s2665_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
(if match w__0 with | Some (op, rd, imm) => true | _ => false end then
- (_s2562_ _s2574_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
+ (_s2653_ _s2665_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
(match w__1 with | Some (op, rd, imm) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else
- (_s2575_ _s2574_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
+ (_s2666_ _s2665_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
(if match w__4 with | Some (rd, imm) => true | _ => false end then
- (_s2575_ _s2574_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
+ (_s2666_ _s2665_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
(match w__5 with | Some (rd, imm) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else
- (_s2587_ _s2574_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s2678_ _s2665_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__8 with | Some (rd, rs1, imm) => true | _ => false end then
- (_s2587_ _s2574_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s2678_ _s2665_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__9 with | Some (rd, rs1, imm) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else
- (_s2603_ _s2574_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s2694_ _s2665_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(if match w__12 with | Some (op, rs1, rs2, imm) => true | _ => false end then
- (_s2603_ _s2574_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s2694_ _s2665_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(match w__13 with
| Some (op, rs1, rs2, imm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2620_ _s2574_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s2711_ _s2665_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(if match w__16 with | Some (op, rd, rs1, imm) => true | _ => false end then
- (_s2620_ _s2574_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s2711_ _s2665_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(match w__17 with
| Some (op, rd, rs1, imm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2637_ _s2574_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s2728_ _s2665_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(if match w__20 with | Some (op, rd, rs1, shamt) => true | _ => false end then
- (_s2637_ _s2574_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s2728_ _s2665_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(match w__21 with
| Some (op, rd, rs1, shamt) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2654_ _s2574_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s2745_ _s2665_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(if match w__24 with | Some (op, rd, rs1, rs2) => true | _ => false end then
- (_s2654_ _s2574_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s2745_ _s2665_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(match w__25 with
| Some (op, rd, rs1, rs2) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2671_ _s2574_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s2762_ _s2665_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__28 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) => true
| _ => false
end then
- (_s2671_ _s2574_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s2762_ _s2665_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__29 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2701_ _s2574_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s2792_ _s2665_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__32 with
| Some (size, aq, rl, rs2, imm, rs1) => true
| _ => false
end then
- (_s2701_ _s2574_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s2792_ _s2665_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__33 with
| Some (size, aq, rl, rs2, imm, rs1) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2729_ _s2574_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s2820_ _s2665_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__36 with
| Some (rd, rs1, imm) => Z.eqb 32 64
| _ => false
end then
- (_s2729_ _s2574_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s2820_ _s2665_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__37 with
| Some (rd, rs1, imm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2745_ _s2574_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s2836_ _s2665_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(if match w__40 with
| Some (op, rd, rs1, shamt) => Z.eqb 32 64
| _ => false
end then
- (_s2745_ _s2574_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s2836_ _s2665_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(match w__41 with
| Some (op, rd, rs1, shamt) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2762_ _s2574_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s2853_ _s2665_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(if match w__44 with
| Some (op, rd, rs1, rs2) => Z.eqb 32 64
| _ => false
end then
- (_s2762_ _s2574_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s2853_ _s2665_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(match w__45 with
| Some (op, rd, rs1, rs2) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2779_ _s2574_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s2870_ _s2665_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(if match w__48 with
| Some (op, rd, rs1, shamt) => Z.eqb 32 64
| _ => false
end then
- (_s2779_ _s2574_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s2870_ _s2665_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(match w__49 with
| Some (op, rd, rs1, shamt) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2796_ _s2574_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
+ (_s2887_ _s2665_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
(if match w__52 with
| Some (pred, succ) => true
| _ => false
end then
- (_s2796_ _s2574_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
+ (_s2887_ _s2665_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
(match w__53 with
| Some (pred, succ) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2808_ _s2574_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
+ (_s2899_ _s2665_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
(if match w__56 with
| Some (pred, succ) => true
| _ => false
end then
- (_s2808_ _s2574_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
+ (_s2899_ _s2665_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
(match w__57 with
| Some (pred, succ) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
- else if generic_eq _s2574_ "fence.i" then returnm true
- else if generic_eq _s2574_ "ecall" then returnm true
- else if generic_eq _s2574_ "mret" then returnm true
- else if generic_eq _s2574_ "sret" then returnm true
- else if generic_eq _s2574_ "ebreak" then returnm true
- else if generic_eq _s2574_ "wfi" then returnm true
+ else if generic_eq _s2665_ "fence.i" then returnm true
+ else if generic_eq _s2665_ "ecall" then returnm true
+ else if generic_eq _s2665_ "mret" then returnm true
+ else if generic_eq _s2665_ "sret" then returnm true
+ else if generic_eq _s2665_ "ebreak" then returnm true
+ else if generic_eq _s2665_ "wfi" then returnm true
else
- (_s2820_ _s2574_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
+ (_s2911_ _s2665_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
(if match w__60 with
| Some (rs1, rs2) => true
| _ => false
end then
- (_s2820_ _s2574_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
+ (_s2911_ _s2665_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
(match w__61 with
| Some (rs1, rs2) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2832_ _s2574_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s2923_ _s2665_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(if match w__64 with
| Some (size, aq, rl, rd, rs1) => true
| _ => false
end then
- (_s2832_ _s2574_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s2923_ _s2665_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(match w__65 with
| Some (size, aq, rl, rd, rs1) =>
returnm true
@@ -40995,13 +41797,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2850_ _s2574_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2941_ _s2665_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__68 with
| Some (size, aq, rl, rd, rs1, rs2) =>
true
| _ => false
end then
- (_s2850_ _s2574_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2941_ _s2665_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__69 with
| Some (size, aq, rl, rd, rs1, rs2) =>
returnm true
@@ -41009,14 +41811,14 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2872_ _s2574_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2963_ _s2665_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__72 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
true
| _ => false
end then
- (_s2872_ _s2574_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2963_ _s2665_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__73 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
@@ -41024,28 +41826,28 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
| _ => exit tt : M (bool)
end)
: M (bool)
- else if generic_eq _s2574_ "c.nop" then
+ else if generic_eq _s2665_ "c.nop" then
returnm true
else
- (_s2898_ _s2574_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
+ (_s2989_ _s2665_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
(if match w__76 with
| Some (rdc, nzimm) =>
neq_vec nzimm (Ox"00" : mword 8)
| _ => false
end then
- (_s2898_ _s2574_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
+ (_s2989_ _s2665_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
(match w__77 with
| Some (rdc, nzimm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s2910_ _s2574_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3001_ _s2665_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__80 with
| Some (rdc, rsc, uimm) => true
| _ => false
end then
- (_s2910_ _s2574_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3001_ _s2665_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__81 with
| Some (rdc, rsc, uimm) =>
returnm true
@@ -41053,13 +41855,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2926_ _s2574_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3017_ _s2665_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__84 with
| Some (rdc, rsc, uimm) =>
Z.eqb 32 64
| _ => false
end then
- (_s2926_ _s2574_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3017_ _s2665_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__85 with
| Some (rdc, rsc, uimm) =>
returnm true
@@ -41067,13 +41869,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2942_ _s2574_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3033_ _s2665_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__88 with
| Some (rsc1, rsc2, uimm) =>
true
| _ => false
end then
- (_s2942_ _s2574_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3033_ _s2665_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__89 with
| Some (rsc1, rsc2, uimm) =>
returnm true
@@ -41081,14 +41883,14 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2958_ _s2574_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3049_ _s2665_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__92 with
| Some
(rsc1, rsc2, uimm) =>
Z.eqb 32 64
| _ => false
end then
- (_s2958_ _s2574_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3049_ _s2665_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__93 with
| Some
(rsc1, rsc2, uimm) =>
@@ -41098,7 +41900,7 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2974_ _s2574_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
+ (_s3065_ _s2665_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
(if match w__96 with
| Some (rsd, nzi) =>
andb
@@ -41109,7 +41911,7 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
zreg)
| _ => false
end then
- (_s2974_ _s2574_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
+ (_s3065_ _s2665_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
(match w__97 with
| Some (rsd, nzi) =>
returnm true
@@ -41119,13 +41921,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2986_ _s2574_) >>= fun w__100 : option (mword 11) =>
+ (_s3077_ _s2665_) >>= fun w__100 : option (mword 11) =>
(if match w__100 with
| Some imm =>
Z.eqb 32 32
| _ => false
end then
- (_s2986_ _s2574_) >>= fun w__101 : option (mword 11) =>
+ (_s3077_ _s2665_) >>= fun w__101 : option (mword 11) =>
(match w__101 with
| Some imm =>
returnm true
@@ -41135,14 +41937,14 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s2994_ _s2574_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
+ (_s3085_ _s2665_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
(if match w__104 with
| Some
(rsd, imm) =>
Z.eqb 32 64
| _ => false
end then
- (_s2994_ _s2574_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
+ (_s3085_ _s2665_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
(match w__105 with
| Some
(rsd, imm) =>
@@ -41153,7 +41955,7 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3006_ _s2574_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
+ (_s3097_ _s2665_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
(if match w__108 with
| Some
(rd, imm) =>
@@ -41161,8 +41963,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
rd zreg
| _ => false
end then
- (_s3006_
- _s2574_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
+ (_s3097_
+ _s2665_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
(match w__109 with
| Some
(rd, imm) =>
@@ -41173,8 +41975,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3018_
- _s2574_) >>= fun w__112 : option (mword 6) =>
+ (_s3109_
+ _s2665_) >>= fun w__112 : option (mword 6) =>
(if match w__112 with
| Some
imm =>
@@ -41185,8 +41987,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
| _ =>
false
end then
- (_s3018_
- _s2574_) >>= fun w__113 : option (mword 6) =>
+ (_s3109_
+ _s2665_) >>= fun w__113 : option (mword 6) =>
(match w__113 with
| Some
imm =>
@@ -41197,8 +41999,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3026_
- _s2574_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
+ (_s3117_
+ _s2665_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
(if match w__116 with
| Some
(rd, imm) =>
@@ -41218,8 +42020,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3026_
- _s2574_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
+ (_s3117_
+ _s2665_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
(match w__117 with
| Some
(rd, imm) =>
@@ -41230,8 +42032,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3038_
- _s2574_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
+ (_s3129_
+ _s2665_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
(if match w__120 with
| Some
(rsd, shamt) =>
@@ -41243,8 +42045,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3038_
- _s2574_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
+ (_s3129_
+ _s2665_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
(match w__121 with
| Some
(rsd, shamt) =>
@@ -41255,8 +42057,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3050_
- _s2574_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
+ (_s3141_
+ _s2665_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
(if match w__124 with
| Some
(rsd, shamt) =>
@@ -41268,8 +42070,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3050_
- _s2574_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
+ (_s3141_
+ _s2665_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
(match w__125 with
| Some
(rsd, shamt) =>
@@ -41280,8 +42082,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3062_
- _s2574_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
+ (_s3153_
+ _s2665_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
(if
match w__128 with
| Some
@@ -41291,8 +42093,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3062_
- _s2574_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
+ (_s3153_
+ _s2665_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
(match w__129 with
| Some
(rsd, imm) =>
@@ -41303,8 +42105,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3074_
- _s2574_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
+ (_s3165_
+ _s2665_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
(if
match w__132 with
| Some
@@ -41314,8 +42116,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3074_
- _s2574_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
+ (_s3165_
+ _s2665_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
(match w__133 with
| Some
(rsd, rs2) =>
@@ -41326,8 +42128,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3086_
- _s2574_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
+ (_s3177_
+ _s2665_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
(if
match w__136 with
| Some
@@ -41337,8 +42139,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3086_
- _s2574_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
+ (_s3177_
+ _s2665_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
(match w__137 with
| Some
(rsd, rs2) =>
@@ -41349,8 +42151,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3098_
- _s2574_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
+ (_s3189_
+ _s2665_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
(if
match w__140 with
| Some
@@ -41360,8 +42162,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3098_
- _s2574_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
+ (_s3189_
+ _s2665_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
(match w__141 with
| Some
(rsd, rs2) =>
@@ -41372,8 +42174,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3110_
- _s2574_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
+ (_s3201_
+ _s2665_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
(if
match w__144 with
| Some
@@ -41383,8 +42185,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3110_
- _s2574_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
+ (_s3201_
+ _s2665_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
(match w__145 with
| Some
(rsd, rs2) =>
@@ -41395,8 +42197,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3122_
- _s2574_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
+ (_s3213_
+ _s2665_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
(if
match w__148 with
| Some
@@ -41408,8 +42210,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3122_
- _s2574_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
+ (_s3213_
+ _s2665_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
(match w__149 with
| Some
(rsd, rs2) =>
@@ -41420,8 +42222,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3134_
- _s2574_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
+ (_s3225_
+ _s2665_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
(if
match w__152 with
| Some
@@ -41433,8 +42235,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3134_
- _s2574_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
+ (_s3225_
+ _s2665_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
(match w__153 with
| Some
(rsd, rs2) =>
@@ -41445,8 +42247,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3146_
- _s2574_) >>= fun w__156 : option (mword 11) =>
+ (_s3237_
+ _s2665_) >>= fun w__156 : option (mword 11) =>
(if
match w__156 with
| Some
@@ -41456,8 +42258,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3146_
- _s2574_) >>= fun w__157 : option (mword 11) =>
+ (_s3237_
+ _s2665_) >>= fun w__157 : option (mword 11) =>
(match w__157 with
| Some
imm =>
@@ -41468,8 +42270,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3154_
- _s2574_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
+ (_s3245_
+ _s2665_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
(if
match w__160 with
| Some
@@ -41479,8 +42281,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3154_
- _s2574_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
+ (_s3245_
+ _s2665_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
(match w__161 with
| Some
(rs, imm) =>
@@ -41491,8 +42293,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3166_
- _s2574_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
+ (_s3257_
+ _s2665_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
(if
match w__164 with
| Some
@@ -41502,8 +42304,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3166_
- _s2574_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
+ (_s3257_
+ _s2665_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
(match w__165 with
| Some
(rs, imm) =>
@@ -41514,8 +42316,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3178_
- _s2574_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
+ (_s3269_
+ _s2665_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
(if
match w__168 with
| Some
@@ -41532,8 +42334,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3178_
- _s2574_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
+ (_s3269_
+ _s2665_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
(match w__169 with
| Some
(rsd, shamt) =>
@@ -41544,8 +42346,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3190_
- _s2574_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
+ (_s3281_
+ _s2665_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
(if
match w__172 with
| Some
@@ -41557,8 +42359,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3190_
- _s2574_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
+ (_s3281_
+ _s2665_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
(match w__173 with
| Some
(rd, uimm) =>
@@ -41569,8 +42371,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3202_
- _s2574_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
+ (_s3293_
+ _s2665_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
(if
match w__176 with
| Some
@@ -41586,8 +42388,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3202_
- _s2574_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
+ (_s3293_
+ _s2665_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
(match w__177 with
| Some
(rd, uimm) =>
@@ -41598,8 +42400,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3214_
- _s2574_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
+ (_s3305_
+ _s2665_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
(if
match w__180 with
| Some
@@ -41609,8 +42411,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3214_
- _s2574_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
+ (_s3305_
+ _s2665_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
(match w__181 with
| Some
(rd, uimm) =>
@@ -41621,8 +42423,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3226_
- _s2574_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
+ (_s3317_
+ _s2665_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
(if
match w__184 with
| Some
@@ -41634,8 +42436,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3226_
- _s2574_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
+ (_s3317_
+ _s2665_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
(match w__185 with
| Some
(rs2, uimm) =>
@@ -41646,8 +42448,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3238_
- _s2574_) >>= fun w__188 : option (mword 5) =>
+ (_s3329_
+ _s2665_) >>= fun w__188 : option (mword 5) =>
(if
match w__188 with
| Some
@@ -41659,8 +42461,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3238_
- _s2574_) >>= fun w__189 : option (mword 5) =>
+ (_s3329_
+ _s2665_) >>= fun w__189 : option (mword 5) =>
(match w__189 with
| Some
rs1 =>
@@ -41671,8 +42473,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3246_
- _s2574_) >>= fun w__192 : option (mword 5) =>
+ (_s3337_
+ _s2665_) >>= fun w__192 : option (mword 5) =>
(if
match w__192 with
| Some
@@ -41684,8 +42486,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3246_
- _s2574_) >>= fun w__193 : option (mword 5) =>
+ (_s3337_
+ _s2665_) >>= fun w__193 : option (mword 5) =>
(match w__193 with
| Some
rs1 =>
@@ -41696,8 +42498,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3254_
- _s2574_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
+ (_s3345_
+ _s2665_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
(if
match w__196 with
| Some
@@ -41713,8 +42515,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3254_
- _s2574_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
+ (_s3345_
+ _s2665_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
(match w__197 with
| Some
(rd, rs2) =>
@@ -41726,13 +42528,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
: M (bool)
else if
generic_eq
- _s2574_
+ _s2665_
"c.ebreak"
then
returnm true
else
- (_s3266_
- _s2574_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
+ (_s3357_
+ _s2665_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
(if
match w__200 with
| Some
@@ -41748,8 +42550,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3266_
- _s2574_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
+ (_s3357_
+ _s2665_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
(match w__201 with
| Some
(rsd, rs2) =>
@@ -41760,8 +42562,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3278_
- _s2574_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3369_
+ _s2665_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__204 with
| Some
@@ -41771,8 +42573,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3278_
- _s2574_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3369_
+ _s2665_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__205 with
| Some
(high, signed1, signed2, rd, rs1, rs2) =>
@@ -41783,8 +42585,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3295_
- _s2574_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3386_
+ _s2665_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__208 with
| Some
@@ -41794,8 +42596,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3295_
- _s2574_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3386_
+ _s2665_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__209 with
| Some
(s, rd, rs1, rs2) =>
@@ -41806,8 +42608,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3313_
- _s2574_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3404_
+ _s2665_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__212 with
| Some
@@ -41817,8 +42619,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3313_
- _s2574_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3404_
+ _s2665_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__213 with
| Some
(s, rd, rs1, rs2) =>
@@ -41829,8 +42631,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3331_
- _s2574_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s3422_
+ _s2665_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
(if
match w__216 with
| Some
@@ -41842,8 +42644,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3331_
- _s2574_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s3422_
+ _s2665_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
(match w__217 with
| Some
(rd, rs1, rs2) =>
@@ -41854,8 +42656,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3347_
- _s2574_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3438_
+ _s2665_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__220 with
| Some
@@ -41867,8 +42669,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3347_
- _s2574_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3438_
+ _s2665_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__221 with
| Some
(s, rd, rs1, rs2) =>
@@ -41879,8 +42681,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3366_
- _s2574_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3457_
+ _s2665_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__224 with
| Some
@@ -41892,8 +42694,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3366_
- _s2574_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3457_
+ _s2665_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__225 with
| Some
(s, rd, rs1, rs2) =>
@@ -41904,8 +42706,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3385_
- _s2574_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s3476_
+ _s2665_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__228 with
| Some
@@ -41915,8 +42717,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3385_
- _s2574_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s3476_
+ _s2665_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__229 with
| Some
(op, rd, csr, rs1) =>
@@ -41927,8 +42729,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3403_
- _s2574_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s3494_
+ _s2665_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__232 with
| Some
@@ -41938,8 +42740,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3403_
- _s2574_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s3494_
+ _s2665_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__233 with
| Some
(op, rd, csr, rs1) =>
@@ -41951,27 +42753,92 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
: M (bool)
else if
generic_eq
- _s2574_
+ _s2665_
"uret"
then
returnm true
+ else if
+ match (_s3511_
+ _s2665_) with
+ | Some
+ imm =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (match (_s3511_
+ _s2665_) with
+ | Some
+ imm =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
else
- (_s3420_
- _s2574_) >>= fun w__236 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s3517_
+ _s2665_) >>= fun w__238 : option (mword 5) =>
(if
- match w__236 with
+ match w__238 with
+ | Some
+ rsd =>
+ neq_vec
+ rsd
+ zreg
+ | _ =>
+ false
+ end
+ then
+ (_s3517_
+ _s2665_) >>= fun w__239 : option (mword 5) =>
+ (match w__239 with
+ | Some
+ rsd =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else if
+ match (_s3523_
+ _s2665_) with
| Some
- (width, rd, imm, rs1) =>
+ imm =>
true
| _ =>
false
end
then
- (_s3420_
- _s2574_) >>= fun w__237 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__237 with
+ (match (_s3523_
+ _s2665_) with
| Some
- (width, rd, imm, rs1) =>
+ imm =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else if
+ match (_s3529_
+ _s2665_) with
+ | Some
+ imm =>
+ neq_vec
+ imm
+ ('b"000000"
+ : mword 6)
+ | _ =>
+ false
+ end
+ then
+ (match (_s3529_
+ _s2665_) with
+ | Some
+ imm =>
returnm true
| _ =>
exit tt
@@ -41979,22 +42846,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3444_
- _s2574_) >>= fun w__240 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s3535_
+ _s2665_) >>= fun w__246 : option (mword 5) =>
(if
- match w__240 with
+ match w__246 with
| Some
- (width, rs2, imm, rs1) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s3444_
- _s2574_) >>= fun w__241 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__241 with
+ (_s3535_
+ _s2665_) >>= fun w__247 : option (mword 5) =>
+ (match w__247 with
| Some
- (width, rs2, imm, rs1) =>
+ rs2 =>
returnm true
| _ =>
exit tt
@@ -42002,22 +42871,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3468_
- _s2574_) >>= fun w__244 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3541_
+ _s2665_) >>= fun w__250 : option (mword 5) =>
(if
- match w__244 with
+ match w__250 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s3468_
- _s2574_) >>= fun w__245 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__245 with
+ (_s3541_
+ _s2665_) >>= fun w__251 : option (mword 5) =>
+ (match w__251 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
+ rs2 =>
returnm true
| _ =>
exit tt
@@ -42025,22 +42896,29 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3493_
- _s2574_) >>= fun w__248 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3547_
+ _s2665_) >>= fun w__254 : option ((mword 5 * mword 6)) =>
(if
- match w__248 with
+ match w__254 with
| Some
- (op, rd, rs1, rs2, rm) =>
- true
+ (rsd, shamt) =>
+ orb
+ (eq_vec
+ shamt
+ ('b"000000"
+ : mword 6))
+ (eq_vec
+ rsd
+ zreg)
| _ =>
false
end
then
- (_s3493_
- _s2574_) >>= fun w__249 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__249 with
+ (_s3547_
+ _s2665_) >>= fun w__255 : option ((mword 5 * mword 6)) =>
+ (match w__255 with
| Some
- (op, rd, rs1, rs2, rm) =>
+ (rsd, shamt) =>
returnm true
| _ =>
exit tt
@@ -42048,22 +42926,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3514_
- _s2574_) >>= fun w__252 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3556_
+ _s2665_) >>= fun w__258 : option (mword 3) =>
(if
- match w__252 with
+ match w__258 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s3514_
- _s2574_) >>= fun w__253 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__253 with
+ (_s3556_
+ _s2665_) >>= fun w__259 : option (mword 3) =>
+ (match w__259 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
+ rsd =>
returnm true
| _ =>
exit tt
@@ -42071,22 +42949,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3531_
- _s2574_) >>= fun w__256 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3562_
+ _s2665_) >>= fun w__262 : option (mword 3) =>
(if
- match w__256 with
+ match w__262 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s3531_
- _s2574_) >>= fun w__257 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__257 with
+ (_s3562_
+ _s2665_) >>= fun w__263 : option (mword 3) =>
+ (match w__263 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
+ rsd =>
returnm true
| _ =>
exit tt
@@ -42094,22 +42972,40 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3548_
- _s2574_) >>= fun w__260 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3568_
+ _s2665_) >>= fun w__266 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
(if
- match w__260 with
+ match w__266 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
- true
+ (pred, succ, rs, rd, fm) =>
+ orb
+ (andb
+ (neq_vec
+ fm
+ (Ox"0"
+ : mword 4))
+ (neq_vec
+ fm
+ (Ox"8"
+ : mword 4)))
+ (orb
+ (neq_vec
+ rs
+ ('b"00000"
+ : mword 5))
+ (neq_vec
+ rd
+ ('b"00000"
+ : mword 5)))
| _ =>
false
end
then
- (_s3548_
- _s2574_) >>= fun w__261 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__261 with
+ (_s3568_
+ _s2665_) >>= fun w__267 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
+ (match w__267 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
+ (pred, succ, rs, rd, fm) =>
returnm true
| _ =>
exit tt
@@ -42117,22 +43013,33 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3565_
- _s2574_) >>= fun w__264 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3586_
+ _s2665_) >>= fun w__270 : option ((mword 5 * mword 5 * mword 12)) =>
(if
- match w__264 with
+ match w__270 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
- true
+ (rd, rs, imm) =>
+ orb
+ (neq_vec
+ imm
+ (Ox"000"
+ : mword 12))
+ (orb
+ (neq_vec
+ rs
+ zreg)
+ (neq_vec
+ rd
+ zreg))
| _ =>
false
end
then
- (_s3565_
- _s2574_) >>= fun w__265 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__265 with
+ (_s3586_
+ _s2665_) >>= fun w__271 : option ((mword 5 * mword 5 * mword 12)) =>
+ (match w__271 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
+ (rd, rs, imm) =>
returnm true
| _ =>
exit tt
@@ -42140,22 +43047,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3582_
- _s2574_) >>= fun w__268 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3598_
+ _s2665_) >>= fun w__274 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__268 with
+ match w__274 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
+ (width, rd, imm, rs1) =>
true
| _ =>
false
end
then
- (_s3582_
- _s2574_) >>= fun w__269 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__269 with
+ (_s3598_
+ _s2665_) >>= fun w__275 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__275 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
+ (width, rd, imm, rs1) =>
returnm true
| _ =>
exit tt
@@ -42163,22 +43070,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3599_
- _s2574_) >>= fun w__272 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3622_
+ _s2665_) >>= fun w__278 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__272 with
+ match w__278 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
+ (width, rs2, imm, rs1) =>
true
| _ =>
false
end
then
- (_s3599_
- _s2574_) >>= fun w__273 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__273 with
+ (_s3622_
+ _s2665_) >>= fun w__279 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__279 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
+ (width, rs2, imm, rs1) =>
returnm true
| _ =>
exit tt
@@ -42186,22 +43093,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3616_
- _s2574_) >>= fun w__276 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3646_
+ _s2665_) >>= fun w__282 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__276 with
+ match w__282 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
true
| _ =>
false
end
then
- (_s3616_
- _s2574_) >>= fun w__277 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__277 with
+ (_s3646_
+ _s2665_) >>= fun w__283 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__283 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
returnm true
| _ =>
exit tt
@@ -42209,22 +43116,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3633_
- _s2574_) >>= fun w__280 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3671_
+ _s2665_) >>= fun w__286 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__280 with
+ match w__286 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
true
| _ =>
false
end
then
- (_s3633_
- _s2574_) >>= fun w__281 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__281 with
+ (_s3671_
+ _s2665_) >>= fun w__287 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__287 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
returnm true
| _ =>
exit tt
@@ -42232,22 +43139,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3650_
- _s2574_) >>= fun w__284 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s3692_
+ _s2665_) >>= fun w__290 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__284 with
+ match w__290 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3650_
- _s2574_) >>= fun w__285 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__285 with
+ (_s3692_
+ _s2665_) >>= fun w__291 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__291 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42255,22 +43162,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3667_
- _s2574_) >>= fun w__288 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3709_
+ _s2665_) >>= fun w__294 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__288 with
+ match w__294 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
+ (FCVT_W_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3667_
- _s2574_) >>= fun w__289 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__289 with
+ (_s3709_
+ _s2665_) >>= fun w__295 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__295 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
+ (FCVT_W_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42278,22 +43185,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3684_
- _s2574_) >>= fun w__292 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3726_
+ _s2665_) >>= fun w__298 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__292 with
+ match w__298 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
+ (FCVT_WU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3684_
- _s2574_) >>= fun w__293 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__293 with
+ (_s3726_
+ _s2665_) >>= fun w__299 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__299 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
+ (FCVT_WU_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42301,22 +43208,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3701_
- _s2574_) >>= fun w__296 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3743_
+ _s2665_) >>= fun w__302 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__296 with
+ match w__302 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
+ (FCVT_S_W, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3701_
- _s2574_) >>= fun w__297 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__297 with
+ (_s3743_
+ _s2665_) >>= fun w__303 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__303 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
+ (FCVT_S_W, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42324,22 +43231,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3718_
- _s2574_) >>= fun w__300 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3760_
+ _s2665_) >>= fun w__306 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__300 with
+ match w__306 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
+ (FCVT_S_WU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3718_
- _s2574_) >>= fun w__301 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__301 with
+ (_s3760_
+ _s2665_) >>= fun w__307 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__307 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
+ (FCVT_S_WU, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42347,22 +43254,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3735_
- _s2574_) >>= fun w__304 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3777_
+ _s2665_) >>= fun w__310 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__304 with
+ match w__310 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
+ (FCVT_L_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3735_
- _s2574_) >>= fun w__305 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__305 with
+ (_s3777_
+ _s2665_) >>= fun w__311 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__311 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
+ (FCVT_L_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42370,22 +43277,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3752_
- _s2574_) >>= fun w__308 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3794_
+ _s2665_) >>= fun w__314 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__308 with
+ match w__314 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
+ (FCVT_LU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3752_
- _s2574_) >>= fun w__309 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__309 with
+ (_s3794_
+ _s2665_) >>= fun w__315 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__315 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
+ (FCVT_LU_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42393,22 +43300,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3769_
- _s2574_) >>= fun w__312 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3811_
+ _s2665_) >>= fun w__318 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__312 with
+ match w__318 with
| Some
- (FLT_S, rd, rs1, rs2) =>
+ (FCVT_S_L, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3769_
- _s2574_) >>= fun w__313 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__313 with
+ (_s3811_
+ _s2665_) >>= fun w__319 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__319 with
| Some
- (FLT_S, rd, rs1, rs2) =>
+ (FCVT_S_L, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42416,22 +43323,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3786_
- _s2574_) >>= fun w__316 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s3828_
+ _s2665_) >>= fun w__322 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__316 with
+ match w__322 with
| Some
- (FLE_S, rd, rs1, rs2) =>
+ (FCVT_S_LU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3786_
- _s2574_) >>= fun w__317 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__317 with
+ (_s3828_
+ _s2665_) >>= fun w__323 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__323 with
| Some
- (FLE_S, rd, rs1, rs2) =>
+ (FCVT_S_LU, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -42439,22 +43346,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3803_
- _s2574_) >>= fun w__320 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s3845_
+ _s2665_) >>= fun w__326 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__320 with
+ match w__326 with
| Some
- (FMV_X_W, rd, rs1) =>
+ (FSGNJ_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3803_
- _s2574_) >>= fun w__321 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__321 with
+ (_s3845_
+ _s2665_) >>= fun w__327 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__327 with
| Some
- (FMV_X_W, rd, rs1) =>
+ (FSGNJ_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42462,22 +43369,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3816_
- _s2574_) >>= fun w__324 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s3862_
+ _s2665_) >>= fun w__330 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__324 with
+ match w__330 with
| Some
- (FMV_W_X, rd, rs1) =>
+ (FSGNJN_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3816_
- _s2574_) >>= fun w__325 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__325 with
+ (_s3862_
+ _s2665_) >>= fun w__331 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__331 with
| Some
- (FMV_W_X, rd, rs1) =>
+ (FSGNJN_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42485,22 +43392,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3829_
- _s2574_) >>= fun w__328 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s3879_
+ _s2665_) >>= fun w__334 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__328 with
+ match w__334 with
| Some
- (FCLASS_S, rd, rs1) =>
+ (FSGNJX_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3829_
- _s2574_) >>= fun w__329 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__329 with
+ (_s3879_
+ _s2665_) >>= fun w__335 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__335 with
| Some
- (FCLASS_S, rd, rs1) =>
+ (FSGNJX_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42508,24 +43415,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3842_
- _s2574_) >>= fun w__332 : option ((mword 5 * mword 6)) =>
+ (_s3896_
+ _s2665_) >>= fun w__338 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__332 with
+ match w__338 with
| Some
- (rd, imm) =>
- Z.eqb
- 32
- 32
+ (FMIN_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3842_
- _s2574_) >>= fun w__333 : option ((mword 5 * mword 6)) =>
- (match w__333 with
+ (_s3896_
+ _s2665_) >>= fun w__339 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__339 with
| Some
- (rd, imm) =>
+ (FMIN_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42533,24 +43438,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3854_
- _s2574_) >>= fun w__336 : option ((mword 5 * mword 6)) =>
+ (_s3913_
+ _s2665_) >>= fun w__342 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__336 with
+ match w__342 with
| Some
- (rd, uimm) =>
- Z.eqb
- 32
- 32
+ (FMAX_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3854_
- _s2574_) >>= fun w__337 : option ((mword 5 * mword 6)) =>
- (match w__337 with
+ (_s3913_
+ _s2665_) >>= fun w__343 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__343 with
| Some
- (rd, uimm) =>
+ (FMAX_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42558,24 +43461,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3866_
- _s2574_) >>= fun w__340 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3930_
+ _s2665_) >>= fun w__346 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__340 with
+ match w__346 with
| Some
- (rdc, rsc, uimm) =>
- Z.eqb
- 32
- 32
+ (FEQ_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3866_
- _s2574_) >>= fun w__341 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__341 with
+ (_s3930_
+ _s2665_) >>= fun w__347 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__347 with
| Some
- (rdc, rsc, uimm) =>
+ (FEQ_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42583,24 +43484,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3882_
- _s2574_) >>= fun w__344 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3947_
+ _s2665_) >>= fun w__350 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__344 with
+ match w__350 with
| Some
- (rsc1, rsc2, uimm) =>
- Z.eqb
- 32
- 32
+ (FLT_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3882_
- _s2574_) >>= fun w__345 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__345 with
+ (_s3947_
+ _s2665_) >>= fun w__351 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__351 with
| Some
- (rsc1, rsc2, uimm) =>
+ (FLT_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42608,22 +43507,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3898_
- _s2574_) >>= fun w__348 : option (mword 32) =>
+ (_s3964_
+ _s2665_) >>= fun w__354 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__348 with
+ match w__354 with
| Some
- s =>
+ (FLE_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3898_
- _s2574_) >>= fun w__349 : option (mword 32) =>
- (match w__349 with
+ (_s3964_
+ _s2665_) >>= fun w__355 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__355 with
| Some
- s =>
+ (FLE_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -42631,22 +43530,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3906_
- _s2574_) >>= fun w__352 : option (mword 16) =>
+ (_s3981_
+ _s2665_) >>= fun w__358 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__352 with
+ match w__358 with
| Some
- s =>
+ (FMV_X_W, rd, rs1) =>
true
| _ =>
false
end
then
- (_s3906_
- _s2574_) >>= fun w__353 : option (mword 16) =>
- (match w__353 with
+ (_s3981_
+ _s2665_) >>= fun w__359 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__359 with
| Some
- s =>
+ (FMV_X_W, rd, rs1) =>
returnm true
| _ =>
exit tt
@@ -42654,7 +43553,207 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- returnm false)
+ (_s3994_
+ _s2665_) >>= fun w__362 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (if
+ match w__362 with
+ | Some
+ (FMV_W_X, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s3994_
+ _s2665_) >>= fun w__363 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__363 with
+ | Some
+ (FMV_W_X, rd, rs1) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s4007_
+ _s2665_) >>= fun w__366 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (if
+ match w__366 with
+ | Some
+ (FCLASS_S, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s4007_
+ _s2665_) >>= fun w__367 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__367 with
+ | Some
+ (FCLASS_S, rd, rs1) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s4020_
+ _s2665_) >>= fun w__370 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__370 with
+ | Some
+ (rd, imm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s4020_
+ _s2665_) >>= fun w__371 : option ((mword 5 * mword 6)) =>
+ (match w__371 with
+ | Some
+ (rd, imm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s4032_
+ _s2665_) >>= fun w__374 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__374 with
+ | Some
+ (rd, uimm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s4032_
+ _s2665_) >>= fun w__375 : option ((mword 5 * mword 6)) =>
+ (match w__375 with
+ | Some
+ (rd, uimm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s4044_
+ _s2665_) >>= fun w__378 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__378 with
+ | Some
+ (rdc, rsc, uimm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s4044_
+ _s2665_) >>= fun w__379 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__379 with
+ | Some
+ (rdc, rsc, uimm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s4060_
+ _s2665_) >>= fun w__382 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__382 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s4060_
+ _s2665_) >>= fun w__383 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__383 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s4076_
+ _s2665_) >>= fun w__386 : option (mword 32) =>
+ (if
+ match w__386 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s4076_
+ _s2665_) >>= fun w__387 : option (mword 32) =>
+ (match w__387 with
+ | Some
+ s =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s4084_
+ _s2665_) >>= fun w__390 : option (mword 16) =>
+ (if
+ match w__390 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s4084_
+ _s2665_) >>= fun w__391 : option (mword 16) =>
+ (match w__391 with
+ | Some
+ s =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ returnm false)
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
: M (bool))
: M (bool))
: M (bool))
@@ -42745,19 +43844,19 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
: M (bool))
: M (bool).
-Definition _s5294_ (_s5295_ : string) : M (option ((mword 16 * string))) :=
- let _s5296_ := _s5295_ in
- (if string_startswith _s5296_ "c.illegal" then
- (match (string_drop _s5296_ (projT1 (string_length "c.illegal"))) with
- | _s5297_ =>
- (spc_matches_prefix _s5297_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5559_ (_s5560_ : string) : M (option ((mword 16 * string))) :=
+ let _s5561_ := _s5560_ in
+ (if string_startswith _s5561_ "c.illegal" then
+ (match (string_drop _s5561_ (projT1 (string_length "c.illegal"))) with
+ | _s5562_ =>
+ (spc_matches_prefix _s5562_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s5298_ _) =>
- match (string_drop _s5297_ _s5298_) with
- | _s5299_ =>
- match (hex_bits_16_matches_prefix _s5299_) with
- | Some (s, existT _ _s5300_ _) =>
- match (string_drop _s5299_ _s5300_) with | s_ => Some (s, s_) end
+ | Some (tt, existT _ _s5563_ _) =>
+ match (string_drop _s5562_ _s5563_) with
+ | _s5564_ =>
+ match (hex_bits_16_matches_prefix _s5564_) with
+ | Some (s, existT _ _s5565_ _) =>
+ match (string_drop _s5564_ _s5565_) with | s_ => Some (s, s_) end
| _ => None
end
end
@@ -42768,19 +43867,19 @@ Definition _s5294_ (_s5295_ : string) : M (option ((mword 16 * string))) :=
else returnm None)
: M (option ((mword 16 * string))).
-Definition _s5286_ (_s5287_ : string) : M (option ((mword 32 * string))) :=
- let _s5288_ := _s5287_ in
- (if string_startswith _s5288_ "illegal" then
- (match (string_drop _s5288_ (projT1 (string_length "illegal"))) with
- | _s5289_ =>
- (spc_matches_prefix _s5289_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5551_ (_s5552_ : string) : M (option ((mword 32 * string))) :=
+ let _s5553_ := _s5552_ in
+ (if string_startswith _s5553_ "illegal" then
+ (match (string_drop _s5553_ (projT1 (string_length "illegal"))) with
+ | _s5554_ =>
+ (spc_matches_prefix _s5554_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s5290_ _) =>
- match (string_drop _s5289_ _s5290_) with
- | _s5291_ =>
- match (hex_bits_32_matches_prefix _s5291_) with
- | Some (s, existT _ _s5292_ _) =>
- match (string_drop _s5291_ _s5292_) with | s_ => Some (s, s_) end
+ | Some (tt, existT _ _s5555_ _) =>
+ match (string_drop _s5554_ _s5555_) with
+ | _s5556_ =>
+ match (hex_bits_32_matches_prefix _s5556_) with
+ | Some (s, existT _ _s5557_ _) =>
+ match (string_drop _s5556_ _s5557_) with | s_ => Some (s, s_) end
| _ => None
end
end
@@ -42791,50 +43890,50 @@ Definition _s5286_ (_s5287_ : string) : M (option ((mword 32 * string))) :=
else returnm None)
: M (option ((mword 32 * string))).
-Definition _s5270_ (_s5271_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s5272_ := _s5271_ in
- (if string_startswith _s5272_ "c.fsw" then
- (match (string_drop _s5272_ (projT1 (string_length "c.fsw"))) with
- | _s5273_ =>
- (spc_matches_prefix _s5273_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5535_ (_s5536_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s5537_ := _s5536_ in
+ (if string_startswith _s5537_ "c.fsw" then
+ (match (string_drop _s5537_ (projT1 (string_length "c.fsw"))) with
+ | _s5538_ =>
+ (spc_matches_prefix _s5538_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5274_ _) =>
- (match (string_drop _s5273_ _s5274_) with
- | _s5275_ =>
- (creg_name_matches_prefix _s5275_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5539_ _) =>
+ (match (string_drop _s5538_ _s5539_) with
+ | _s5540_ =>
+ (creg_name_matches_prefix _s5540_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s5276_ _) =>
- (match (string_drop _s5275_ _s5276_) with
- | _s5277_ =>
- (sep_matches_prefix _s5277_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s5541_ _) =>
+ (match (string_drop _s5540_ _s5541_) with
+ | _s5542_ =>
+ (sep_matches_prefix _s5542_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5278_ _) =>
- (match (string_drop _s5277_ _s5278_) with
- | _s5279_ =>
- (creg_name_matches_prefix _s5279_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5543_ _) =>
+ (match (string_drop _s5542_ _s5543_) with
+ | _s5544_ =>
+ (creg_name_matches_prefix _s5544_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s5280_ _) =>
- (match (string_drop _s5279_ _s5280_) with
- | _s5281_ =>
- (sep_matches_prefix _s5281_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s5545_ _) =>
+ (match (string_drop _s5544_ _s5545_) with
+ | _s5546_ =>
+ (sep_matches_prefix _s5546_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s5282_ _) =>
- match (string_drop _s5281_ _s5282_) with
- | _s5283_ =>
- match (hex_bits_7_matches_prefix _s5283_) with
- | Some (v__1108, existT _ _s5284_ _) =>
- if eq_vec (subrange_vec_dec v__1108 1 0)
+ | Some (tt, existT _ _s5547_ _) =>
+ match (string_drop _s5546_ _s5547_) with
+ | _s5548_ =>
+ match (hex_bits_7_matches_prefix _s5548_) with
+ | Some (v__1212, existT _ _s5549_ _) =>
+ if eq_vec (subrange_vec_dec v__1212 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1108 6 2 in
+ subrange_vec_dec v__1212 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1108 6 2 in
- match (string_drop _s5283_ _s5284_) with
+ subrange_vec_dec v__1212 6 2 in
+ match (string_drop _s5548_ _s5549_) with
| s_ => Some (rsc1, rsc2, uimm, s_)
end
else None
@@ -42868,50 +43967,50 @@ Definition _s5270_ (_s5271_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s5254_ (_s5255_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s5256_ := _s5255_ in
- (if string_startswith _s5256_ "c.flw" then
- (match (string_drop _s5256_ (projT1 (string_length "c.flw"))) with
- | _s5257_ =>
- (spc_matches_prefix _s5257_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5519_ (_s5520_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s5521_ := _s5520_ in
+ (if string_startswith _s5521_ "c.flw" then
+ (match (string_drop _s5521_ (projT1 (string_length "c.flw"))) with
+ | _s5522_ =>
+ (spc_matches_prefix _s5522_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5258_ _) =>
- (match (string_drop _s5257_ _s5258_) with
- | _s5259_ =>
- (creg_name_matches_prefix _s5259_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5523_ _) =>
+ (match (string_drop _s5522_ _s5523_) with
+ | _s5524_ =>
+ (creg_name_matches_prefix _s5524_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s5260_ _) =>
- (match (string_drop _s5259_ _s5260_) with
- | _s5261_ =>
- (sep_matches_prefix _s5261_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s5525_ _) =>
+ (match (string_drop _s5524_ _s5525_) with
+ | _s5526_ =>
+ (sep_matches_prefix _s5526_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5262_ _) =>
- (match (string_drop _s5261_ _s5262_) with
- | _s5263_ =>
- (creg_name_matches_prefix _s5263_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5527_ _) =>
+ (match (string_drop _s5526_ _s5527_) with
+ | _s5528_ =>
+ (creg_name_matches_prefix _s5528_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s5264_ _) =>
- (match (string_drop _s5263_ _s5264_) with
- | _s5265_ =>
- (sep_matches_prefix _s5265_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s5529_ _) =>
+ (match (string_drop _s5528_ _s5529_) with
+ | _s5530_ =>
+ (sep_matches_prefix _s5530_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s5266_ _) =>
- match (string_drop _s5265_ _s5266_) with
- | _s5267_ =>
- match (hex_bits_7_matches_prefix _s5267_) with
- | Some (v__1110, existT _ _s5268_ _) =>
- if eq_vec (subrange_vec_dec v__1110 1 0)
+ | Some (tt, existT _ _s5531_ _) =>
+ match (string_drop _s5530_ _s5531_) with
+ | _s5532_ =>
+ match (hex_bits_7_matches_prefix _s5532_) with
+ | Some (v__1214, existT _ _s5533_ _) =>
+ if eq_vec (subrange_vec_dec v__1214 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1110 6 2 in
+ subrange_vec_dec v__1214 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1110 6 2 in
- match (string_drop _s5267_ _s5268_) with
+ subrange_vec_dec v__1214 6 2 in
+ match (string_drop _s5532_ _s5533_) with
| s_ => Some (rdc, rsc, uimm, s_)
end
else None
@@ -42945,31 +44044,31 @@ Definition _s5254_ (_s5255_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s5242_ (_s5243_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5244_ := _s5243_ in
- (if string_startswith _s5244_ "c.fswsp" then
- (match (string_drop _s5244_ (projT1 (string_length "c.fswsp"))) with
- | _s5245_ =>
- (spc_matches_prefix _s5245_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5507_ (_s5508_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5509_ := _s5508_ in
+ (if string_startswith _s5509_ "c.fswsp" then
+ (match (string_drop _s5509_ (projT1 (string_length "c.fswsp"))) with
+ | _s5510_ =>
+ (spc_matches_prefix _s5510_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5246_ _) =>
- (match (string_drop _s5245_ _s5246_) with
- | _s5247_ =>
- (reg_name_matches_prefix _s5247_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5511_ _) =>
+ (match (string_drop _s5510_ _s5511_) with
+ | _s5512_ =>
+ (reg_name_matches_prefix _s5512_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5248_ _) =>
- (match (string_drop _s5247_ _s5248_) with
- | _s5249_ =>
- (sep_matches_prefix _s5249_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5513_ _) =>
+ (match (string_drop _s5512_ _s5513_) with
+ | _s5514_ =>
+ (sep_matches_prefix _s5514_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5250_ _) =>
- match (string_drop _s5249_ _s5250_) with
- | _s5251_ =>
- match (hex_bits_6_matches_prefix _s5251_) with
- | Some (uimm, existT _ _s5252_ _) =>
- match (string_drop _s5251_ _s5252_) with
+ | Some (tt, existT _ _s5515_ _) =>
+ match (string_drop _s5514_ _s5515_) with
+ | _s5516_ =>
+ match (hex_bits_6_matches_prefix _s5516_) with
+ | Some (uimm, existT _ _s5517_ _) =>
+ match (string_drop _s5516_ _s5517_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -42992,31 +44091,31 @@ Definition _s5242_ (_s5243_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5230_ (_s5231_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5232_ := _s5231_ in
- (if string_startswith _s5232_ "c.flwsp" then
- (match (string_drop _s5232_ (projT1 (string_length "c.flwsp"))) with
- | _s5233_ =>
- (spc_matches_prefix _s5233_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5495_ (_s5496_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5497_ := _s5496_ in
+ (if string_startswith _s5497_ "c.flwsp" then
+ (match (string_drop _s5497_ (projT1 (string_length "c.flwsp"))) with
+ | _s5498_ =>
+ (spc_matches_prefix _s5498_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5234_ _) =>
- (match (string_drop _s5233_ _s5234_) with
- | _s5235_ =>
- (reg_name_matches_prefix _s5235_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5499_ _) =>
+ (match (string_drop _s5498_ _s5499_) with
+ | _s5500_ =>
+ (reg_name_matches_prefix _s5500_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5236_ _) =>
- (match (string_drop _s5235_ _s5236_) with
- | _s5237_ =>
- (sep_matches_prefix _s5237_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5501_ _) =>
+ (match (string_drop _s5500_ _s5501_) with
+ | _s5502_ =>
+ (sep_matches_prefix _s5502_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5238_ _) =>
- match (string_drop _s5237_ _s5238_) with
- | _s5239_ =>
- match (hex_bits_6_matches_prefix _s5239_) with
- | Some (imm, existT _ _s5240_ _) =>
- match (string_drop _s5239_ _s5240_) with
+ | Some (tt, existT _ _s5503_ _) =>
+ match (string_drop _s5502_ _s5503_) with
+ | _s5504_ =>
+ match (hex_bits_6_matches_prefix _s5504_) with
+ | Some (imm, existT _ _s5505_ _) =>
+ match (string_drop _s5504_ _s5505_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -43039,38 +44138,38 @@ Definition _s5230_ (_s5231_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5217_ (_s5218_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
- (match _s5218_ with
- | _s5219_ =>
- (f_un_type_mnemonic_S_matches_prefix _s5219_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s5482_ (_s5483_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
+ (match _s5483_ with
+ | _s5484_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s5484_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_S, existT _ _s5220_ _) =>
- (match (string_drop _s5219_ _s5220_) with
- | _s5221_ =>
- (spc_matches_prefix _s5221_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_S, existT _ _s5485_ _) =>
+ (match (string_drop _s5484_ _s5485_) with
+ | _s5486_ =>
+ (spc_matches_prefix _s5486_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5222_ _) =>
- (match (string_drop _s5221_ _s5222_) with
- | _s5223_ =>
- (reg_name_matches_prefix _s5223_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5487_ _) =>
+ (match (string_drop _s5486_ _s5487_) with
+ | _s5488_ =>
+ (reg_name_matches_prefix _s5488_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5224_ _) =>
- (match (string_drop _s5223_ _s5224_) with
- | _s5225_ =>
- (sep_matches_prefix _s5225_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5489_ _) =>
+ (match (string_drop _s5488_ _s5489_) with
+ | _s5490_ =>
+ (sep_matches_prefix _s5490_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5226_ _) =>
- (match (string_drop _s5225_ _s5226_) with
- | _s5227_ =>
- (freg_name_matches_prefix _s5227_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5491_ _) =>
+ (match (string_drop _s5490_ _s5491_) with
+ | _s5492_ =>
+ (freg_name_matches_prefix _s5492_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s5228_ _) =>
- match (string_drop _s5227_ _s5228_) with
+ | Some (rs1, existT _ _s5493_ _) =>
+ match (string_drop _s5492_ _s5493_) with
| s_ => Some (FCLASS_S, rd, rs1, s_)
end
| _ => None
@@ -43098,38 +44197,38 @@ Definition _s5217_ (_s5218_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5 * string))).
-Definition _s5204_ (_s5205_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
- (match _s5205_ with
- | _s5206_ =>
- (f_un_type_mnemonic_S_matches_prefix _s5206_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s5469_ (_s5470_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
+ (match _s5470_ with
+ | _s5471_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s5471_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_W_X, existT _ _s5207_ _) =>
- (match (string_drop _s5206_ _s5207_) with
- | _s5208_ =>
- (spc_matches_prefix _s5208_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_W_X, existT _ _s5472_ _) =>
+ (match (string_drop _s5471_ _s5472_) with
+ | _s5473_ =>
+ (spc_matches_prefix _s5473_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5209_ _) =>
- (match (string_drop _s5208_ _s5209_) with
- | _s5210_ =>
- (freg_name_matches_prefix _s5210_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5474_ _) =>
+ (match (string_drop _s5473_ _s5474_) with
+ | _s5475_ =>
+ (freg_name_matches_prefix _s5475_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5211_ _) =>
- (match (string_drop _s5210_ _s5211_) with
- | _s5212_ =>
- (sep_matches_prefix _s5212_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5476_ _) =>
+ (match (string_drop _s5475_ _s5476_) with
+ | _s5477_ =>
+ (sep_matches_prefix _s5477_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5213_ _) =>
- (match (string_drop _s5212_ _s5213_) with
- | _s5214_ =>
- (reg_name_matches_prefix _s5214_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5478_ _) =>
+ (match (string_drop _s5477_ _s5478_) with
+ | _s5479_ =>
+ (reg_name_matches_prefix _s5479_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s5215_ _) =>
- match (string_drop _s5214_ _s5215_) with
+ | Some (rs1, existT _ _s5480_ _) =>
+ match (string_drop _s5479_ _s5480_) with
| s_ => Some (FMV_W_X, rd, rs1, s_)
end
| _ => None
@@ -43157,38 +44256,38 @@ Definition _s5204_ (_s5205_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5 * string))).
-Definition _s5191_ (_s5192_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
- (match _s5192_ with
- | _s5193_ =>
- (f_un_type_mnemonic_S_matches_prefix _s5193_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s5456_ (_s5457_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
+ (match _s5457_ with
+ | _s5458_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s5458_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_W, existT _ _s5194_ _) =>
- (match (string_drop _s5193_ _s5194_) with
- | _s5195_ =>
- (spc_matches_prefix _s5195_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_W, existT _ _s5459_ _) =>
+ (match (string_drop _s5458_ _s5459_) with
+ | _s5460_ =>
+ (spc_matches_prefix _s5460_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5196_ _) =>
- (match (string_drop _s5195_ _s5196_) with
- | _s5197_ =>
- (reg_name_matches_prefix _s5197_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5461_ _) =>
+ (match (string_drop _s5460_ _s5461_) with
+ | _s5462_ =>
+ (reg_name_matches_prefix _s5462_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5198_ _) =>
- (match (string_drop _s5197_ _s5198_) with
- | _s5199_ =>
- (sep_matches_prefix _s5199_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5463_ _) =>
+ (match (string_drop _s5462_ _s5463_) with
+ | _s5464_ =>
+ (sep_matches_prefix _s5464_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5200_ _) =>
- (match (string_drop _s5199_ _s5200_) with
- | _s5201_ =>
- (freg_name_matches_prefix _s5201_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5465_ _) =>
+ (match (string_drop _s5464_ _s5465_) with
+ | _s5466_ =>
+ (freg_name_matches_prefix _s5466_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s5202_ _) =>
- match (string_drop _s5201_ _s5202_) with
+ | Some (rs1, existT _ _s5467_ _) =>
+ match (string_drop _s5466_ _s5467_) with
| s_ => Some (FMV_X_W, rd, rs1, s_)
end
| _ => None
@@ -43216,52 +44315,52 @@ Definition _s5191_ (_s5192_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5 * string))).
-Definition _s5174_ (_s5175_ : string)
+Definition _s5439_ (_s5440_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5175_ with
- | _s5176_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5176_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5440_ with
+ | _s5441_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5441_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_S, existT _ _s5177_ _) =>
- (match (string_drop _s5176_ _s5177_) with
- | _s5178_ =>
- (spc_matches_prefix _s5178_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_S, existT _ _s5442_ _) =>
+ (match (string_drop _s5441_ _s5442_) with
+ | _s5443_ =>
+ (spc_matches_prefix _s5443_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5179_ _) =>
- (match (string_drop _s5178_ _s5179_) with
- | _s5180_ =>
- (reg_name_matches_prefix _s5180_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5444_ _) =>
+ (match (string_drop _s5443_ _s5444_) with
+ | _s5445_ =>
+ (reg_name_matches_prefix _s5445_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5181_ _) =>
- (match (string_drop _s5180_ _s5181_) with
- | _s5182_ =>
- (sep_matches_prefix _s5182_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5446_ _) =>
+ (match (string_drop _s5445_ _s5446_) with
+ | _s5447_ =>
+ (sep_matches_prefix _s5447_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5183_ _) =>
- (match (string_drop _s5182_ _s5183_) with
- | _s5184_ =>
- (freg_name_matches_prefix _s5184_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5448_ _) =>
+ (match (string_drop _s5447_ _s5448_) with
+ | _s5449_ =>
+ (freg_name_matches_prefix _s5449_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5185_ _) =>
- (match (string_drop _s5184_ _s5185_) with
- | _s5186_ =>
- (sep_matches_prefix _s5186_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5450_ _) =>
+ (match (string_drop _s5449_ _s5450_) with
+ | _s5451_ =>
+ (sep_matches_prefix _s5451_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5187_ _) =>
- (match (string_drop _s5186_ _s5187_) with
- | _s5188_ =>
- (freg_name_matches_prefix _s5188_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5452_ _) =>
+ (match (string_drop _s5451_ _s5452_) with
+ | _s5453_ =>
+ (freg_name_matches_prefix _s5453_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5189_ _) =>
- match (string_drop _s5188_
- _s5189_) with
+ | Some (rs2, existT _ _s5454_ _) =>
+ match (string_drop _s5453_
+ _s5454_) with
| s_ =>
Some (FLE_S, rd, rs1, rs2, s_)
end
@@ -43300,52 +44399,52 @@ Definition _s5174_ (_s5175_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5157_ (_s5158_ : string)
+Definition _s5422_ (_s5423_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5158_ with
- | _s5159_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5159_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5423_ with
+ | _s5424_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5424_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_S, existT _ _s5160_ _) =>
- (match (string_drop _s5159_ _s5160_) with
- | _s5161_ =>
- (spc_matches_prefix _s5161_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_S, existT _ _s5425_ _) =>
+ (match (string_drop _s5424_ _s5425_) with
+ | _s5426_ =>
+ (spc_matches_prefix _s5426_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5162_ _) =>
- (match (string_drop _s5161_ _s5162_) with
- | _s5163_ =>
- (reg_name_matches_prefix _s5163_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5427_ _) =>
+ (match (string_drop _s5426_ _s5427_) with
+ | _s5428_ =>
+ (reg_name_matches_prefix _s5428_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5164_ _) =>
- (match (string_drop _s5163_ _s5164_) with
- | _s5165_ =>
- (sep_matches_prefix _s5165_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5429_ _) =>
+ (match (string_drop _s5428_ _s5429_) with
+ | _s5430_ =>
+ (sep_matches_prefix _s5430_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5166_ _) =>
- (match (string_drop _s5165_ _s5166_) with
- | _s5167_ =>
- (freg_name_matches_prefix _s5167_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5431_ _) =>
+ (match (string_drop _s5430_ _s5431_) with
+ | _s5432_ =>
+ (freg_name_matches_prefix _s5432_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5168_ _) =>
- (match (string_drop _s5167_ _s5168_) with
- | _s5169_ =>
- (sep_matches_prefix _s5169_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5433_ _) =>
+ (match (string_drop _s5432_ _s5433_) with
+ | _s5434_ =>
+ (sep_matches_prefix _s5434_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5170_ _) =>
- (match (string_drop _s5169_ _s5170_) with
- | _s5171_ =>
- (freg_name_matches_prefix _s5171_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5435_ _) =>
+ (match (string_drop _s5434_ _s5435_) with
+ | _s5436_ =>
+ (freg_name_matches_prefix _s5436_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5172_ _) =>
- match (string_drop _s5171_
- _s5172_) with
+ | Some (rs2, existT _ _s5437_ _) =>
+ match (string_drop _s5436_
+ _s5437_) with
| s_ =>
Some (FLT_S, rd, rs1, rs2, s_)
end
@@ -43384,52 +44483,52 @@ Definition _s5157_ (_s5158_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5140_ (_s5141_ : string)
+Definition _s5405_ (_s5406_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5141_ with
- | _s5142_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5142_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5406_ with
+ | _s5407_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5407_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_S, existT _ _s5143_ _) =>
- (match (string_drop _s5142_ _s5143_) with
- | _s5144_ =>
- (spc_matches_prefix _s5144_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_S, existT _ _s5408_ _) =>
+ (match (string_drop _s5407_ _s5408_) with
+ | _s5409_ =>
+ (spc_matches_prefix _s5409_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5145_ _) =>
- (match (string_drop _s5144_ _s5145_) with
- | _s5146_ =>
- (reg_name_matches_prefix _s5146_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5410_ _) =>
+ (match (string_drop _s5409_ _s5410_) with
+ | _s5411_ =>
+ (reg_name_matches_prefix _s5411_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5147_ _) =>
- (match (string_drop _s5146_ _s5147_) with
- | _s5148_ =>
- (sep_matches_prefix _s5148_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5412_ _) =>
+ (match (string_drop _s5411_ _s5412_) with
+ | _s5413_ =>
+ (sep_matches_prefix _s5413_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5149_ _) =>
- (match (string_drop _s5148_ _s5149_) with
- | _s5150_ =>
- (freg_name_matches_prefix _s5150_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5414_ _) =>
+ (match (string_drop _s5413_ _s5414_) with
+ | _s5415_ =>
+ (freg_name_matches_prefix _s5415_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5151_ _) =>
- (match (string_drop _s5150_ _s5151_) with
- | _s5152_ =>
- (sep_matches_prefix _s5152_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5416_ _) =>
+ (match (string_drop _s5415_ _s5416_) with
+ | _s5417_ =>
+ (sep_matches_prefix _s5417_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5153_ _) =>
- (match (string_drop _s5152_ _s5153_) with
- | _s5154_ =>
- (freg_name_matches_prefix _s5154_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5418_ _) =>
+ (match (string_drop _s5417_ _s5418_) with
+ | _s5419_ =>
+ (freg_name_matches_prefix _s5419_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5155_ _) =>
- match (string_drop _s5154_
- _s5155_) with
+ | Some (rs2, existT _ _s5420_ _) =>
+ match (string_drop _s5419_
+ _s5420_) with
| s_ =>
Some (FEQ_S, rd, rs1, rs2, s_)
end
@@ -43468,52 +44567,52 @@ Definition _s5140_ (_s5141_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5123_ (_s5124_ : string)
+Definition _s5388_ (_s5389_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5124_ with
- | _s5125_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5125_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5389_ with
+ | _s5390_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5390_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_S, existT _ _s5126_ _) =>
- (match (string_drop _s5125_ _s5126_) with
- | _s5127_ =>
- (spc_matches_prefix _s5127_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_S, existT _ _s5391_ _) =>
+ (match (string_drop _s5390_ _s5391_) with
+ | _s5392_ =>
+ (spc_matches_prefix _s5392_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5128_ _) =>
- (match (string_drop _s5127_ _s5128_) with
- | _s5129_ =>
- (freg_name_matches_prefix _s5129_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5393_ _) =>
+ (match (string_drop _s5392_ _s5393_) with
+ | _s5394_ =>
+ (freg_name_matches_prefix _s5394_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5130_ _) =>
- (match (string_drop _s5129_ _s5130_) with
- | _s5131_ =>
- (sep_matches_prefix _s5131_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5395_ _) =>
+ (match (string_drop _s5394_ _s5395_) with
+ | _s5396_ =>
+ (sep_matches_prefix _s5396_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5132_ _) =>
- (match (string_drop _s5131_ _s5132_) with
- | _s5133_ =>
- (freg_name_matches_prefix _s5133_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5397_ _) =>
+ (match (string_drop _s5396_ _s5397_) with
+ | _s5398_ =>
+ (freg_name_matches_prefix _s5398_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5134_ _) =>
- (match (string_drop _s5133_ _s5134_) with
- | _s5135_ =>
- (sep_matches_prefix _s5135_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5399_ _) =>
+ (match (string_drop _s5398_ _s5399_) with
+ | _s5400_ =>
+ (sep_matches_prefix _s5400_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5136_ _) =>
- (match (string_drop _s5135_ _s5136_) with
- | _s5137_ =>
- (freg_name_matches_prefix _s5137_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5401_ _) =>
+ (match (string_drop _s5400_ _s5401_) with
+ | _s5402_ =>
+ (freg_name_matches_prefix _s5402_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5138_ _) =>
- match (string_drop _s5137_
- _s5138_) with
+ | Some (rs2, existT _ _s5403_ _) =>
+ match (string_drop _s5402_
+ _s5403_) with
| s_ =>
Some
(FMAX_S, rd, rs1, rs2, s_)
@@ -43553,52 +44652,52 @@ Definition _s5123_ (_s5124_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5106_ (_s5107_ : string)
+Definition _s5371_ (_s5372_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5107_ with
- | _s5108_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5108_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5372_ with
+ | _s5373_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5373_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_S, existT _ _s5109_ _) =>
- (match (string_drop _s5108_ _s5109_) with
- | _s5110_ =>
- (spc_matches_prefix _s5110_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_S, existT _ _s5374_ _) =>
+ (match (string_drop _s5373_ _s5374_) with
+ | _s5375_ =>
+ (spc_matches_prefix _s5375_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5111_ _) =>
- (match (string_drop _s5110_ _s5111_) with
- | _s5112_ =>
- (freg_name_matches_prefix _s5112_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5376_ _) =>
+ (match (string_drop _s5375_ _s5376_) with
+ | _s5377_ =>
+ (freg_name_matches_prefix _s5377_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5113_ _) =>
- (match (string_drop _s5112_ _s5113_) with
- | _s5114_ =>
- (sep_matches_prefix _s5114_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5378_ _) =>
+ (match (string_drop _s5377_ _s5378_) with
+ | _s5379_ =>
+ (sep_matches_prefix _s5379_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5115_ _) =>
- (match (string_drop _s5114_ _s5115_) with
- | _s5116_ =>
- (freg_name_matches_prefix _s5116_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5380_ _) =>
+ (match (string_drop _s5379_ _s5380_) with
+ | _s5381_ =>
+ (freg_name_matches_prefix _s5381_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5117_ _) =>
- (match (string_drop _s5116_ _s5117_) with
- | _s5118_ =>
- (sep_matches_prefix _s5118_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5382_ _) =>
+ (match (string_drop _s5381_ _s5382_) with
+ | _s5383_ =>
+ (sep_matches_prefix _s5383_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5119_ _) =>
- (match (string_drop _s5118_ _s5119_) with
- | _s5120_ =>
- (freg_name_matches_prefix _s5120_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5384_ _) =>
+ (match (string_drop _s5383_ _s5384_) with
+ | _s5385_ =>
+ (freg_name_matches_prefix _s5385_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5121_ _) =>
- match (string_drop _s5120_
- _s5121_) with
+ | Some (rs2, existT _ _s5386_ _) =>
+ match (string_drop _s5385_
+ _s5386_) with
| s_ =>
Some
(FMIN_S, rd, rs1, rs2, s_)
@@ -43638,52 +44737,52 @@ Definition _s5106_ (_s5107_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5089_ (_s5090_ : string)
+Definition _s5354_ (_s5355_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5090_ with
- | _s5091_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5091_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5355_ with
+ | _s5356_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5356_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_S, existT _ _s5092_ _) =>
- (match (string_drop _s5091_ _s5092_) with
- | _s5093_ =>
- (spc_matches_prefix _s5093_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_S, existT _ _s5357_ _) =>
+ (match (string_drop _s5356_ _s5357_) with
+ | _s5358_ =>
+ (spc_matches_prefix _s5358_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5094_ _) =>
- (match (string_drop _s5093_ _s5094_) with
- | _s5095_ =>
- (freg_name_matches_prefix _s5095_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5359_ _) =>
+ (match (string_drop _s5358_ _s5359_) with
+ | _s5360_ =>
+ (freg_name_matches_prefix _s5360_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5096_ _) =>
- (match (string_drop _s5095_ _s5096_) with
- | _s5097_ =>
- (sep_matches_prefix _s5097_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5361_ _) =>
+ (match (string_drop _s5360_ _s5361_) with
+ | _s5362_ =>
+ (sep_matches_prefix _s5362_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5098_ _) =>
- (match (string_drop _s5097_ _s5098_) with
- | _s5099_ =>
- (freg_name_matches_prefix _s5099_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5363_ _) =>
+ (match (string_drop _s5362_ _s5363_) with
+ | _s5364_ =>
+ (freg_name_matches_prefix _s5364_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5100_ _) =>
- (match (string_drop _s5099_ _s5100_) with
- | _s5101_ =>
- (sep_matches_prefix _s5101_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5365_ _) =>
+ (match (string_drop _s5364_ _s5365_) with
+ | _s5366_ =>
+ (sep_matches_prefix _s5366_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5102_ _) =>
- (match (string_drop _s5101_ _s5102_) with
- | _s5103_ =>
- (freg_name_matches_prefix _s5103_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5367_ _) =>
+ (match (string_drop _s5366_ _s5367_) with
+ | _s5368_ =>
+ (freg_name_matches_prefix _s5368_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5104_ _) =>
- match (string_drop _s5103_
- _s5104_) with
+ | Some (rs2, existT _ _s5369_ _) =>
+ match (string_drop _s5368_
+ _s5369_) with
| s_ =>
Some
(FSGNJX_S, rd, rs1, rs2, s_)
@@ -43723,52 +44822,52 @@ Definition _s5089_ (_s5090_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5072_ (_s5073_ : string)
+Definition _s5337_ (_s5338_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5073_ with
- | _s5074_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5074_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5338_ with
+ | _s5339_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5339_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_S, existT _ _s5075_ _) =>
- (match (string_drop _s5074_ _s5075_) with
- | _s5076_ =>
- (spc_matches_prefix _s5076_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_S, existT _ _s5340_ _) =>
+ (match (string_drop _s5339_ _s5340_) with
+ | _s5341_ =>
+ (spc_matches_prefix _s5341_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5077_ _) =>
- (match (string_drop _s5076_ _s5077_) with
- | _s5078_ =>
- (freg_name_matches_prefix _s5078_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5342_ _) =>
+ (match (string_drop _s5341_ _s5342_) with
+ | _s5343_ =>
+ (freg_name_matches_prefix _s5343_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5079_ _) =>
- (match (string_drop _s5078_ _s5079_) with
- | _s5080_ =>
- (sep_matches_prefix _s5080_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5344_ _) =>
+ (match (string_drop _s5343_ _s5344_) with
+ | _s5345_ =>
+ (sep_matches_prefix _s5345_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5081_ _) =>
- (match (string_drop _s5080_ _s5081_) with
- | _s5082_ =>
- (freg_name_matches_prefix _s5082_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5346_ _) =>
+ (match (string_drop _s5345_ _s5346_) with
+ | _s5347_ =>
+ (freg_name_matches_prefix _s5347_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5083_ _) =>
- (match (string_drop _s5082_ _s5083_) with
- | _s5084_ =>
- (sep_matches_prefix _s5084_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5348_ _) =>
+ (match (string_drop _s5347_ _s5348_) with
+ | _s5349_ =>
+ (sep_matches_prefix _s5349_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5085_ _) =>
- (match (string_drop _s5084_ _s5085_) with
- | _s5086_ =>
- (freg_name_matches_prefix _s5086_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5350_ _) =>
+ (match (string_drop _s5349_ _s5350_) with
+ | _s5351_ =>
+ (freg_name_matches_prefix _s5351_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5087_ _) =>
- match (string_drop _s5086_
- _s5087_) with
+ | Some (rs2, existT _ _s5352_ _) =>
+ match (string_drop _s5351_
+ _s5352_) with
| s_ =>
Some
(FSGNJN_S, rd, rs1, rs2, s_)
@@ -43808,52 +44907,52 @@ Definition _s5072_ (_s5073_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5055_ (_s5056_ : string)
+Definition _s5320_ (_s5321_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5056_ with
- | _s5057_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s5057_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s5321_ with
+ | _s5322_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s5322_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_S, existT _ _s5058_ _) =>
- (match (string_drop _s5057_ _s5058_) with
- | _s5059_ =>
- (spc_matches_prefix _s5059_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_S, existT _ _s5323_ _) =>
+ (match (string_drop _s5322_ _s5323_) with
+ | _s5324_ =>
+ (spc_matches_prefix _s5324_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5060_ _) =>
- (match (string_drop _s5059_ _s5060_) with
- | _s5061_ =>
- (freg_name_matches_prefix _s5061_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5325_ _) =>
+ (match (string_drop _s5324_ _s5325_) with
+ | _s5326_ =>
+ (freg_name_matches_prefix _s5326_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5062_ _) =>
- (match (string_drop _s5061_ _s5062_) with
- | _s5063_ =>
- (sep_matches_prefix _s5063_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5327_ _) =>
+ (match (string_drop _s5326_ _s5327_) with
+ | _s5328_ =>
+ (sep_matches_prefix _s5328_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5064_ _) =>
- (match (string_drop _s5063_ _s5064_) with
- | _s5065_ =>
- (freg_name_matches_prefix _s5065_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5329_ _) =>
+ (match (string_drop _s5328_ _s5329_) with
+ | _s5330_ =>
+ (freg_name_matches_prefix _s5330_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5066_ _) =>
- (match (string_drop _s5065_ _s5066_) with
- | _s5067_ =>
- (sep_matches_prefix _s5067_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5331_ _) =>
+ (match (string_drop _s5330_ _s5331_) with
+ | _s5332_ =>
+ (sep_matches_prefix _s5332_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5068_ _) =>
- (match (string_drop _s5067_ _s5068_) with
- | _s5069_ =>
- (freg_name_matches_prefix _s5069_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5333_ _) =>
+ (match (string_drop _s5332_ _s5333_) with
+ | _s5334_ =>
+ (freg_name_matches_prefix _s5334_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5070_ _) =>
- match (string_drop _s5069_
- _s5070_) with
+ | Some (rs2, existT _ _s5335_ _) =>
+ match (string_drop _s5334_
+ _s5335_) with
| s_ =>
Some
(FSGNJ_S, rd, rs1, rs2, s_)
@@ -43893,52 +44992,52 @@ Definition _s5055_ (_s5056_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5038_ (_s5039_ : string)
+Definition _s5303_ (_s5304_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5039_ with
- | _s5040_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s5040_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5304_ with
+ | _s5305_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5305_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_LU, existT _ _s5041_ _) =>
- (match (string_drop _s5040_ _s5041_) with
- | _s5042_ =>
- (spc_matches_prefix _s5042_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_LU, existT _ _s5306_ _) =>
+ (match (string_drop _s5305_ _s5306_) with
+ | _s5307_ =>
+ (spc_matches_prefix _s5307_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5043_ _) =>
- (match (string_drop _s5042_ _s5043_) with
- | _s5044_ =>
- (freg_name_matches_prefix _s5044_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5308_ _) =>
+ (match (string_drop _s5307_ _s5308_) with
+ | _s5309_ =>
+ (freg_name_matches_prefix _s5309_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5045_ _) =>
- (match (string_drop _s5044_ _s5045_) with
- | _s5046_ =>
- (sep_matches_prefix _s5046_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5310_ _) =>
+ (match (string_drop _s5309_ _s5310_) with
+ | _s5311_ =>
+ (sep_matches_prefix _s5311_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5047_ _) =>
- (match (string_drop _s5046_ _s5047_) with
- | _s5048_ =>
- (reg_name_matches_prefix _s5048_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5312_ _) =>
+ (match (string_drop _s5311_ _s5312_) with
+ | _s5313_ =>
+ (reg_name_matches_prefix _s5313_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5049_ _) =>
- (match (string_drop _s5048_ _s5049_) with
- | _s5050_ =>
- (sep_matches_prefix _s5050_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5314_ _) =>
+ (match (string_drop _s5313_ _s5314_) with
+ | _s5315_ =>
+ (sep_matches_prefix _s5315_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5051_ _) =>
- (match (string_drop _s5050_ _s5051_) with
- | _s5052_ =>
- (frm_mnemonic_matches_prefix _s5052_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5316_ _) =>
+ (match (string_drop _s5315_ _s5316_) with
+ | _s5317_ =>
+ (frm_mnemonic_matches_prefix _s5317_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s5053_ _) =>
- match (string_drop _s5052_
- _s5053_) with
+ | Some (rm, existT _ _s5318_ _) =>
+ match (string_drop _s5317_
+ _s5318_) with
| s_ =>
Some
(FCVT_S_LU, rd, rs1, rm, s_)
@@ -43978,52 +45077,52 @@ Definition _s5038_ (_s5039_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5021_ (_s5022_ : string)
+Definition _s5286_ (_s5287_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5022_ with
- | _s5023_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s5023_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5287_ with
+ | _s5288_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5288_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_L, existT _ _s5024_ _) =>
- (match (string_drop _s5023_ _s5024_) with
- | _s5025_ =>
- (spc_matches_prefix _s5025_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_L, existT _ _s5289_ _) =>
+ (match (string_drop _s5288_ _s5289_) with
+ | _s5290_ =>
+ (spc_matches_prefix _s5290_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5026_ _) =>
- (match (string_drop _s5025_ _s5026_) with
- | _s5027_ =>
- (freg_name_matches_prefix _s5027_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5291_ _) =>
+ (match (string_drop _s5290_ _s5291_) with
+ | _s5292_ =>
+ (freg_name_matches_prefix _s5292_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5028_ _) =>
- (match (string_drop _s5027_ _s5028_) with
- | _s5029_ =>
- (sep_matches_prefix _s5029_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5293_ _) =>
+ (match (string_drop _s5292_ _s5293_) with
+ | _s5294_ =>
+ (sep_matches_prefix _s5294_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5030_ _) =>
- (match (string_drop _s5029_ _s5030_) with
- | _s5031_ =>
- (reg_name_matches_prefix _s5031_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5295_ _) =>
+ (match (string_drop _s5294_ _s5295_) with
+ | _s5296_ =>
+ (reg_name_matches_prefix _s5296_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5032_ _) =>
- (match (string_drop _s5031_ _s5032_) with
- | _s5033_ =>
- (sep_matches_prefix _s5033_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5297_ _) =>
+ (match (string_drop _s5296_ _s5297_) with
+ | _s5298_ =>
+ (sep_matches_prefix _s5298_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5034_ _) =>
- (match (string_drop _s5033_ _s5034_) with
- | _s5035_ =>
- (frm_mnemonic_matches_prefix _s5035_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5299_ _) =>
+ (match (string_drop _s5298_ _s5299_) with
+ | _s5300_ =>
+ (frm_mnemonic_matches_prefix _s5300_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s5036_ _) =>
- match (string_drop _s5035_
- _s5036_) with
+ | Some (rm, existT _ _s5301_ _) =>
+ match (string_drop _s5300_
+ _s5301_) with
| s_ =>
Some
(FCVT_S_L, rd, rs1, rm, s_)
@@ -44063,52 +45162,52 @@ Definition _s5021_ (_s5022_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5004_ (_s5005_ : string)
+Definition _s5269_ (_s5270_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5005_ with
- | _s5006_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s5006_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5270_ with
+ | _s5271_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5271_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_S, existT _ _s5007_ _) =>
- (match (string_drop _s5006_ _s5007_) with
- | _s5008_ =>
- (spc_matches_prefix _s5008_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_S, existT _ _s5272_ _) =>
+ (match (string_drop _s5271_ _s5272_) with
+ | _s5273_ =>
+ (spc_matches_prefix _s5273_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5009_ _) =>
- (match (string_drop _s5008_ _s5009_) with
- | _s5010_ =>
- (reg_name_matches_prefix _s5010_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5274_ _) =>
+ (match (string_drop _s5273_ _s5274_) with
+ | _s5275_ =>
+ (reg_name_matches_prefix _s5275_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5011_ _) =>
- (match (string_drop _s5010_ _s5011_) with
- | _s5012_ =>
- (sep_matches_prefix _s5012_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5276_ _) =>
+ (match (string_drop _s5275_ _s5276_) with
+ | _s5277_ =>
+ (sep_matches_prefix _s5277_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5013_ _) =>
- (match (string_drop _s5012_ _s5013_) with
- | _s5014_ =>
- (freg_name_matches_prefix _s5014_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5278_ _) =>
+ (match (string_drop _s5277_ _s5278_) with
+ | _s5279_ =>
+ (freg_name_matches_prefix _s5279_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5015_ _) =>
- (match (string_drop _s5014_ _s5015_) with
- | _s5016_ =>
- (sep_matches_prefix _s5016_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5280_ _) =>
+ (match (string_drop _s5279_ _s5280_) with
+ | _s5281_ =>
+ (sep_matches_prefix _s5281_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5017_ _) =>
- (match (string_drop _s5016_ _s5017_) with
- | _s5018_ =>
- (frm_mnemonic_matches_prefix _s5018_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5282_ _) =>
+ (match (string_drop _s5281_ _s5282_) with
+ | _s5283_ =>
+ (frm_mnemonic_matches_prefix _s5283_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s5019_ _) =>
- match (string_drop _s5018_
- _s5019_) with
+ | Some (rm, existT _ _s5284_ _) =>
+ match (string_drop _s5283_
+ _s5284_) with
| s_ =>
Some
(FCVT_LU_S, rd, rs1, rm, s_)
@@ -44148,52 +45247,52 @@ Definition _s5004_ (_s5005_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4987_ (_s4988_ : string)
+Definition _s5252_ (_s5253_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4988_ with
- | _s4989_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4989_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5253_ with
+ | _s5254_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5254_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_S, existT _ _s4990_ _) =>
- (match (string_drop _s4989_ _s4990_) with
- | _s4991_ =>
- (spc_matches_prefix _s4991_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_S, existT _ _s5255_ _) =>
+ (match (string_drop _s5254_ _s5255_) with
+ | _s5256_ =>
+ (spc_matches_prefix _s5256_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4992_ _) =>
- (match (string_drop _s4991_ _s4992_) with
- | _s4993_ =>
- (reg_name_matches_prefix _s4993_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5257_ _) =>
+ (match (string_drop _s5256_ _s5257_) with
+ | _s5258_ =>
+ (reg_name_matches_prefix _s5258_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4994_ _) =>
- (match (string_drop _s4993_ _s4994_) with
- | _s4995_ =>
- (sep_matches_prefix _s4995_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5259_ _) =>
+ (match (string_drop _s5258_ _s5259_) with
+ | _s5260_ =>
+ (sep_matches_prefix _s5260_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4996_ _) =>
- (match (string_drop _s4995_ _s4996_) with
- | _s4997_ =>
- (freg_name_matches_prefix _s4997_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5261_ _) =>
+ (match (string_drop _s5260_ _s5261_) with
+ | _s5262_ =>
+ (freg_name_matches_prefix _s5262_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4998_ _) =>
- (match (string_drop _s4997_ _s4998_) with
- | _s4999_ =>
- (sep_matches_prefix _s4999_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5263_ _) =>
+ (match (string_drop _s5262_ _s5263_) with
+ | _s5264_ =>
+ (sep_matches_prefix _s5264_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5000_ _) =>
- (match (string_drop _s4999_ _s5000_) with
- | _s5001_ =>
- (frm_mnemonic_matches_prefix _s5001_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5265_ _) =>
+ (match (string_drop _s5264_ _s5265_) with
+ | _s5266_ =>
+ (frm_mnemonic_matches_prefix _s5266_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s5002_ _) =>
- match (string_drop _s5001_
- _s5002_) with
+ | Some (rm, existT _ _s5267_ _) =>
+ match (string_drop _s5266_
+ _s5267_) with
| s_ =>
Some
(FCVT_L_S, rd, rs1, rm, s_)
@@ -44233,52 +45332,52 @@ Definition _s4987_ (_s4988_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4970_ (_s4971_ : string)
+Definition _s5235_ (_s5236_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4971_ with
- | _s4972_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4972_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5236_ with
+ | _s5237_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5237_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_WU, existT _ _s4973_ _) =>
- (match (string_drop _s4972_ _s4973_) with
- | _s4974_ =>
- (spc_matches_prefix _s4974_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_WU, existT _ _s5238_ _) =>
+ (match (string_drop _s5237_ _s5238_) with
+ | _s5239_ =>
+ (spc_matches_prefix _s5239_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4975_ _) =>
- (match (string_drop _s4974_ _s4975_) with
- | _s4976_ =>
- (freg_name_matches_prefix _s4976_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5240_ _) =>
+ (match (string_drop _s5239_ _s5240_) with
+ | _s5241_ =>
+ (freg_name_matches_prefix _s5241_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4977_ _) =>
- (match (string_drop _s4976_ _s4977_) with
- | _s4978_ =>
- (sep_matches_prefix _s4978_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5242_ _) =>
+ (match (string_drop _s5241_ _s5242_) with
+ | _s5243_ =>
+ (sep_matches_prefix _s5243_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4979_ _) =>
- (match (string_drop _s4978_ _s4979_) with
- | _s4980_ =>
- (reg_name_matches_prefix _s4980_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5244_ _) =>
+ (match (string_drop _s5243_ _s5244_) with
+ | _s5245_ =>
+ (reg_name_matches_prefix _s5245_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4981_ _) =>
- (match (string_drop _s4980_ _s4981_) with
- | _s4982_ =>
- (sep_matches_prefix _s4982_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5246_ _) =>
+ (match (string_drop _s5245_ _s5246_) with
+ | _s5247_ =>
+ (sep_matches_prefix _s5247_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4983_ _) =>
- (match (string_drop _s4982_ _s4983_) with
- | _s4984_ =>
- (frm_mnemonic_matches_prefix _s4984_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5248_ _) =>
+ (match (string_drop _s5247_ _s5248_) with
+ | _s5249_ =>
+ (frm_mnemonic_matches_prefix _s5249_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4985_ _) =>
- match (string_drop _s4984_
- _s4985_) with
+ | Some (rm, existT _ _s5250_ _) =>
+ match (string_drop _s5249_
+ _s5250_) with
| s_ =>
Some
(FCVT_S_WU, rd, rs1, rm, s_)
@@ -44318,52 +45417,52 @@ Definition _s4970_ (_s4971_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4953_ (_s4954_ : string)
+Definition _s5218_ (_s5219_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4954_ with
- | _s4955_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4955_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5219_ with
+ | _s5220_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5220_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_W, existT _ _s4956_ _) =>
- (match (string_drop _s4955_ _s4956_) with
- | _s4957_ =>
- (spc_matches_prefix _s4957_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_W, existT _ _s5221_ _) =>
+ (match (string_drop _s5220_ _s5221_) with
+ | _s5222_ =>
+ (spc_matches_prefix _s5222_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4958_ _) =>
- (match (string_drop _s4957_ _s4958_) with
- | _s4959_ =>
- (freg_name_matches_prefix _s4959_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5223_ _) =>
+ (match (string_drop _s5222_ _s5223_) with
+ | _s5224_ =>
+ (freg_name_matches_prefix _s5224_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4960_ _) =>
- (match (string_drop _s4959_ _s4960_) with
- | _s4961_ =>
- (sep_matches_prefix _s4961_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5225_ _) =>
+ (match (string_drop _s5224_ _s5225_) with
+ | _s5226_ =>
+ (sep_matches_prefix _s5226_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4962_ _) =>
- (match (string_drop _s4961_ _s4962_) with
- | _s4963_ =>
- (reg_name_matches_prefix _s4963_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5227_ _) =>
+ (match (string_drop _s5226_ _s5227_) with
+ | _s5228_ =>
+ (reg_name_matches_prefix _s5228_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4964_ _) =>
- (match (string_drop _s4963_ _s4964_) with
- | _s4965_ =>
- (sep_matches_prefix _s4965_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5229_ _) =>
+ (match (string_drop _s5228_ _s5229_) with
+ | _s5230_ =>
+ (sep_matches_prefix _s5230_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4966_ _) =>
- (match (string_drop _s4965_ _s4966_) with
- | _s4967_ =>
- (frm_mnemonic_matches_prefix _s4967_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5231_ _) =>
+ (match (string_drop _s5230_ _s5231_) with
+ | _s5232_ =>
+ (frm_mnemonic_matches_prefix _s5232_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4968_ _) =>
- match (string_drop _s4967_
- _s4968_) with
+ | Some (rm, existT _ _s5233_ _) =>
+ match (string_drop _s5232_
+ _s5233_) with
| s_ =>
Some
(FCVT_S_W, rd, rs1, rm, s_)
@@ -44403,52 +45502,52 @@ Definition _s4953_ (_s4954_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4936_ (_s4937_ : string)
+Definition _s5201_ (_s5202_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4937_ with
- | _s4938_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4938_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5202_ with
+ | _s5203_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5203_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_S, existT _ _s4939_ _) =>
- (match (string_drop _s4938_ _s4939_) with
- | _s4940_ =>
- (spc_matches_prefix _s4940_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_S, existT _ _s5204_ _) =>
+ (match (string_drop _s5203_ _s5204_) with
+ | _s5205_ =>
+ (spc_matches_prefix _s5205_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4941_ _) =>
- (match (string_drop _s4940_ _s4941_) with
- | _s4942_ =>
- (reg_name_matches_prefix _s4942_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5206_ _) =>
+ (match (string_drop _s5205_ _s5206_) with
+ | _s5207_ =>
+ (reg_name_matches_prefix _s5207_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4943_ _) =>
- (match (string_drop _s4942_ _s4943_) with
- | _s4944_ =>
- (sep_matches_prefix _s4944_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5208_ _) =>
+ (match (string_drop _s5207_ _s5208_) with
+ | _s5209_ =>
+ (sep_matches_prefix _s5209_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4945_ _) =>
- (match (string_drop _s4944_ _s4945_) with
- | _s4946_ =>
- (freg_name_matches_prefix _s4946_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5210_ _) =>
+ (match (string_drop _s5209_ _s5210_) with
+ | _s5211_ =>
+ (freg_name_matches_prefix _s5211_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4947_ _) =>
- (match (string_drop _s4946_ _s4947_) with
- | _s4948_ =>
- (sep_matches_prefix _s4948_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5212_ _) =>
+ (match (string_drop _s5211_ _s5212_) with
+ | _s5213_ =>
+ (sep_matches_prefix _s5213_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4949_ _) =>
- (match (string_drop _s4948_ _s4949_) with
- | _s4950_ =>
- (frm_mnemonic_matches_prefix _s4950_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5214_ _) =>
+ (match (string_drop _s5213_ _s5214_) with
+ | _s5215_ =>
+ (frm_mnemonic_matches_prefix _s5215_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4951_ _) =>
- match (string_drop _s4950_
- _s4951_) with
+ | Some (rm, existT _ _s5216_ _) =>
+ match (string_drop _s5215_
+ _s5216_) with
| s_ =>
Some
(FCVT_WU_S, rd, rs1, rm, s_)
@@ -44488,52 +45587,52 @@ Definition _s4936_ (_s4937_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4919_ (_s4920_ : string)
+Definition _s5184_ (_s5185_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4920_ with
- | _s4921_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4921_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5185_ with
+ | _s5186_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5186_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_S, existT _ _s4922_ _) =>
- (match (string_drop _s4921_ _s4922_) with
- | _s4923_ =>
- (spc_matches_prefix _s4923_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_S, existT _ _s5187_ _) =>
+ (match (string_drop _s5186_ _s5187_) with
+ | _s5188_ =>
+ (spc_matches_prefix _s5188_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4924_ _) =>
- (match (string_drop _s4923_ _s4924_) with
- | _s4925_ =>
- (reg_name_matches_prefix _s4925_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5189_ _) =>
+ (match (string_drop _s5188_ _s5189_) with
+ | _s5190_ =>
+ (reg_name_matches_prefix _s5190_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4926_ _) =>
- (match (string_drop _s4925_ _s4926_) with
- | _s4927_ =>
- (sep_matches_prefix _s4927_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5191_ _) =>
+ (match (string_drop _s5190_ _s5191_) with
+ | _s5192_ =>
+ (sep_matches_prefix _s5192_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4928_ _) =>
- (match (string_drop _s4927_ _s4928_) with
- | _s4929_ =>
- (freg_name_matches_prefix _s4929_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5193_ _) =>
+ (match (string_drop _s5192_ _s5193_) with
+ | _s5194_ =>
+ (freg_name_matches_prefix _s5194_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4930_ _) =>
- (match (string_drop _s4929_ _s4930_) with
- | _s4931_ =>
- (sep_matches_prefix _s4931_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5195_ _) =>
+ (match (string_drop _s5194_ _s5195_) with
+ | _s5196_ =>
+ (sep_matches_prefix _s5196_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4932_ _) =>
- (match (string_drop _s4931_ _s4932_) with
- | _s4933_ =>
- (frm_mnemonic_matches_prefix _s4933_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5197_ _) =>
+ (match (string_drop _s5196_ _s5197_) with
+ | _s5198_ =>
+ (frm_mnemonic_matches_prefix _s5198_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4934_ _) =>
- match (string_drop _s4933_
- _s4934_) with
+ | Some (rm, existT _ _s5199_ _) =>
+ match (string_drop _s5198_
+ _s5199_) with
| s_ =>
Some
(FCVT_W_S, rd, rs1, rm, s_)
@@ -44573,52 +45672,52 @@ Definition _s4919_ (_s4920_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4902_ (_s4903_ : string)
+Definition _s5167_ (_s5168_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4903_ with
- | _s4904_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4904_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5168_ with
+ | _s5169_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s5169_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_S, existT _ _s4905_ _) =>
- (match (string_drop _s4904_ _s4905_) with
- | _s4906_ =>
- (spc_matches_prefix _s4906_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_S, existT _ _s5170_ _) =>
+ (match (string_drop _s5169_ _s5170_) with
+ | _s5171_ =>
+ (spc_matches_prefix _s5171_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4907_ _) =>
- (match (string_drop _s4906_ _s4907_) with
- | _s4908_ =>
- (freg_name_matches_prefix _s4908_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5172_ _) =>
+ (match (string_drop _s5171_ _s5172_) with
+ | _s5173_ =>
+ (freg_name_matches_prefix _s5173_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4909_ _) =>
- (match (string_drop _s4908_ _s4909_) with
- | _s4910_ =>
- (sep_matches_prefix _s4910_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5174_ _) =>
+ (match (string_drop _s5173_ _s5174_) with
+ | _s5175_ =>
+ (sep_matches_prefix _s5175_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4911_ _) =>
- (match (string_drop _s4910_ _s4911_) with
- | _s4912_ =>
- (freg_name_matches_prefix _s4912_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5176_ _) =>
+ (match (string_drop _s5175_ _s5176_) with
+ | _s5177_ =>
+ (freg_name_matches_prefix _s5177_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4913_ _) =>
- (match (string_drop _s4912_ _s4913_) with
- | _s4914_ =>
- (sep_matches_prefix _s4914_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5178_ _) =>
+ (match (string_drop _s5177_ _s5178_) with
+ | _s5179_ =>
+ (sep_matches_prefix _s5179_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4915_ _) =>
- (match (string_drop _s4914_ _s4915_) with
- | _s4916_ =>
- (frm_mnemonic_matches_prefix _s4916_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5180_ _) =>
+ (match (string_drop _s5179_ _s5180_) with
+ | _s5181_ =>
+ (frm_mnemonic_matches_prefix _s5181_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4917_ _) =>
- match (string_drop _s4916_
- _s4917_) with
+ | Some (rm, existT _ _s5182_ _) =>
+ match (string_drop _s5181_
+ _s5182_) with
| s_ =>
Some
(FSQRT_S, rd, rs1, rm, s_)
@@ -44658,68 +45757,68 @@ Definition _s4902_ (_s4903_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4881_ (_s4882_ : string)
+Definition _s5146_ (_s5147_ : string)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4882_ with
- | _s4883_ =>
- (f_bin_rm_type_mnemonic_S_matches_prefix _s4883_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s5147_ with
+ | _s5148_ =>
+ (f_bin_rm_type_mnemonic_S_matches_prefix _s5148_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4884_ _) =>
- (match (string_drop _s4883_ _s4884_) with
- | _s4885_ =>
- (spc_matches_prefix _s4885_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5149_ _) =>
+ (match (string_drop _s5148_ _s5149_) with
+ | _s5150_ =>
+ (spc_matches_prefix _s5150_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4886_ _) =>
- (match (string_drop _s4885_ _s4886_) with
- | _s4887_ =>
- (freg_name_matches_prefix _s4887_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5151_ _) =>
+ (match (string_drop _s5150_ _s5151_) with
+ | _s5152_ =>
+ (freg_name_matches_prefix _s5152_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4888_ _) =>
- (match (string_drop _s4887_ _s4888_) with
- | _s4889_ =>
- (sep_matches_prefix _s4889_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5153_ _) =>
+ (match (string_drop _s5152_ _s5153_) with
+ | _s5154_ =>
+ (sep_matches_prefix _s5154_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4890_ _) =>
- (match (string_drop _s4889_ _s4890_) with
- | _s4891_ =>
- (freg_name_matches_prefix _s4891_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5155_ _) =>
+ (match (string_drop _s5154_ _s5155_) with
+ | _s5156_ =>
+ (freg_name_matches_prefix _s5156_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4892_ _) =>
- (match (string_drop _s4891_ _s4892_) with
- | _s4893_ =>
- (sep_matches_prefix _s4893_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5157_ _) =>
+ (match (string_drop _s5156_ _s5157_) with
+ | _s5158_ =>
+ (sep_matches_prefix _s5158_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4894_ _) =>
- (match (string_drop _s4893_ _s4894_) with
- | _s4895_ =>
- (freg_name_matches_prefix _s4895_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5159_ _) =>
+ (match (string_drop _s5158_ _s5159_) with
+ | _s5160_ =>
+ (freg_name_matches_prefix _s5160_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s4896_ _) =>
- (match (string_drop _s4895_ _s4896_) with
- | _s4897_ =>
- (sep_matches_prefix _s4897_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s5161_ _) =>
+ (match (string_drop _s5160_ _s5161_) with
+ | _s5162_ =>
+ (sep_matches_prefix _s5162_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s4898_ _) =>
- (match (string_drop _s4897_
- _s4898_) with
- | _s4899_ =>
+ | Some (tt, existT _ _s5163_ _) =>
+ (match (string_drop _s5162_
+ _s5163_) with
+ | _s5164_ =>
(frm_mnemonic_matches_prefix
- _s4899_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s5164_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s4900_ _) =>
+ (rm, existT _ _s5165_ _) =>
match (string_drop
- _s4899_
- _s4900_) with
+ _s5164_
+ _s5165_) with
| s_ =>
Some
(op, rd, rs1, rs2, rm, s_)
@@ -44769,87 +45868,87 @@ Definition _s4881_ (_s4882_ : string)
end)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4856_ (_s4857_ : string)
+Definition _s5121_ (_s5122_ : string)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s4857_ with
- | _s4858_ =>
- (f_madd_type_mnemonic_S_matches_prefix _s4858_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
+ (match _s5122_ with
+ | _s5123_ =>
+ (f_madd_type_mnemonic_S_matches_prefix _s5123_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4859_ _) =>
- (match (string_drop _s4858_ _s4859_) with
- | _s4860_ =>
- (spc_matches_prefix _s4860_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5124_ _) =>
+ (match (string_drop _s5123_ _s5124_) with
+ | _s5125_ =>
+ (spc_matches_prefix _s5125_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4861_ _) =>
- (match (string_drop _s4860_ _s4861_) with
- | _s4862_ =>
- (freg_name_matches_prefix _s4862_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5126_ _) =>
+ (match (string_drop _s5125_ _s5126_) with
+ | _s5127_ =>
+ (freg_name_matches_prefix _s5127_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4863_ _) =>
- (match (string_drop _s4862_ _s4863_) with
- | _s4864_ =>
- (sep_matches_prefix _s4864_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5128_ _) =>
+ (match (string_drop _s5127_ _s5128_) with
+ | _s5129_ =>
+ (sep_matches_prefix _s5129_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4865_ _) =>
- (match (string_drop _s4864_ _s4865_) with
- | _s4866_ =>
- (freg_name_matches_prefix _s4866_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5130_ _) =>
+ (match (string_drop _s5129_ _s5130_) with
+ | _s5131_ =>
+ (freg_name_matches_prefix _s5131_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4867_ _) =>
- (match (string_drop _s4866_ _s4867_) with
- | _s4868_ =>
- (sep_matches_prefix _s4868_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5132_ _) =>
+ (match (string_drop _s5131_ _s5132_) with
+ | _s5133_ =>
+ (sep_matches_prefix _s5133_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4869_ _) =>
- (match (string_drop _s4868_ _s4869_) with
- | _s4870_ =>
- (freg_name_matches_prefix _s4870_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5134_ _) =>
+ (match (string_drop _s5133_ _s5134_) with
+ | _s5135_ =>
+ (freg_name_matches_prefix _s5135_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s4871_ _) =>
- (match (string_drop _s4870_ _s4871_) with
- | _s4872_ =>
- (sep_matches_prefix _s4872_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s5136_ _) =>
+ (match (string_drop _s5135_ _s5136_) with
+ | _s5137_ =>
+ (sep_matches_prefix _s5137_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s4873_ _) =>
- (match (string_drop _s4872_
- _s4873_) with
- | _s4874_ =>
+ | Some (tt, existT _ _s5138_ _) =>
+ (match (string_drop _s5137_
+ _s5138_) with
+ | _s5139_ =>
(freg_name_matches_prefix
- _s4874_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s5139_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s4875_ _) =>
+ (rs3, existT _ _s5140_ _) =>
(match (string_drop
- _s4874_ _s4875_) with
- | _s4876_ =>
+ _s5139_ _s5140_) with
+ | _s5141_ =>
(sep_matches_prefix
- _s4876_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5141_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s4877_ _) =>
+ (tt, existT _ _s5142_ _) =>
(match (string_drop
- _s4876_
- _s4877_) with
- | _s4878_ =>
+ _s5141_
+ _s5142_) with
+ | _s5143_ =>
(frm_mnemonic_matches_prefix
- _s4878_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s5143_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s4879_ _) =>
+ (rm, existT _ _s5144_ _) =>
match (string_drop
- _s4878_
- _s4879_) with
+ _s5143_
+ _s5144_) with
| s_ =>
Some
(op, rd, rs1, rs2, rs3, rm, s_)
@@ -44910,81 +46009,81 @@ Definition _s4856_ (_s4857_ : string)
end)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s4832_ (_s4833_ : string)
+Definition _s5097_ (_s5098_ : string)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))) :=
- let _s4834_ := _s4833_ in
- (if string_startswith _s4834_ "fs" then
- (match (string_drop _s4834_ (projT1 (string_length "fs"))) with
- | _s4835_ =>
- (size_mnemonic_matches_prefix _s4835_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s5099_ := _s5098_ in
+ (if string_startswith _s5099_ "fs" then
+ (match (string_drop _s5099_ (projT1 (string_length "fs"))) with
+ | _s5100_ =>
+ (size_mnemonic_matches_prefix _s5100_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s4836_ _) =>
- (match (string_drop _s4835_ _s4836_) with
- | _s4837_ =>
- (spc_matches_prefix _s4837_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s5101_ _) =>
+ (match (string_drop _s5100_ _s5101_) with
+ | _s5102_ =>
+ (spc_matches_prefix _s5102_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4838_ _) =>
- (match (string_drop _s4837_ _s4838_) with
- | _s4839_ =>
- (freg_name_matches_prefix _s4839_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5103_ _) =>
+ (match (string_drop _s5102_ _s5103_) with
+ | _s5104_ =>
+ (freg_name_matches_prefix _s5104_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs2, existT _ _s4840_ _) =>
- (match (string_drop _s4839_ _s4840_) with
- | _s4841_ =>
- (sep_matches_prefix _s4841_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s5105_ _) =>
+ (match (string_drop _s5104_ _s5105_) with
+ | _s5106_ =>
+ (sep_matches_prefix _s5106_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4842_ _) =>
- (match (string_drop _s4841_ _s4842_) with
- | _s4843_ =>
- (match (hex_bits_12_matches_prefix _s4843_) with
- | Some (imm, existT _ _s4844_ _) =>
- (match (string_drop _s4843_ _s4844_) with
- | _s4845_ =>
- (opt_spc_matches_prefix _s4845_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5107_ _) =>
+ (match (string_drop _s5106_ _s5107_) with
+ | _s5108_ =>
+ (match (hex_bits_12_matches_prefix _s5108_) with
+ | Some (imm, existT _ _s5109_ _) =>
+ (match (string_drop _s5108_ _s5109_) with
+ | _s5110_ =>
+ (opt_spc_matches_prefix _s5110_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s4846_ _) =>
- let _s4847_ := string_drop _s4845_ _s4846_ in
- (if string_startswith _s4847_ "(" then
- (match (string_drop _s4847_
+ | Some (tt, existT _ _s5111_ _) =>
+ let _s5112_ := string_drop _s5110_ _s5111_ in
+ (if string_startswith _s5112_ "(" then
+ (match (string_drop _s5112_
(projT1
(string_length "("))) with
- | _s4848_ =>
- (opt_spc_matches_prefix _s4848_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s5113_ =>
+ (opt_spc_matches_prefix _s5113_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4849_ _) =>
- (match (string_drop _s4848_ _s4849_) with
- | _s4850_ =>
+ | Some (tt, existT _ _s5114_ _) =>
+ (match (string_drop _s5113_ _s5114_) with
+ | _s5115_ =>
(reg_name_matches_prefix
- _s4850_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s5115_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s4851_ _) =>
- (match (string_drop _s4850_
- _s4851_) with
- | _s4852_ =>
+ (rs1, existT _ _s5116_ _) =>
+ (match (string_drop _s5115_
+ _s5116_) with
+ | _s5117_ =>
(opt_spc_matches_prefix
- _s4852_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5117_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s4853_ _) =>
- let _s4854_ :=
+ (tt, existT _ _s5118_ _) =>
+ let _s5119_ :=
string_drop
- _s4852_
- _s4853_ in
+ _s5117_
+ _s5118_ in
if string_startswith
- _s4854_
+ _s5119_
")"
then
match (string_drop
- _s4854_
+ _s5119_
(projT1
(string_length
")"))) with
@@ -45042,81 +46141,81 @@ Definition _s4832_ (_s4833_ : string)
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))).
-Definition _s4808_ (_s4809_ : string)
+Definition _s5073_ (_s5074_ : string)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))) :=
- let _s4810_ := _s4809_ in
- (if string_startswith _s4810_ "fl" then
- (match (string_drop _s4810_ (projT1 (string_length "fl"))) with
- | _s4811_ =>
- (size_mnemonic_matches_prefix _s4811_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s5075_ := _s5074_ in
+ (if string_startswith _s5075_ "fl" then
+ (match (string_drop _s5075_ (projT1 (string_length "fl"))) with
+ | _s5076_ =>
+ (size_mnemonic_matches_prefix _s5076_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s4812_ _) =>
- (match (string_drop _s4811_ _s4812_) with
- | _s4813_ =>
- (spc_matches_prefix _s4813_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s5077_ _) =>
+ (match (string_drop _s5076_ _s5077_) with
+ | _s5078_ =>
+ (spc_matches_prefix _s5078_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4814_ _) =>
- (match (string_drop _s4813_ _s4814_) with
- | _s4815_ =>
- (freg_name_matches_prefix _s4815_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5079_ _) =>
+ (match (string_drop _s5078_ _s5079_) with
+ | _s5080_ =>
+ (freg_name_matches_prefix _s5080_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4816_ _) =>
- (match (string_drop _s4815_ _s4816_) with
- | _s4817_ =>
- (sep_matches_prefix _s4817_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5081_ _) =>
+ (match (string_drop _s5080_ _s5081_) with
+ | _s5082_ =>
+ (sep_matches_prefix _s5082_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4818_ _) =>
- (match (string_drop _s4817_ _s4818_) with
- | _s4819_ =>
- (match (hex_bits_12_matches_prefix _s4819_) with
- | Some (imm, existT _ _s4820_ _) =>
- (match (string_drop _s4819_ _s4820_) with
- | _s4821_ =>
- (opt_spc_matches_prefix _s4821_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5083_ _) =>
+ (match (string_drop _s5082_ _s5083_) with
+ | _s5084_ =>
+ (match (hex_bits_12_matches_prefix _s5084_) with
+ | Some (imm, existT _ _s5085_ _) =>
+ (match (string_drop _s5084_ _s5085_) with
+ | _s5086_ =>
+ (opt_spc_matches_prefix _s5086_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s4822_ _) =>
- let _s4823_ := string_drop _s4821_ _s4822_ in
- (if string_startswith _s4823_ "(" then
- (match (string_drop _s4823_
+ | Some (tt, existT _ _s5087_ _) =>
+ let _s5088_ := string_drop _s5086_ _s5087_ in
+ (if string_startswith _s5088_ "(" then
+ (match (string_drop _s5088_
(projT1
(string_length "("))) with
- | _s4824_ =>
- (opt_spc_matches_prefix _s4824_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s5089_ =>
+ (opt_spc_matches_prefix _s5089_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4825_ _) =>
- (match (string_drop _s4824_ _s4825_) with
- | _s4826_ =>
+ | Some (tt, existT _ _s5090_ _) =>
+ (match (string_drop _s5089_ _s5090_) with
+ | _s5091_ =>
(reg_name_matches_prefix
- _s4826_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s5091_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s4827_ _) =>
- (match (string_drop _s4826_
- _s4827_) with
- | _s4828_ =>
+ (rs1, existT _ _s5092_ _) =>
+ (match (string_drop _s5091_
+ _s5092_) with
+ | _s5093_ =>
(opt_spc_matches_prefix
- _s4828_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5093_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s4829_ _) =>
- let _s4830_ :=
+ (tt, existT _ _s5094_ _) =>
+ let _s5095_ :=
string_drop
- _s4828_
- _s4829_ in
+ _s5093_
+ _s5094_ in
if string_startswith
- _s4830_
+ _s5095_
")"
then
match (string_drop
- _s4830_
+ _s5095_
(projT1
(string_length
")"))) with
@@ -45174,57 +46273,332 @@ Definition _s4808_ (_s4809_ : string)
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))).
-Definition _s4804_ (_s4805_ : string) : option string :=
- let _s4806_ := _s4805_ in
- if string_startswith _s4806_ "uret" then
- match (string_drop _s4806_ (projT1 (string_length "uret"))) with | s_ => Some s_ end
+Definition _s5061_ (_s5062_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
+ let _s5063_ := _s5062_ in
+ (if string_startswith _s5063_ "fence.i.reserved." then
+ (match (string_drop _s5063_ (projT1 (string_length "fence.i.reserved."))) with
+ | _s5064_ =>
+ (reg_name_matches_prefix _s5064_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (rd, existT _ _s5065_ _) =>
+ let _s5066_ := string_drop _s5064_ _s5065_ in
+ (if string_startswith _s5066_ "." then
+ (match (string_drop _s5066_ (projT1 (string_length "."))) with
+ | _s5067_ =>
+ (reg_name_matches_prefix _s5067_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__1 with
+ | Some (rs, existT _ _s5068_ _) =>
+ let _s5069_ := string_drop _s5067_ _s5068_ in
+ if string_startswith _s5069_ "." then
+ match (string_drop _s5069_ (projT1 (string_length "."))) with
+ | _s5070_ =>
+ match (hex_bits_12_matches_prefix _s5070_) with
+ | Some (imm, existT _ _s5071_ _) =>
+ match (string_drop _s5070_ _s5071_) with
+ | s_ => Some (rd, rs, imm, s_)
+ end
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12 * string))).
+
+Definition _s5043_ (_s5044_ : string)
+: M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string))) :=
+ let _s5045_ := _s5044_ in
+ (if string_startswith _s5045_ "fence.reserved." then
+ (match (string_drop _s5045_ (projT1 (string_length "fence.reserved."))) with
+ | _s5046_ =>
+ (fence_bits_matches_prefix _s5046_) >>= fun w__0 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (pred, existT _ _s5047_ _) =>
+ let _s5048_ := string_drop _s5046_ _s5047_ in
+ (if string_startswith _s5048_ "." then
+ (match (string_drop _s5048_ (projT1 (string_length "."))) with
+ | _s5049_ =>
+ (fence_bits_matches_prefix _s5049_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__1 with
+ | Some (succ, existT _ _s5050_ _) =>
+ let _s5051_ := string_drop _s5049_ _s5050_ in
+ (if string_startswith _s5051_ "." then
+ (match (string_drop _s5051_ (projT1 (string_length "."))) with
+ | _s5052_ =>
+ (reg_name_matches_prefix _s5052_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__2 with
+ | Some (rs, existT _ _s5053_ _) =>
+ let _s5054_ := string_drop _s5052_ _s5053_ in
+ (if string_startswith _s5054_ "." then
+ (match (string_drop _s5054_ (projT1 (string_length "."))) with
+ | _s5055_ =>
+ (reg_name_matches_prefix _s5055_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__3 with
+ | Some (rd, existT _ _s5056_ _) =>
+ let _s5057_ := string_drop _s5055_ _s5056_ in
+ if string_startswith _s5057_ "." then
+ match (string_drop _s5057_
+ (projT1
+ (string_length "."))) with
+ | _s5058_ =>
+ match (hex_bits_4_matches_prefix _s5058_) with
+ | Some (fm, existT _ _s5059_ _) =>
+ match (string_drop _s5058_ _s5059_) with
+ | s_ =>
+ Some (pred, succ, rs, rd, fm, s_)
+ end
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string))).
+
+Definition _s5037_ (_s5038_ : string) : M (option ((mword 3 * string))) :=
+ let _s5039_ := _s5038_ in
+ (if string_startswith _s5039_ "c.srai.hint." then
+ (match (string_drop _s5039_ (projT1 (string_length "c.srai.hint."))) with
+ | _s5040_ =>
+ (creg_name_matches_prefix _s5040_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s5041_ _) =>
+ match (string_drop _s5040_ _s5041_) with | s_ => Some (rsd, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 3 * string)))
+ else returnm None)
+ : M (option ((mword 3 * string))).
+
+Definition _s5031_ (_s5032_ : string) : M (option ((mword 3 * string))) :=
+ let _s5033_ := _s5032_ in
+ (if string_startswith _s5033_ "c.srli.hint." then
+ (match (string_drop _s5033_ (projT1 (string_length "c.srli.hint."))) with
+ | _s5034_ =>
+ (creg_name_matches_prefix _s5034_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s5035_ _) =>
+ match (string_drop _s5034_ _s5035_) with | s_ => Some (rsd, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 3 * string)))
+ else returnm None)
+ : M (option ((mword 3 * string))).
+
+Definition _s5022_ (_s5023_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5024_ := _s5023_ in
+ (if string_startswith _s5024_ "c.slli.hint." then
+ (match (string_drop _s5024_ (projT1 (string_length "c.slli.hint."))) with
+ | _s5025_ =>
+ (reg_name_matches_prefix _s5025_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s5026_ _) =>
+ let _s5027_ := string_drop _s5025_ _s5026_ in
+ if string_startswith _s5027_ "." then
+ match (string_drop _s5027_ (projT1 (string_length "."))) with
+ | _s5028_ =>
+ match (hex_bits_6_matches_prefix _s5028_) with
+ | Some (shamt, existT _ _s5029_ _) =>
+ match (string_drop _s5028_ _s5029_) with
+ | s_ => Some (rsd, shamt, s_)
+ end
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 6 * string)))
+ else returnm None)
+ : M (option ((mword 5 * mword 6 * string))).
+
+Definition _s5016_ (_s5017_ : string) : M (option ((mword 5 * string))) :=
+ let _s5018_ := _s5017_ in
+ (if string_startswith _s5018_ "c.add.hint." then
+ (match (string_drop _s5018_ (projT1 (string_length "c.add.hint."))) with
+ | _s5019_ =>
+ (reg_name_matches_prefix _s5019_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s5020_ _) =>
+ match (string_drop _s5019_ _s5020_) with | s_ => Some (rs2, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * string)))
+ else returnm None)
+ : M (option ((mword 5 * string))).
+
+Definition _s5010_ (_s5011_ : string) : M (option ((mword 5 * string))) :=
+ let _s5012_ := _s5011_ in
+ (if string_startswith _s5012_ "c.mv.hint." then
+ (match (string_drop _s5012_ (projT1 (string_length "c.mv.hint."))) with
+ | _s5013_ =>
+ (reg_name_matches_prefix _s5013_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s5014_ _) =>
+ match (string_drop _s5013_ _s5014_) with | s_ => Some (rs2, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * string)))
+ else returnm None)
+ : M (option ((mword 5 * string))).
+
+Definition _s5004_ (_s5005_ : string) : option ((mword 6 * string)) :=
+ let _s5006_ := _s5005_ in
+ if string_startswith _s5006_ "c.lui.hint." then
+ match (string_drop _s5006_ (projT1 (string_length "c.lui.hint."))) with
+ | _s5007_ =>
+ match (hex_bits_6_matches_prefix _s5007_) with
+ | Some (imm, existT _ _s5008_ _) =>
+ match (string_drop _s5007_ _s5008_) with | s_ => Some (imm, s_) end
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s4998_ (_s4999_ : string) : option ((mword 6 * string)) :=
+ let _s5000_ := _s4999_ in
+ if string_startswith _s5000_ "c.li.hint." then
+ match (string_drop _s5000_ (projT1 (string_length "c.li.hint."))) with
+ | _s5001_ =>
+ match (hex_bits_6_matches_prefix _s5001_) with
+ | Some (imm, existT _ _s5002_ _) =>
+ match (string_drop _s5001_ _s5002_) with | s_ => Some (imm, s_) end
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s4992_ (_s4993_ : string) : M (option ((mword 5 * string))) :=
+ let _s4994_ := _s4993_ in
+ (if string_startswith _s4994_ "c.addi.hint." then
+ (match (string_drop _s4994_ (projT1 (string_length "c.addi.hint."))) with
+ | _s4995_ =>
+ (reg_name_matches_prefix _s4995_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s4996_ _) =>
+ match (string_drop _s4995_ _s4996_) with | s_ => Some (rsd, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * string)))
+ else returnm None)
+ : M (option ((mword 5 * string))).
+
+Definition _s4986_ (_s4987_ : string) : option ((mword 6 * string)) :=
+ let _s4988_ := _s4987_ in
+ if string_startswith _s4988_ "c.nop.hint." then
+ match (string_drop _s4988_ (projT1 (string_length "c.nop.hint."))) with
+ | _s4989_ =>
+ match (hex_bits_6_matches_prefix _s4989_) with
+ | Some (imm, existT _ _s4990_ _) =>
+ match (string_drop _s4989_ _s4990_) with | s_ => Some (imm, s_) end
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s4982_ (_s4983_ : string) : option string :=
+ let _s4984_ := _s4983_ in
+ if string_startswith _s4984_ "uret" then
+ match (string_drop _s4984_ (projT1 (string_length "uret"))) with | s_ => Some s_ end
else None.
-Definition _s4787_ (_s4788_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
- (match _s4788_ with
- | _s4789_ =>
- (csr_mnemonic_matches_prefix _s4789_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s4965_ (_s4966_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
+ (match _s4966_ with
+ | _s4967_ =>
+ (csr_mnemonic_matches_prefix _s4967_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4790_ _) =>
- (match (string_drop _s4789_ _s4790_) with
- | _s4791_ =>
- (spc_matches_prefix _s4791_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4968_ _) =>
+ (match (string_drop _s4967_ _s4968_) with
+ | _s4969_ =>
+ (spc_matches_prefix _s4969_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4792_ _) =>
- (match (string_drop _s4791_ _s4792_) with
- | _s4793_ =>
- (reg_name_matches_prefix _s4793_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4970_ _) =>
+ (match (string_drop _s4969_ _s4970_) with
+ | _s4971_ =>
+ (reg_name_matches_prefix _s4971_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4794_ _) =>
- (match (string_drop _s4793_ _s4794_) with
- | _s4795_ =>
- (sep_matches_prefix _s4795_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4972_ _) =>
+ (match (string_drop _s4971_ _s4972_) with
+ | _s4973_ =>
+ (sep_matches_prefix _s4973_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4796_ _) =>
- (match (string_drop _s4795_ _s4796_) with
- | _s4797_ =>
- (csr_name_map_matches_prefix _s4797_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4974_ _) =>
+ (match (string_drop _s4973_ _s4974_) with
+ | _s4975_ =>
+ (csr_name_map_matches_prefix _s4975_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s4798_ _) =>
- (match (string_drop _s4797_ _s4798_) with
- | _s4799_ =>
- (sep_matches_prefix _s4799_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s4976_ _) =>
+ (match (string_drop _s4975_ _s4976_) with
+ | _s4977_ =>
+ (sep_matches_prefix _s4977_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4800_ _) =>
- (match (string_drop _s4799_ _s4800_) with
- | _s4801_ =>
- (reg_name_matches_prefix _s4801_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4978_ _) =>
+ (match (string_drop _s4977_ _s4978_) with
+ | _s4979_ =>
+ (reg_name_matches_prefix _s4979_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s4802_ _) =>
- match (string_drop _s4801_
- _s4802_) with
+ | Some (rs1, existT _ _s4980_ _) =>
+ match (string_drop _s4979_
+ _s4980_) with
| s_ =>
Some (op, rd, csr, rs1, s_)
end
@@ -45263,52 +46637,52 @@ Definition _s4787_ (_s4788_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5 * string))).
-Definition _s4769_ (_s4770_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
- (match _s4770_ with
- | _s4771_ =>
- (csr_mnemonic_matches_prefix _s4771_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s4947_ (_s4948_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
+ (match _s4948_ with
+ | _s4949_ =>
+ (csr_mnemonic_matches_prefix _s4949_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4772_ _) =>
- let _s4773_ := string_drop _s4771_ _s4772_ in
- (if string_startswith _s4773_ "i" then
- (match (string_drop _s4773_ (projT1 (string_length "i"))) with
- | _s4774_ =>
- (spc_matches_prefix _s4774_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4950_ _) =>
+ let _s4951_ := string_drop _s4949_ _s4950_ in
+ (if string_startswith _s4951_ "i" then
+ (match (string_drop _s4951_ (projT1 (string_length "i"))) with
+ | _s4952_ =>
+ (spc_matches_prefix _s4952_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4775_ _) =>
- (match (string_drop _s4774_ _s4775_) with
- | _s4776_ =>
- (reg_name_matches_prefix _s4776_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4953_ _) =>
+ (match (string_drop _s4952_ _s4953_) with
+ | _s4954_ =>
+ (reg_name_matches_prefix _s4954_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4777_ _) =>
- (match (string_drop _s4776_ _s4777_) with
- | _s4778_ =>
- (sep_matches_prefix _s4778_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4955_ _) =>
+ (match (string_drop _s4954_ _s4955_) with
+ | _s4956_ =>
+ (sep_matches_prefix _s4956_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4779_ _) =>
- (match (string_drop _s4778_ _s4779_) with
- | _s4780_ =>
- (csr_name_map_matches_prefix _s4780_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4957_ _) =>
+ (match (string_drop _s4956_ _s4957_) with
+ | _s4958_ =>
+ (csr_name_map_matches_prefix _s4958_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s4781_ _) =>
- (match (string_drop _s4780_ _s4781_) with
- | _s4782_ =>
- (sep_matches_prefix _s4782_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s4959_ _) =>
+ (match (string_drop _s4958_ _s4959_) with
+ | _s4960_ =>
+ (sep_matches_prefix _s4960_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s4783_ _) =>
- match (string_drop _s4782_ _s4783_) with
- | _s4784_ =>
+ | Some (tt, existT _ _s4961_ _) =>
+ match (string_drop _s4960_ _s4961_) with
+ | _s4962_ =>
match (hex_bits_5_matches_prefix
- _s4784_) with
- | Some (rs1, existT _ _s4785_ _) =>
- match (string_drop _s4784_
- _s4785_) with
+ _s4962_) with
+ | Some (rs1, existT _ _s4963_ _) =>
+ match (string_drop _s4962_
+ _s4963_) with
| s_ =>
Some (op, rd, csr, rs1, s_)
end
@@ -45347,56 +46721,56 @@ Definition _s4769_ (_s4770_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5 * string))).
-Definition _s4750_ (_s4751_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s4752_ := _s4751_ in
- (if string_startswith _s4752_ "rem" then
- (match (string_drop _s4752_ (projT1 (string_length "rem"))) with
- | _s4753_ =>
- (maybe_not_u_matches_prefix _s4753_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s4928_ (_s4929_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s4930_ := _s4929_ in
+ (if string_startswith _s4930_ "rem" then
+ (match (string_drop _s4930_ (projT1 (string_length "rem"))) with
+ | _s4931_ =>
+ (maybe_not_u_matches_prefix _s4931_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s4754_ _) =>
- let _s4755_ := string_drop _s4753_ _s4754_ in
- (if string_startswith _s4755_ "w" then
- (match (string_drop _s4755_ (projT1 (string_length "w"))) with
- | _s4756_ =>
- (spc_matches_prefix _s4756_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s4932_ _) =>
+ let _s4933_ := string_drop _s4931_ _s4932_ in
+ (if string_startswith _s4933_ "w" then
+ (match (string_drop _s4933_ (projT1 (string_length "w"))) with
+ | _s4934_ =>
+ (spc_matches_prefix _s4934_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4757_ _) =>
- (match (string_drop _s4756_ _s4757_) with
- | _s4758_ =>
- (reg_name_matches_prefix _s4758_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4935_ _) =>
+ (match (string_drop _s4934_ _s4935_) with
+ | _s4936_ =>
+ (reg_name_matches_prefix _s4936_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4759_ _) =>
- (match (string_drop _s4758_ _s4759_) with
- | _s4760_ =>
- (sep_matches_prefix _s4760_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4937_ _) =>
+ (match (string_drop _s4936_ _s4937_) with
+ | _s4938_ =>
+ (sep_matches_prefix _s4938_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4761_ _) =>
- (match (string_drop _s4760_ _s4761_) with
- | _s4762_ =>
- (reg_name_matches_prefix _s4762_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4939_ _) =>
+ (match (string_drop _s4938_ _s4939_) with
+ | _s4940_ =>
+ (reg_name_matches_prefix _s4940_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4763_ _) =>
- (match (string_drop _s4762_ _s4763_) with
- | _s4764_ =>
- (sep_matches_prefix _s4764_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4941_ _) =>
+ (match (string_drop _s4940_ _s4941_) with
+ | _s4942_ =>
+ (sep_matches_prefix _s4942_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4765_ _) =>
- (match (string_drop _s4764_ _s4765_) with
- | _s4766_ =>
- (reg_name_matches_prefix _s4766_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4943_ _) =>
+ (match (string_drop _s4942_ _s4943_) with
+ | _s4944_ =>
+ (reg_name_matches_prefix _s4944_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s4767_ _) =>
- match (string_drop _s4766_
- _s4767_) with
+ (rs2, existT _ _s4945_ _) =>
+ match (string_drop _s4944_
+ _s4945_) with
| s_ =>
Some
(s, rd, rs1, rs2, s_)
@@ -45440,56 +46814,56 @@ Definition _s4750_ (_s4751_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4731_ (_s4732_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s4733_ := _s4732_ in
- (if string_startswith _s4733_ "div" then
- (match (string_drop _s4733_ (projT1 (string_length "div"))) with
- | _s4734_ =>
- (maybe_not_u_matches_prefix _s4734_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s4909_ (_s4910_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s4911_ := _s4910_ in
+ (if string_startswith _s4911_ "div" then
+ (match (string_drop _s4911_ (projT1 (string_length "div"))) with
+ | _s4912_ =>
+ (maybe_not_u_matches_prefix _s4912_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s4735_ _) =>
- let _s4736_ := string_drop _s4734_ _s4735_ in
- (if string_startswith _s4736_ "w" then
- (match (string_drop _s4736_ (projT1 (string_length "w"))) with
- | _s4737_ =>
- (spc_matches_prefix _s4737_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s4913_ _) =>
+ let _s4914_ := string_drop _s4912_ _s4913_ in
+ (if string_startswith _s4914_ "w" then
+ (match (string_drop _s4914_ (projT1 (string_length "w"))) with
+ | _s4915_ =>
+ (spc_matches_prefix _s4915_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4738_ _) =>
- (match (string_drop _s4737_ _s4738_) with
- | _s4739_ =>
- (reg_name_matches_prefix _s4739_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4916_ _) =>
+ (match (string_drop _s4915_ _s4916_) with
+ | _s4917_ =>
+ (reg_name_matches_prefix _s4917_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4740_ _) =>
- (match (string_drop _s4739_ _s4740_) with
- | _s4741_ =>
- (sep_matches_prefix _s4741_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4918_ _) =>
+ (match (string_drop _s4917_ _s4918_) with
+ | _s4919_ =>
+ (sep_matches_prefix _s4919_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4742_ _) =>
- (match (string_drop _s4741_ _s4742_) with
- | _s4743_ =>
- (reg_name_matches_prefix _s4743_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4920_ _) =>
+ (match (string_drop _s4919_ _s4920_) with
+ | _s4921_ =>
+ (reg_name_matches_prefix _s4921_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4744_ _) =>
- (match (string_drop _s4743_ _s4744_) with
- | _s4745_ =>
- (sep_matches_prefix _s4745_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4922_ _) =>
+ (match (string_drop _s4921_ _s4922_) with
+ | _s4923_ =>
+ (sep_matches_prefix _s4923_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4746_ _) =>
- (match (string_drop _s4745_ _s4746_) with
- | _s4747_ =>
- (reg_name_matches_prefix _s4747_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4924_ _) =>
+ (match (string_drop _s4923_ _s4924_) with
+ | _s4925_ =>
+ (reg_name_matches_prefix _s4925_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s4748_ _) =>
- match (string_drop _s4747_
- _s4748_) with
+ (rs2, existT _ _s4926_ _) =>
+ match (string_drop _s4925_
+ _s4926_) with
| s_ =>
Some
(s, rd, rs1, rs2, s_)
@@ -45533,45 +46907,45 @@ Definition _s4731_ (_s4732_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4715_ (_s4716_ : string) : M (option ((mword 5 * mword 5 * mword 5 * string))) :=
- let _s4717_ := _s4716_ in
- (if string_startswith _s4717_ "mulw" then
- (match (string_drop _s4717_ (projT1 (string_length "mulw"))) with
- | _s4718_ =>
- (spc_matches_prefix _s4718_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4893_ (_s4894_ : string) : M (option ((mword 5 * mword 5 * mword 5 * string))) :=
+ let _s4895_ := _s4894_ in
+ (if string_startswith _s4895_ "mulw" then
+ (match (string_drop _s4895_ (projT1 (string_length "mulw"))) with
+ | _s4896_ =>
+ (spc_matches_prefix _s4896_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4719_ _) =>
- (match (string_drop _s4718_ _s4719_) with
- | _s4720_ =>
- (reg_name_matches_prefix _s4720_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4897_ _) =>
+ (match (string_drop _s4896_ _s4897_) with
+ | _s4898_ =>
+ (reg_name_matches_prefix _s4898_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4721_ _) =>
- (match (string_drop _s4720_ _s4721_) with
- | _s4722_ =>
- (sep_matches_prefix _s4722_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4899_ _) =>
+ (match (string_drop _s4898_ _s4899_) with
+ | _s4900_ =>
+ (sep_matches_prefix _s4900_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4723_ _) =>
- (match (string_drop _s4722_ _s4723_) with
- | _s4724_ =>
- (reg_name_matches_prefix _s4724_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4901_ _) =>
+ (match (string_drop _s4900_ _s4901_) with
+ | _s4902_ =>
+ (reg_name_matches_prefix _s4902_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s4725_ _) =>
- (match (string_drop _s4724_ _s4725_) with
- | _s4726_ =>
- (sep_matches_prefix _s4726_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4903_ _) =>
+ (match (string_drop _s4902_ _s4903_) with
+ | _s4904_ =>
+ (sep_matches_prefix _s4904_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s4727_ _) =>
- (match (string_drop _s4726_ _s4727_) with
- | _s4728_ =>
- (reg_name_matches_prefix _s4728_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4905_ _) =>
+ (match (string_drop _s4904_ _s4905_) with
+ | _s4906_ =>
+ (reg_name_matches_prefix _s4906_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (rs2, existT _ _s4729_ _) =>
- match (string_drop _s4728_ _s4729_) with
+ | Some (rs2, existT _ _s4907_ _) =>
+ match (string_drop _s4906_ _s4907_) with
| s_ => Some (rd, rs1, rs2, s_)
end
| _ => None
@@ -45606,53 +46980,53 @@ Definition _s4715_ (_s4716_ : string) : M (option ((mword 5 * mword 5 * mword 5
else returnm None)
: M (option ((mword 5 * mword 5 * mword 5 * string))).
-Definition _s4697_ (_s4698_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s4699_ := _s4698_ in
- (if string_startswith _s4699_ "rem" then
- (match (string_drop _s4699_ (projT1 (string_length "rem"))) with
- | _s4700_ =>
- (maybe_not_u_matches_prefix _s4700_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s4875_ (_s4876_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s4877_ := _s4876_ in
+ (if string_startswith _s4877_ "rem" then
+ (match (string_drop _s4877_ (projT1 (string_length "rem"))) with
+ | _s4878_ =>
+ (maybe_not_u_matches_prefix _s4878_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s4701_ _) =>
- (match (string_drop _s4700_ _s4701_) with
- | _s4702_ =>
- (spc_matches_prefix _s4702_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s4879_ _) =>
+ (match (string_drop _s4878_ _s4879_) with
+ | _s4880_ =>
+ (spc_matches_prefix _s4880_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4703_ _) =>
- (match (string_drop _s4702_ _s4703_) with
- | _s4704_ =>
- (reg_name_matches_prefix _s4704_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4881_ _) =>
+ (match (string_drop _s4880_ _s4881_) with
+ | _s4882_ =>
+ (reg_name_matches_prefix _s4882_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4705_ _) =>
- (match (string_drop _s4704_ _s4705_) with
- | _s4706_ =>
- (sep_matches_prefix _s4706_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4883_ _) =>
+ (match (string_drop _s4882_ _s4883_) with
+ | _s4884_ =>
+ (sep_matches_prefix _s4884_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4707_ _) =>
- (match (string_drop _s4706_ _s4707_) with
- | _s4708_ =>
- (reg_name_matches_prefix _s4708_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4885_ _) =>
+ (match (string_drop _s4884_ _s4885_) with
+ | _s4886_ =>
+ (reg_name_matches_prefix _s4886_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4709_ _) =>
- (match (string_drop _s4708_ _s4709_) with
- | _s4710_ =>
- (sep_matches_prefix _s4710_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4887_ _) =>
+ (match (string_drop _s4886_ _s4887_) with
+ | _s4888_ =>
+ (sep_matches_prefix _s4888_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4711_ _) =>
- (match (string_drop _s4710_ _s4711_) with
- | _s4712_ =>
- (reg_name_matches_prefix _s4712_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4889_ _) =>
+ (match (string_drop _s4888_ _s4889_) with
+ | _s4890_ =>
+ (reg_name_matches_prefix _s4890_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4713_ _) =>
- match (string_drop _s4712_
- _s4713_) with
+ | Some (rs2, existT _ _s4891_ _) =>
+ match (string_drop _s4890_
+ _s4891_) with
| s_ =>
Some (s, rd, rs1, rs2, s_)
end
@@ -45693,53 +47067,53 @@ Definition _s4697_ (_s4698_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4679_ (_s4680_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s4681_ := _s4680_ in
- (if string_startswith _s4681_ "div" then
- (match (string_drop _s4681_ (projT1 (string_length "div"))) with
- | _s4682_ =>
- (maybe_not_u_matches_prefix _s4682_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s4857_ (_s4858_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s4859_ := _s4858_ in
+ (if string_startswith _s4859_ "div" then
+ (match (string_drop _s4859_ (projT1 (string_length "div"))) with
+ | _s4860_ =>
+ (maybe_not_u_matches_prefix _s4860_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s4683_ _) =>
- (match (string_drop _s4682_ _s4683_) with
- | _s4684_ =>
- (spc_matches_prefix _s4684_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s4861_ _) =>
+ (match (string_drop _s4860_ _s4861_) with
+ | _s4862_ =>
+ (spc_matches_prefix _s4862_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4685_ _) =>
- (match (string_drop _s4684_ _s4685_) with
- | _s4686_ =>
- (reg_name_matches_prefix _s4686_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4863_ _) =>
+ (match (string_drop _s4862_ _s4863_) with
+ | _s4864_ =>
+ (reg_name_matches_prefix _s4864_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4687_ _) =>
- (match (string_drop _s4686_ _s4687_) with
- | _s4688_ =>
- (sep_matches_prefix _s4688_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4865_ _) =>
+ (match (string_drop _s4864_ _s4865_) with
+ | _s4866_ =>
+ (sep_matches_prefix _s4866_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4689_ _) =>
- (match (string_drop _s4688_ _s4689_) with
- | _s4690_ =>
- (reg_name_matches_prefix _s4690_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4867_ _) =>
+ (match (string_drop _s4866_ _s4867_) with
+ | _s4868_ =>
+ (reg_name_matches_prefix _s4868_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4691_ _) =>
- (match (string_drop _s4690_ _s4691_) with
- | _s4692_ =>
- (sep_matches_prefix _s4692_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4869_ _) =>
+ (match (string_drop _s4868_ _s4869_) with
+ | _s4870_ =>
+ (sep_matches_prefix _s4870_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4693_ _) =>
- (match (string_drop _s4692_ _s4693_) with
- | _s4694_ =>
- (reg_name_matches_prefix _s4694_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4871_ _) =>
+ (match (string_drop _s4870_ _s4871_) with
+ | _s4872_ =>
+ (reg_name_matches_prefix _s4872_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4695_ _) =>
- match (string_drop _s4694_
- _s4695_) with
+ | Some (rs2, existT _ _s4873_ _) =>
+ match (string_drop _s4872_
+ _s4873_) with
| s_ =>
Some (s, rd, rs1, rs2, s_)
end
@@ -45780,52 +47154,52 @@ Definition _s4679_ (_s4680_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4662_ (_s4663_ : string)
+Definition _s4840_ (_s4841_ : string)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s4663_ with
- | _s4664_ =>
- (mul_mnemonic_matches_prefix _s4664_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
+ (match _s4841_ with
+ | _s4842_ =>
+ (mul_mnemonic_matches_prefix _s4842_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some ((high, signed1, signed2), existT _ _s4665_ _) =>
- (match (string_drop _s4664_ _s4665_) with
- | _s4666_ =>
- (spc_matches_prefix _s4666_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some ((high, signed1, signed2), existT _ _s4843_ _) =>
+ (match (string_drop _s4842_ _s4843_) with
+ | _s4844_ =>
+ (spc_matches_prefix _s4844_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4667_ _) =>
- (match (string_drop _s4666_ _s4667_) with
- | _s4668_ =>
- (reg_name_matches_prefix _s4668_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4845_ _) =>
+ (match (string_drop _s4844_ _s4845_) with
+ | _s4846_ =>
+ (reg_name_matches_prefix _s4846_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4669_ _) =>
- (match (string_drop _s4668_ _s4669_) with
- | _s4670_ =>
- (sep_matches_prefix _s4670_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4847_ _) =>
+ (match (string_drop _s4846_ _s4847_) with
+ | _s4848_ =>
+ (sep_matches_prefix _s4848_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4671_ _) =>
- (match (string_drop _s4670_ _s4671_) with
- | _s4672_ =>
- (reg_name_matches_prefix _s4672_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4849_ _) =>
+ (match (string_drop _s4848_ _s4849_) with
+ | _s4850_ =>
+ (reg_name_matches_prefix _s4850_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4673_ _) =>
- (match (string_drop _s4672_ _s4673_) with
- | _s4674_ =>
- (sep_matches_prefix _s4674_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4851_ _) =>
+ (match (string_drop _s4850_ _s4851_) with
+ | _s4852_ =>
+ (sep_matches_prefix _s4852_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4675_ _) =>
- (match (string_drop _s4674_ _s4675_) with
- | _s4676_ =>
- (reg_name_matches_prefix _s4676_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4853_ _) =>
+ (match (string_drop _s4852_ _s4853_) with
+ | _s4854_ =>
+ (reg_name_matches_prefix _s4854_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4677_ _) =>
- match (string_drop _s4676_
- _s4677_) with
+ | Some (rs2, existT _ _s4855_ _) =>
+ match (string_drop _s4854_
+ _s4855_) with
| s_ =>
Some
(high, signed1, signed2, rd, rs1, rs2, s_)
@@ -45865,33 +47239,33 @@ Definition _s4662_ (_s4663_ : string)
end)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4650_ (_s4651_ : string) : M (option ((mword 5 * mword 5 * string))) :=
- let _s4652_ := _s4651_ in
- (if string_startswith _s4652_ "c.add" then
- (match (string_drop _s4652_ (projT1 (string_length "c.add"))) with
- | _s4653_ =>
- (spc_matches_prefix _s4653_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4828_ (_s4829_ : string) : M (option ((mword 5 * mword 5 * string))) :=
+ let _s4830_ := _s4829_ in
+ (if string_startswith _s4830_ "c.add" then
+ (match (string_drop _s4830_ (projT1 (string_length "c.add"))) with
+ | _s4831_ =>
+ (spc_matches_prefix _s4831_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4654_ _) =>
- (match (string_drop _s4653_ _s4654_) with
- | _s4655_ =>
- (reg_name_matches_prefix _s4655_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4832_ _) =>
+ (match (string_drop _s4831_ _s4832_) with
+ | _s4833_ =>
+ (reg_name_matches_prefix _s4833_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4656_ _) =>
- (match (string_drop _s4655_ _s4656_) with
- | _s4657_ =>
- (sep_matches_prefix _s4657_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4834_ _) =>
+ (match (string_drop _s4833_ _s4834_) with
+ | _s4835_ =>
+ (sep_matches_prefix _s4835_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4658_ _) =>
- (match (string_drop _s4657_ _s4658_) with
- | _s4659_ =>
- (reg_name_matches_prefix _s4659_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4836_ _) =>
+ (match (string_drop _s4835_ _s4836_) with
+ | _s4837_ =>
+ (reg_name_matches_prefix _s4837_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4660_ _) =>
- match (string_drop _s4659_ _s4660_) with
+ | Some (rs2, existT _ _s4838_ _) =>
+ match (string_drop _s4837_ _s4838_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -45916,39 +47290,39 @@ Definition _s4650_ (_s4651_ : string) : M (option ((mword 5 * mword 5 * string))
else returnm None)
: M (option ((mword 5 * mword 5 * string))).
-Definition _s4646_ (_s4647_ : string) : option string :=
- let _s4648_ := _s4647_ in
- if string_startswith _s4648_ "c.ebreak" then
- match (string_drop _s4648_ (projT1 (string_length "c.ebreak"))) with | s_ => Some s_ end
+Definition _s4824_ (_s4825_ : string) : option string :=
+ let _s4826_ := _s4825_ in
+ if string_startswith _s4826_ "c.ebreak" then
+ match (string_drop _s4826_ (projT1 (string_length "c.ebreak"))) with | s_ => Some s_ end
else None.
-Definition _s4634_ (_s4635_ : string) : M (option ((mword 5 * mword 5 * string))) :=
- let _s4636_ := _s4635_ in
- (if string_startswith _s4636_ "c.mv" then
- (match (string_drop _s4636_ (projT1 (string_length "c.mv"))) with
- | _s4637_ =>
- (spc_matches_prefix _s4637_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4812_ (_s4813_ : string) : M (option ((mword 5 * mword 5 * string))) :=
+ let _s4814_ := _s4813_ in
+ (if string_startswith _s4814_ "c.mv" then
+ (match (string_drop _s4814_ (projT1 (string_length "c.mv"))) with
+ | _s4815_ =>
+ (spc_matches_prefix _s4815_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4638_ _) =>
- (match (string_drop _s4637_ _s4638_) with
- | _s4639_ =>
- (reg_name_matches_prefix _s4639_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4816_ _) =>
+ (match (string_drop _s4815_ _s4816_) with
+ | _s4817_ =>
+ (reg_name_matches_prefix _s4817_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4640_ _) =>
- (match (string_drop _s4639_ _s4640_) with
- | _s4641_ =>
- (sep_matches_prefix _s4641_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4818_ _) =>
+ (match (string_drop _s4817_ _s4818_) with
+ | _s4819_ =>
+ (sep_matches_prefix _s4819_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4642_ _) =>
- (match (string_drop _s4641_ _s4642_) with
- | _s4643_ =>
- (reg_name_matches_prefix _s4643_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4820_ _) =>
+ (match (string_drop _s4819_ _s4820_) with
+ | _s4821_ =>
+ (reg_name_matches_prefix _s4821_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4644_ _) =>
- match (string_drop _s4643_ _s4644_) with
+ | Some (rs2, existT _ _s4822_ _) =>
+ match (string_drop _s4821_ _s4822_) with
| s_ => Some (rd, rs2, s_)
end
| _ => None
@@ -45973,21 +47347,21 @@ Definition _s4634_ (_s4635_ : string) : M (option ((mword 5 * mword 5 * string))
else returnm None)
: M (option ((mword 5 * mword 5 * string))).
-Definition _s4626_ (_s4627_ : string) : M (option ((mword 5 * string))) :=
- let _s4628_ := _s4627_ in
- (if string_startswith _s4628_ "c.jalr" then
- (match (string_drop _s4628_ (projT1 (string_length "c.jalr"))) with
- | _s4629_ =>
- (spc_matches_prefix _s4629_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4804_ (_s4805_ : string) : M (option ((mword 5 * string))) :=
+ let _s4806_ := _s4805_ in
+ (if string_startswith _s4806_ "c.jalr" then
+ (match (string_drop _s4806_ (projT1 (string_length "c.jalr"))) with
+ | _s4807_ =>
+ (spc_matches_prefix _s4807_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4630_ _) =>
- (match (string_drop _s4629_ _s4630_) with
- | _s4631_ =>
- (reg_name_matches_prefix _s4631_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4808_ _) =>
+ (match (string_drop _s4807_ _s4808_) with
+ | _s4809_ =>
+ (reg_name_matches_prefix _s4809_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s4632_ _) =>
- match (string_drop _s4631_ _s4632_) with | s_ => Some (rs1, s_) end
+ | Some (rs1, existT _ _s4810_ _) =>
+ match (string_drop _s4809_ _s4810_) with | s_ => Some (rs1, s_) end
| _ => None
end)
end)
@@ -46000,21 +47374,21 @@ Definition _s4626_ (_s4627_ : string) : M (option ((mword 5 * string))) :=
else returnm None)
: M (option ((mword 5 * string))).
-Definition _s4618_ (_s4619_ : string) : M (option ((mword 5 * string))) :=
- let _s4620_ := _s4619_ in
- (if string_startswith _s4620_ "c.jr" then
- (match (string_drop _s4620_ (projT1 (string_length "c.jr"))) with
- | _s4621_ =>
- (spc_matches_prefix _s4621_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4796_ (_s4797_ : string) : M (option ((mword 5 * string))) :=
+ let _s4798_ := _s4797_ in
+ (if string_startswith _s4798_ "c.jr" then
+ (match (string_drop _s4798_ (projT1 (string_length "c.jr"))) with
+ | _s4799_ =>
+ (spc_matches_prefix _s4799_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4622_ _) =>
- (match (string_drop _s4621_ _s4622_) with
- | _s4623_ =>
- (reg_name_matches_prefix _s4623_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4800_ _) =>
+ (match (string_drop _s4799_ _s4800_) with
+ | _s4801_ =>
+ (reg_name_matches_prefix _s4801_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s4624_ _) =>
- match (string_drop _s4623_ _s4624_) with | s_ => Some (rs1, s_) end
+ | Some (rs1, existT _ _s4802_ _) =>
+ match (string_drop _s4801_ _s4802_) with | s_ => Some (rs1, s_) end
| _ => None
end)
end)
@@ -46027,31 +47401,31 @@ Definition _s4618_ (_s4619_ : string) : M (option ((mword 5 * string))) :=
else returnm None)
: M (option ((mword 5 * string))).
-Definition _s4606_ (_s4607_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4608_ := _s4607_ in
- (if string_startswith _s4608_ "c.sdsp" then
- (match (string_drop _s4608_ (projT1 (string_length "c.sdsp"))) with
- | _s4609_ =>
- (spc_matches_prefix _s4609_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4784_ (_s4785_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4786_ := _s4785_ in
+ (if string_startswith _s4786_ "c.sdsp" then
+ (match (string_drop _s4786_ (projT1 (string_length "c.sdsp"))) with
+ | _s4787_ =>
+ (spc_matches_prefix _s4787_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4610_ _) =>
- (match (string_drop _s4609_ _s4610_) with
- | _s4611_ =>
- (reg_name_matches_prefix _s4611_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4788_ _) =>
+ (match (string_drop _s4787_ _s4788_) with
+ | _s4789_ =>
+ (reg_name_matches_prefix _s4789_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s4612_ _) =>
- (match (string_drop _s4611_ _s4612_) with
- | _s4613_ =>
- (sep_matches_prefix _s4613_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4790_ _) =>
+ (match (string_drop _s4789_ _s4790_) with
+ | _s4791_ =>
+ (sep_matches_prefix _s4791_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4614_ _) =>
- match (string_drop _s4613_ _s4614_) with
- | _s4615_ =>
- match (hex_bits_6_matches_prefix _s4615_) with
- | Some (uimm, existT _ _s4616_ _) =>
- match (string_drop _s4615_ _s4616_) with
+ | Some (tt, existT _ _s4792_ _) =>
+ match (string_drop _s4791_ _s4792_) with
+ | _s4793_ =>
+ match (hex_bits_6_matches_prefix _s4793_) with
+ | Some (uimm, existT _ _s4794_ _) =>
+ match (string_drop _s4793_ _s4794_) with
| s_ => Some (rs2, uimm, s_)
end
| _ => None
@@ -46074,31 +47448,31 @@ Definition _s4606_ (_s4607_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4594_ (_s4595_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4596_ := _s4595_ in
- (if string_startswith _s4596_ "c.swsp" then
- (match (string_drop _s4596_ (projT1 (string_length "c.swsp"))) with
- | _s4597_ =>
- (spc_matches_prefix _s4597_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4772_ (_s4773_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4774_ := _s4773_ in
+ (if string_startswith _s4774_ "c.swsp" then
+ (match (string_drop _s4774_ (projT1 (string_length "c.swsp"))) with
+ | _s4775_ =>
+ (spc_matches_prefix _s4775_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4598_ _) =>
- (match (string_drop _s4597_ _s4598_) with
- | _s4599_ =>
- (reg_name_matches_prefix _s4599_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4776_ _) =>
+ (match (string_drop _s4775_ _s4776_) with
+ | _s4777_ =>
+ (reg_name_matches_prefix _s4777_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4600_ _) =>
- (match (string_drop _s4599_ _s4600_) with
- | _s4601_ =>
- (sep_matches_prefix _s4601_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4778_ _) =>
+ (match (string_drop _s4777_ _s4778_) with
+ | _s4779_ =>
+ (sep_matches_prefix _s4779_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4602_ _) =>
- match (string_drop _s4601_ _s4602_) with
- | _s4603_ =>
- match (hex_bits_6_matches_prefix _s4603_) with
- | Some (uimm, existT _ _s4604_ _) =>
- match (string_drop _s4603_ _s4604_) with
+ | Some (tt, existT _ _s4780_ _) =>
+ match (string_drop _s4779_ _s4780_) with
+ | _s4781_ =>
+ match (hex_bits_6_matches_prefix _s4781_) with
+ | Some (uimm, existT _ _s4782_ _) =>
+ match (string_drop _s4781_ _s4782_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -46121,31 +47495,31 @@ Definition _s4594_ (_s4595_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4582_ (_s4583_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4584_ := _s4583_ in
- (if string_startswith _s4584_ "c.ldsp" then
- (match (string_drop _s4584_ (projT1 (string_length "c.ldsp"))) with
- | _s4585_ =>
- (spc_matches_prefix _s4585_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4760_ (_s4761_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4762_ := _s4761_ in
+ (if string_startswith _s4762_ "c.ldsp" then
+ (match (string_drop _s4762_ (projT1 (string_length "c.ldsp"))) with
+ | _s4763_ =>
+ (spc_matches_prefix _s4763_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4586_ _) =>
- (match (string_drop _s4585_ _s4586_) with
- | _s4587_ =>
- (reg_name_matches_prefix _s4587_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4764_ _) =>
+ (match (string_drop _s4763_ _s4764_) with
+ | _s4765_ =>
+ (reg_name_matches_prefix _s4765_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4588_ _) =>
- (match (string_drop _s4587_ _s4588_) with
- | _s4589_ =>
- (sep_matches_prefix _s4589_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4766_ _) =>
+ (match (string_drop _s4765_ _s4766_) with
+ | _s4767_ =>
+ (sep_matches_prefix _s4767_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4590_ _) =>
- match (string_drop _s4589_ _s4590_) with
- | _s4591_ =>
- match (hex_bits_6_matches_prefix _s4591_) with
- | Some (uimm, existT _ _s4592_ _) =>
- match (string_drop _s4591_ _s4592_) with
+ | Some (tt, existT _ _s4768_ _) =>
+ match (string_drop _s4767_ _s4768_) with
+ | _s4769_ =>
+ match (hex_bits_6_matches_prefix _s4769_) with
+ | Some (uimm, existT _ _s4770_ _) =>
+ match (string_drop _s4769_ _s4770_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -46168,31 +47542,31 @@ Definition _s4582_ (_s4583_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4570_ (_s4571_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4572_ := _s4571_ in
- (if string_startswith _s4572_ "c.lwsp" then
- (match (string_drop _s4572_ (projT1 (string_length "c.lwsp"))) with
- | _s4573_ =>
- (spc_matches_prefix _s4573_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4748_ (_s4749_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4750_ := _s4749_ in
+ (if string_startswith _s4750_ "c.lwsp" then
+ (match (string_drop _s4750_ (projT1 (string_length "c.lwsp"))) with
+ | _s4751_ =>
+ (spc_matches_prefix _s4751_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4574_ _) =>
- (match (string_drop _s4573_ _s4574_) with
- | _s4575_ =>
- (reg_name_matches_prefix _s4575_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4752_ _) =>
+ (match (string_drop _s4751_ _s4752_) with
+ | _s4753_ =>
+ (reg_name_matches_prefix _s4753_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4576_ _) =>
- (match (string_drop _s4575_ _s4576_) with
- | _s4577_ =>
- (sep_matches_prefix _s4577_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4754_ _) =>
+ (match (string_drop _s4753_ _s4754_) with
+ | _s4755_ =>
+ (sep_matches_prefix _s4755_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4578_ _) =>
- match (string_drop _s4577_ _s4578_) with
- | _s4579_ =>
- match (hex_bits_6_matches_prefix _s4579_) with
- | Some (uimm, existT _ _s4580_ _) =>
- match (string_drop _s4579_ _s4580_) with
+ | Some (tt, existT _ _s4756_ _) =>
+ match (string_drop _s4755_ _s4756_) with
+ | _s4757_ =>
+ match (hex_bits_6_matches_prefix _s4757_) with
+ | Some (uimm, existT _ _s4758_ _) =>
+ match (string_drop _s4757_ _s4758_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -46215,31 +47589,31 @@ Definition _s4570_ (_s4571_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4558_ (_s4559_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4560_ := _s4559_ in
- (if string_startswith _s4560_ "c.slli" then
- (match (string_drop _s4560_ (projT1 (string_length "c.slli"))) with
- | _s4561_ =>
- (spc_matches_prefix _s4561_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4736_ (_s4737_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4738_ := _s4737_ in
+ (if string_startswith _s4738_ "c.slli" then
+ (match (string_drop _s4738_ (projT1 (string_length "c.slli"))) with
+ | _s4739_ =>
+ (spc_matches_prefix _s4739_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4562_ _) =>
- (match (string_drop _s4561_ _s4562_) with
- | _s4563_ =>
- (reg_name_matches_prefix _s4563_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4740_ _) =>
+ (match (string_drop _s4739_ _s4740_) with
+ | _s4741_ =>
+ (reg_name_matches_prefix _s4741_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4564_ _) =>
- (match (string_drop _s4563_ _s4564_) with
- | _s4565_ =>
- (sep_matches_prefix _s4565_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4742_ _) =>
+ (match (string_drop _s4741_ _s4742_) with
+ | _s4743_ =>
+ (sep_matches_prefix _s4743_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4566_ _) =>
- match (string_drop _s4565_ _s4566_) with
- | _s4567_ =>
- match (hex_bits_6_matches_prefix _s4567_) with
- | Some (shamt, existT _ _s4568_ _) =>
- match (string_drop _s4567_ _s4568_) with
+ | Some (tt, existT _ _s4744_ _) =>
+ match (string_drop _s4743_ _s4744_) with
+ | _s4745_ =>
+ match (hex_bits_6_matches_prefix _s4745_) with
+ | Some (shamt, existT _ _s4746_ _) =>
+ match (string_drop _s4745_ _s4746_) with
| s_ => Some (rsd, shamt, s_)
end
| _ => None
@@ -46262,31 +47636,31 @@ Definition _s4558_ (_s4559_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4546_ (_s4547_ : string) : M (option ((mword 3 * mword 8 * string))) :=
- let _s4548_ := _s4547_ in
- (if string_startswith _s4548_ "c.bnez" then
- (match (string_drop _s4548_ (projT1 (string_length "c.bnez"))) with
- | _s4549_ =>
- (spc_matches_prefix _s4549_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4724_ (_s4725_ : string) : M (option ((mword 3 * mword 8 * string))) :=
+ let _s4726_ := _s4725_ in
+ (if string_startswith _s4726_ "c.bnez" then
+ (match (string_drop _s4726_ (projT1 (string_length "c.bnez"))) with
+ | _s4727_ =>
+ (spc_matches_prefix _s4727_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4550_ _) =>
- (match (string_drop _s4549_ _s4550_) with
- | _s4551_ =>
- (creg_name_matches_prefix _s4551_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4728_ _) =>
+ (match (string_drop _s4727_ _s4728_) with
+ | _s4729_ =>
+ (creg_name_matches_prefix _s4729_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s4552_ _) =>
- (match (string_drop _s4551_ _s4552_) with
- | _s4553_ =>
- (sep_matches_prefix _s4553_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s4730_ _) =>
+ (match (string_drop _s4729_ _s4730_) with
+ | _s4731_ =>
+ (sep_matches_prefix _s4731_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4554_ _) =>
- match (string_drop _s4553_ _s4554_) with
- | _s4555_ =>
- match (hex_bits_8_matches_prefix _s4555_) with
- | Some (imm, existT _ _s4556_ _) =>
- match (string_drop _s4555_ _s4556_) with
+ | Some (tt, existT _ _s4732_ _) =>
+ match (string_drop _s4731_ _s4732_) with
+ | _s4733_ =>
+ match (hex_bits_8_matches_prefix _s4733_) with
+ | Some (imm, existT _ _s4734_ _) =>
+ match (string_drop _s4733_ _s4734_) with
| s_ => Some (rs, imm, s_)
end
| _ => None
@@ -46309,31 +47683,31 @@ Definition _s4546_ (_s4547_ : string) : M (option ((mword 3 * mword 8 * string))
else returnm None)
: M (option ((mword 3 * mword 8 * string))).
-Definition _s4534_ (_s4535_ : string) : M (option ((mword 3 * mword 8 * string))) :=
- let _s4536_ := _s4535_ in
- (if string_startswith _s4536_ "c.beqz" then
- (match (string_drop _s4536_ (projT1 (string_length "c.beqz"))) with
- | _s4537_ =>
- (spc_matches_prefix _s4537_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4712_ (_s4713_ : string) : M (option ((mword 3 * mword 8 * string))) :=
+ let _s4714_ := _s4713_ in
+ (if string_startswith _s4714_ "c.beqz" then
+ (match (string_drop _s4714_ (projT1 (string_length "c.beqz"))) with
+ | _s4715_ =>
+ (spc_matches_prefix _s4715_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4538_ _) =>
- (match (string_drop _s4537_ _s4538_) with
- | _s4539_ =>
- (creg_name_matches_prefix _s4539_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4716_ _) =>
+ (match (string_drop _s4715_ _s4716_) with
+ | _s4717_ =>
+ (creg_name_matches_prefix _s4717_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s4540_ _) =>
- (match (string_drop _s4539_ _s4540_) with
- | _s4541_ =>
- (sep_matches_prefix _s4541_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s4718_ _) =>
+ (match (string_drop _s4717_ _s4718_) with
+ | _s4719_ =>
+ (sep_matches_prefix _s4719_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4542_ _) =>
- match (string_drop _s4541_ _s4542_) with
- | _s4543_ =>
- match (hex_bits_8_matches_prefix _s4543_) with
- | Some (imm, existT _ _s4544_ _) =>
- match (string_drop _s4543_ _s4544_) with
+ | Some (tt, existT _ _s4720_ _) =>
+ match (string_drop _s4719_ _s4720_) with
+ | _s4721_ =>
+ match (hex_bits_8_matches_prefix _s4721_) with
+ | Some (imm, existT _ _s4722_ _) =>
+ match (string_drop _s4721_ _s4722_) with
| s_ => Some (rs, imm, s_)
end
| _ => None
@@ -46356,19 +47730,19 @@ Definition _s4534_ (_s4535_ : string) : M (option ((mword 3 * mword 8 * string))
else returnm None)
: M (option ((mword 3 * mword 8 * string))).
-Definition _s4526_ (_s4527_ : string) : M (option ((mword 11 * string))) :=
- let _s4528_ := _s4527_ in
- (if string_startswith _s4528_ "c.j" then
- (match (string_drop _s4528_ (projT1 (string_length "c.j"))) with
- | _s4529_ =>
- (spc_matches_prefix _s4529_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4704_ (_s4705_ : string) : M (option ((mword 11 * string))) :=
+ let _s4706_ := _s4705_ in
+ (if string_startswith _s4706_ "c.j" then
+ (match (string_drop _s4706_ (projT1 (string_length "c.j"))) with
+ | _s4707_ =>
+ (spc_matches_prefix _s4707_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s4530_ _) =>
- match (string_drop _s4529_ _s4530_) with
- | _s4531_ =>
- match (hex_bits_11_matches_prefix _s4531_) with
- | Some (imm, existT _ _s4532_ _) =>
- match (string_drop _s4531_ _s4532_) with | s_ => Some (imm, s_) end
+ | Some (tt, existT _ _s4708_ _) =>
+ match (string_drop _s4707_ _s4708_) with
+ | _s4709_ =>
+ match (hex_bits_11_matches_prefix _s4709_) with
+ | Some (imm, existT _ _s4710_ _) =>
+ match (string_drop _s4709_ _s4710_) with | s_ => Some (imm, s_) end
| _ => None
end
end
@@ -46379,33 +47753,33 @@ Definition _s4526_ (_s4527_ : string) : M (option ((mword 11 * string))) :=
else returnm None)
: M (option ((mword 11 * string))).
-Definition _s4514_ (_s4515_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s4516_ := _s4515_ in
- (if string_startswith _s4516_ "c.addw" then
- (match (string_drop _s4516_ (projT1 (string_length "c.addw"))) with
- | _s4517_ =>
- (spc_matches_prefix _s4517_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4692_ (_s4693_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s4694_ := _s4693_ in
+ (if string_startswith _s4694_ "c.addw" then
+ (match (string_drop _s4694_ (projT1 (string_length "c.addw"))) with
+ | _s4695_ =>
+ (spc_matches_prefix _s4695_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4518_ _) =>
- (match (string_drop _s4517_ _s4518_) with
- | _s4519_ =>
- (creg_name_matches_prefix _s4519_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4696_ _) =>
+ (match (string_drop _s4695_ _s4696_) with
+ | _s4697_ =>
+ (creg_name_matches_prefix _s4697_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4520_ _) =>
- (match (string_drop _s4519_ _s4520_) with
- | _s4521_ =>
- (sep_matches_prefix _s4521_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4698_ _) =>
+ (match (string_drop _s4697_ _s4698_) with
+ | _s4699_ =>
+ (sep_matches_prefix _s4699_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4522_ _) =>
- (match (string_drop _s4521_ _s4522_) with
- | _s4523_ =>
- (creg_name_matches_prefix _s4523_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4700_ _) =>
+ (match (string_drop _s4699_ _s4700_) with
+ | _s4701_ =>
+ (creg_name_matches_prefix _s4701_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4524_ _) =>
- match (string_drop _s4523_ _s4524_) with
+ | Some (rs2, existT _ _s4702_ _) =>
+ match (string_drop _s4701_ _s4702_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -46430,33 +47804,33 @@ Definition _s4514_ (_s4515_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s4502_ (_s4503_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s4504_ := _s4503_ in
- (if string_startswith _s4504_ "c.subw" then
- (match (string_drop _s4504_ (projT1 (string_length "c.subw"))) with
- | _s4505_ =>
- (spc_matches_prefix _s4505_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4680_ (_s4681_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s4682_ := _s4681_ in
+ (if string_startswith _s4682_ "c.subw" then
+ (match (string_drop _s4682_ (projT1 (string_length "c.subw"))) with
+ | _s4683_ =>
+ (spc_matches_prefix _s4683_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4506_ _) =>
- (match (string_drop _s4505_ _s4506_) with
- | _s4507_ =>
- (creg_name_matches_prefix _s4507_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4684_ _) =>
+ (match (string_drop _s4683_ _s4684_) with
+ | _s4685_ =>
+ (creg_name_matches_prefix _s4685_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4508_ _) =>
- (match (string_drop _s4507_ _s4508_) with
- | _s4509_ =>
- (sep_matches_prefix _s4509_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4686_ _) =>
+ (match (string_drop _s4685_ _s4686_) with
+ | _s4687_ =>
+ (sep_matches_prefix _s4687_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4510_ _) =>
- (match (string_drop _s4509_ _s4510_) with
- | _s4511_ =>
- (creg_name_matches_prefix _s4511_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4688_ _) =>
+ (match (string_drop _s4687_ _s4688_) with
+ | _s4689_ =>
+ (creg_name_matches_prefix _s4689_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4512_ _) =>
- match (string_drop _s4511_ _s4512_) with
+ | Some (rs2, existT _ _s4690_ _) =>
+ match (string_drop _s4689_ _s4690_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -46481,33 +47855,33 @@ Definition _s4502_ (_s4503_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s4490_ (_s4491_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s4492_ := _s4491_ in
- (if string_startswith _s4492_ "c.and" then
- (match (string_drop _s4492_ (projT1 (string_length "c.and"))) with
- | _s4493_ =>
- (spc_matches_prefix _s4493_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4668_ (_s4669_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s4670_ := _s4669_ in
+ (if string_startswith _s4670_ "c.and" then
+ (match (string_drop _s4670_ (projT1 (string_length "c.and"))) with
+ | _s4671_ =>
+ (spc_matches_prefix _s4671_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4494_ _) =>
- (match (string_drop _s4493_ _s4494_) with
- | _s4495_ =>
- (creg_name_matches_prefix _s4495_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4672_ _) =>
+ (match (string_drop _s4671_ _s4672_) with
+ | _s4673_ =>
+ (creg_name_matches_prefix _s4673_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4496_ _) =>
- (match (string_drop _s4495_ _s4496_) with
- | _s4497_ =>
- (sep_matches_prefix _s4497_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4674_ _) =>
+ (match (string_drop _s4673_ _s4674_) with
+ | _s4675_ =>
+ (sep_matches_prefix _s4675_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4498_ _) =>
- (match (string_drop _s4497_ _s4498_) with
- | _s4499_ =>
- (creg_name_matches_prefix _s4499_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4676_ _) =>
+ (match (string_drop _s4675_ _s4676_) with
+ | _s4677_ =>
+ (creg_name_matches_prefix _s4677_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4500_ _) =>
- match (string_drop _s4499_ _s4500_) with
+ | Some (rs2, existT _ _s4678_ _) =>
+ match (string_drop _s4677_ _s4678_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -46532,33 +47906,33 @@ Definition _s4490_ (_s4491_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s4478_ (_s4479_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s4480_ := _s4479_ in
- (if string_startswith _s4480_ "c.or" then
- (match (string_drop _s4480_ (projT1 (string_length "c.or"))) with
- | _s4481_ =>
- (spc_matches_prefix _s4481_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4656_ (_s4657_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s4658_ := _s4657_ in
+ (if string_startswith _s4658_ "c.or" then
+ (match (string_drop _s4658_ (projT1 (string_length "c.or"))) with
+ | _s4659_ =>
+ (spc_matches_prefix _s4659_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4482_ _) =>
- (match (string_drop _s4481_ _s4482_) with
- | _s4483_ =>
- (creg_name_matches_prefix _s4483_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4660_ _) =>
+ (match (string_drop _s4659_ _s4660_) with
+ | _s4661_ =>
+ (creg_name_matches_prefix _s4661_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4484_ _) =>
- (match (string_drop _s4483_ _s4484_) with
- | _s4485_ =>
- (sep_matches_prefix _s4485_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4662_ _) =>
+ (match (string_drop _s4661_ _s4662_) with
+ | _s4663_ =>
+ (sep_matches_prefix _s4663_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4486_ _) =>
- (match (string_drop _s4485_ _s4486_) with
- | _s4487_ =>
- (creg_name_matches_prefix _s4487_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4664_ _) =>
+ (match (string_drop _s4663_ _s4664_) with
+ | _s4665_ =>
+ (creg_name_matches_prefix _s4665_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4488_ _) =>
- match (string_drop _s4487_ _s4488_) with
+ | Some (rs2, existT _ _s4666_ _) =>
+ match (string_drop _s4665_ _s4666_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -46583,33 +47957,33 @@ Definition _s4478_ (_s4479_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s4466_ (_s4467_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s4468_ := _s4467_ in
- (if string_startswith _s4468_ "c.xor" then
- (match (string_drop _s4468_ (projT1 (string_length "c.xor"))) with
- | _s4469_ =>
- (spc_matches_prefix _s4469_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4644_ (_s4645_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s4646_ := _s4645_ in
+ (if string_startswith _s4646_ "c.xor" then
+ (match (string_drop _s4646_ (projT1 (string_length "c.xor"))) with
+ | _s4647_ =>
+ (spc_matches_prefix _s4647_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4470_ _) =>
- (match (string_drop _s4469_ _s4470_) with
- | _s4471_ =>
- (creg_name_matches_prefix _s4471_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4648_ _) =>
+ (match (string_drop _s4647_ _s4648_) with
+ | _s4649_ =>
+ (creg_name_matches_prefix _s4649_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4472_ _) =>
- (match (string_drop _s4471_ _s4472_) with
- | _s4473_ =>
- (sep_matches_prefix _s4473_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4650_ _) =>
+ (match (string_drop _s4649_ _s4650_) with
+ | _s4651_ =>
+ (sep_matches_prefix _s4651_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4474_ _) =>
- (match (string_drop _s4473_ _s4474_) with
- | _s4475_ =>
- (creg_name_matches_prefix _s4475_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4652_ _) =>
+ (match (string_drop _s4651_ _s4652_) with
+ | _s4653_ =>
+ (creg_name_matches_prefix _s4653_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4476_ _) =>
- match (string_drop _s4475_ _s4476_) with
+ | Some (rs2, existT _ _s4654_ _) =>
+ match (string_drop _s4653_ _s4654_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -46634,33 +48008,33 @@ Definition _s4466_ (_s4467_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s4454_ (_s4455_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s4456_ := _s4455_ in
- (if string_startswith _s4456_ "c.sub" then
- (match (string_drop _s4456_ (projT1 (string_length "c.sub"))) with
- | _s4457_ =>
- (spc_matches_prefix _s4457_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4632_ (_s4633_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s4634_ := _s4633_ in
+ (if string_startswith _s4634_ "c.sub" then
+ (match (string_drop _s4634_ (projT1 (string_length "c.sub"))) with
+ | _s4635_ =>
+ (spc_matches_prefix _s4635_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4458_ _) =>
- (match (string_drop _s4457_ _s4458_) with
- | _s4459_ =>
- (creg_name_matches_prefix _s4459_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4636_ _) =>
+ (match (string_drop _s4635_ _s4636_) with
+ | _s4637_ =>
+ (creg_name_matches_prefix _s4637_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4460_ _) =>
- (match (string_drop _s4459_ _s4460_) with
- | _s4461_ =>
- (sep_matches_prefix _s4461_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4638_ _) =>
+ (match (string_drop _s4637_ _s4638_) with
+ | _s4639_ =>
+ (sep_matches_prefix _s4639_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4462_ _) =>
- (match (string_drop _s4461_ _s4462_) with
- | _s4463_ =>
- (creg_name_matches_prefix _s4463_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4640_ _) =>
+ (match (string_drop _s4639_ _s4640_) with
+ | _s4641_ =>
+ (creg_name_matches_prefix _s4641_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4464_ _) =>
- match (string_drop _s4463_ _s4464_) with
+ | Some (rs2, existT _ _s4642_ _) =>
+ match (string_drop _s4641_ _s4642_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -46685,31 +48059,31 @@ Definition _s4454_ (_s4455_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s4442_ (_s4443_ : string) : M (option ((mword 3 * mword 6 * string))) :=
- let _s4444_ := _s4443_ in
- (if string_startswith _s4444_ "c.andi" then
- (match (string_drop _s4444_ (projT1 (string_length "c.andi"))) with
- | _s4445_ =>
- (spc_matches_prefix _s4445_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4620_ (_s4621_ : string) : M (option ((mword 3 * mword 6 * string))) :=
+ let _s4622_ := _s4621_ in
+ (if string_startswith _s4622_ "c.andi" then
+ (match (string_drop _s4622_ (projT1 (string_length "c.andi"))) with
+ | _s4623_ =>
+ (spc_matches_prefix _s4623_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4446_ _) =>
- (match (string_drop _s4445_ _s4446_) with
- | _s4447_ =>
- (creg_name_matches_prefix _s4447_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4624_ _) =>
+ (match (string_drop _s4623_ _s4624_) with
+ | _s4625_ =>
+ (creg_name_matches_prefix _s4625_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4448_ _) =>
- (match (string_drop _s4447_ _s4448_) with
- | _s4449_ =>
- (sep_matches_prefix _s4449_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4626_ _) =>
+ (match (string_drop _s4625_ _s4626_) with
+ | _s4627_ =>
+ (sep_matches_prefix _s4627_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4450_ _) =>
- match (string_drop _s4449_ _s4450_) with
- | _s4451_ =>
- match (hex_bits_6_matches_prefix _s4451_) with
- | Some (imm, existT _ _s4452_ _) =>
- match (string_drop _s4451_ _s4452_) with
+ | Some (tt, existT _ _s4628_ _) =>
+ match (string_drop _s4627_ _s4628_) with
+ | _s4629_ =>
+ match (hex_bits_6_matches_prefix _s4629_) with
+ | Some (imm, existT _ _s4630_ _) =>
+ match (string_drop _s4629_ _s4630_) with
| s_ => Some (rsd, imm, s_)
end
| _ => None
@@ -46732,31 +48106,31 @@ Definition _s4442_ (_s4443_ : string) : M (option ((mword 3 * mword 6 * string))
else returnm None)
: M (option ((mword 3 * mword 6 * string))).
-Definition _s4430_ (_s4431_ : string) : M (option ((mword 3 * mword 6 * string))) :=
- let _s4432_ := _s4431_ in
- (if string_startswith _s4432_ "c.srai" then
- (match (string_drop _s4432_ (projT1 (string_length "c.srai"))) with
- | _s4433_ =>
- (spc_matches_prefix _s4433_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4608_ (_s4609_ : string) : M (option ((mword 3 * mword 6 * string))) :=
+ let _s4610_ := _s4609_ in
+ (if string_startswith _s4610_ "c.srai" then
+ (match (string_drop _s4610_ (projT1 (string_length "c.srai"))) with
+ | _s4611_ =>
+ (spc_matches_prefix _s4611_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4434_ _) =>
- (match (string_drop _s4433_ _s4434_) with
- | _s4435_ =>
- (creg_name_matches_prefix _s4435_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4612_ _) =>
+ (match (string_drop _s4611_ _s4612_) with
+ | _s4613_ =>
+ (creg_name_matches_prefix _s4613_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4436_ _) =>
- (match (string_drop _s4435_ _s4436_) with
- | _s4437_ =>
- (sep_matches_prefix _s4437_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4614_ _) =>
+ (match (string_drop _s4613_ _s4614_) with
+ | _s4615_ =>
+ (sep_matches_prefix _s4615_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4438_ _) =>
- match (string_drop _s4437_ _s4438_) with
- | _s4439_ =>
- match (hex_bits_6_matches_prefix _s4439_) with
- | Some (shamt, existT _ _s4440_ _) =>
- match (string_drop _s4439_ _s4440_) with
+ | Some (tt, existT _ _s4616_ _) =>
+ match (string_drop _s4615_ _s4616_) with
+ | _s4617_ =>
+ match (hex_bits_6_matches_prefix _s4617_) with
+ | Some (shamt, existT _ _s4618_ _) =>
+ match (string_drop _s4617_ _s4618_) with
| s_ => Some (rsd, shamt, s_)
end
| _ => None
@@ -46779,31 +48153,31 @@ Definition _s4430_ (_s4431_ : string) : M (option ((mword 3 * mword 6 * string))
else returnm None)
: M (option ((mword 3 * mword 6 * string))).
-Definition _s4418_ (_s4419_ : string) : M (option ((mword 3 * mword 6 * string))) :=
- let _s4420_ := _s4419_ in
- (if string_startswith _s4420_ "c.srli" then
- (match (string_drop _s4420_ (projT1 (string_length "c.srli"))) with
- | _s4421_ =>
- (spc_matches_prefix _s4421_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4596_ (_s4597_ : string) : M (option ((mword 3 * mword 6 * string))) :=
+ let _s4598_ := _s4597_ in
+ (if string_startswith _s4598_ "c.srli" then
+ (match (string_drop _s4598_ (projT1 (string_length "c.srli"))) with
+ | _s4599_ =>
+ (spc_matches_prefix _s4599_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4422_ _) =>
- (match (string_drop _s4421_ _s4422_) with
- | _s4423_ =>
- (creg_name_matches_prefix _s4423_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4600_ _) =>
+ (match (string_drop _s4599_ _s4600_) with
+ | _s4601_ =>
+ (creg_name_matches_prefix _s4601_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4424_ _) =>
- (match (string_drop _s4423_ _s4424_) with
- | _s4425_ =>
- (sep_matches_prefix _s4425_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4602_ _) =>
+ (match (string_drop _s4601_ _s4602_) with
+ | _s4603_ =>
+ (sep_matches_prefix _s4603_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4426_ _) =>
- match (string_drop _s4425_ _s4426_) with
- | _s4427_ =>
- match (hex_bits_6_matches_prefix _s4427_) with
- | Some (shamt, existT _ _s4428_ _) =>
- match (string_drop _s4427_ _s4428_) with
+ | Some (tt, existT _ _s4604_ _) =>
+ match (string_drop _s4603_ _s4604_) with
+ | _s4605_ =>
+ match (hex_bits_6_matches_prefix _s4605_) with
+ | Some (shamt, existT _ _s4606_ _) =>
+ match (string_drop _s4605_ _s4606_) with
| s_ => Some (rsd, shamt, s_)
end
| _ => None
@@ -46826,31 +48200,31 @@ Definition _s4418_ (_s4419_ : string) : M (option ((mword 3 * mword 6 * string))
else returnm None)
: M (option ((mword 3 * mword 6 * string))).
-Definition _s4406_ (_s4407_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4408_ := _s4407_ in
- (if string_startswith _s4408_ "c.lui" then
- (match (string_drop _s4408_ (projT1 (string_length "c.lui"))) with
- | _s4409_ =>
- (spc_matches_prefix _s4409_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4584_ (_s4585_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4586_ := _s4585_ in
+ (if string_startswith _s4586_ "c.lui" then
+ (match (string_drop _s4586_ (projT1 (string_length "c.lui"))) with
+ | _s4587_ =>
+ (spc_matches_prefix _s4587_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4410_ _) =>
- (match (string_drop _s4409_ _s4410_) with
- | _s4411_ =>
- (reg_name_matches_prefix _s4411_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4588_ _) =>
+ (match (string_drop _s4587_ _s4588_) with
+ | _s4589_ =>
+ (reg_name_matches_prefix _s4589_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4412_ _) =>
- (match (string_drop _s4411_ _s4412_) with
- | _s4413_ =>
- (sep_matches_prefix _s4413_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4590_ _) =>
+ (match (string_drop _s4589_ _s4590_) with
+ | _s4591_ =>
+ (sep_matches_prefix _s4591_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4414_ _) =>
- match (string_drop _s4413_ _s4414_) with
- | _s4415_ =>
- match (hex_bits_6_matches_prefix _s4415_) with
- | Some (imm, existT _ _s4416_ _) =>
- match (string_drop _s4415_ _s4416_) with
+ | Some (tt, existT _ _s4592_ _) =>
+ match (string_drop _s4591_ _s4592_) with
+ | _s4593_ =>
+ match (hex_bits_6_matches_prefix _s4593_) with
+ | Some (imm, existT _ _s4594_ _) =>
+ match (string_drop _s4593_ _s4594_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -46873,19 +48247,19 @@ Definition _s4406_ (_s4407_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4398_ (_s4399_ : string) : M (option ((mword 6 * string))) :=
- let _s4400_ := _s4399_ in
- (if string_startswith _s4400_ "c.addi16sp" then
- (match (string_drop _s4400_ (projT1 (string_length "c.addi16sp"))) with
- | _s4401_ =>
- (spc_matches_prefix _s4401_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4576_ (_s4577_ : string) : M (option ((mword 6 * string))) :=
+ let _s4578_ := _s4577_ in
+ (if string_startswith _s4578_ "c.addi16sp" then
+ (match (string_drop _s4578_ (projT1 (string_length "c.addi16sp"))) with
+ | _s4579_ =>
+ (spc_matches_prefix _s4579_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s4402_ _) =>
- match (string_drop _s4401_ _s4402_) with
- | _s4403_ =>
- match (hex_bits_6_matches_prefix _s4403_) with
- | Some (imm, existT _ _s4404_ _) =>
- match (string_drop _s4403_ _s4404_) with | s_ => Some (imm, s_) end
+ | Some (tt, existT _ _s4580_ _) =>
+ match (string_drop _s4579_ _s4580_) with
+ | _s4581_ =>
+ match (hex_bits_6_matches_prefix _s4581_) with
+ | Some (imm, existT _ _s4582_ _) =>
+ match (string_drop _s4581_ _s4582_) with | s_ => Some (imm, s_) end
| _ => None
end
end
@@ -46896,31 +48270,31 @@ Definition _s4398_ (_s4399_ : string) : M (option ((mword 6 * string))) :=
else returnm None)
: M (option ((mword 6 * string))).
-Definition _s4386_ (_s4387_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4388_ := _s4387_ in
- (if string_startswith _s4388_ "c.li" then
- (match (string_drop _s4388_ (projT1 (string_length "c.li"))) with
- | _s4389_ =>
- (spc_matches_prefix _s4389_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4564_ (_s4565_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4566_ := _s4565_ in
+ (if string_startswith _s4566_ "c.li" then
+ (match (string_drop _s4566_ (projT1 (string_length "c.li"))) with
+ | _s4567_ =>
+ (spc_matches_prefix _s4567_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4390_ _) =>
- (match (string_drop _s4389_ _s4390_) with
- | _s4391_ =>
- (reg_name_matches_prefix _s4391_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4568_ _) =>
+ (match (string_drop _s4567_ _s4568_) with
+ | _s4569_ =>
+ (reg_name_matches_prefix _s4569_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4392_ _) =>
- (match (string_drop _s4391_ _s4392_) with
- | _s4393_ =>
- (sep_matches_prefix _s4393_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4570_ _) =>
+ (match (string_drop _s4569_ _s4570_) with
+ | _s4571_ =>
+ (sep_matches_prefix _s4571_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4394_ _) =>
- match (string_drop _s4393_ _s4394_) with
- | _s4395_ =>
- match (hex_bits_6_matches_prefix _s4395_) with
- | Some (imm, existT _ _s4396_ _) =>
- match (string_drop _s4395_ _s4396_) with
+ | Some (tt, existT _ _s4572_ _) =>
+ match (string_drop _s4571_ _s4572_) with
+ | _s4573_ =>
+ match (hex_bits_6_matches_prefix _s4573_) with
+ | Some (imm, existT _ _s4574_ _) =>
+ match (string_drop _s4573_ _s4574_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -46943,31 +48317,31 @@ Definition _s4386_ (_s4387_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4374_ (_s4375_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4376_ := _s4375_ in
- (if string_startswith _s4376_ "c.addiw" then
- (match (string_drop _s4376_ (projT1 (string_length "c.addiw"))) with
- | _s4377_ =>
- (spc_matches_prefix _s4377_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4552_ (_s4553_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4554_ := _s4553_ in
+ (if string_startswith _s4554_ "c.addiw" then
+ (match (string_drop _s4554_ (projT1 (string_length "c.addiw"))) with
+ | _s4555_ =>
+ (spc_matches_prefix _s4555_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4378_ _) =>
- (match (string_drop _s4377_ _s4378_) with
- | _s4379_ =>
- (reg_name_matches_prefix _s4379_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4556_ _) =>
+ (match (string_drop _s4555_ _s4556_) with
+ | _s4557_ =>
+ (reg_name_matches_prefix _s4557_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4380_ _) =>
- (match (string_drop _s4379_ _s4380_) with
- | _s4381_ =>
- (sep_matches_prefix _s4381_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4558_ _) =>
+ (match (string_drop _s4557_ _s4558_) with
+ | _s4559_ =>
+ (sep_matches_prefix _s4559_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4382_ _) =>
- match (string_drop _s4381_ _s4382_) with
- | _s4383_ =>
- match (hex_bits_6_matches_prefix _s4383_) with
- | Some (imm, existT _ _s4384_ _) =>
- match (string_drop _s4383_ _s4384_) with
+ | Some (tt, existT _ _s4560_ _) =>
+ match (string_drop _s4559_ _s4560_) with
+ | _s4561_ =>
+ match (hex_bits_6_matches_prefix _s4561_) with
+ | Some (imm, existT _ _s4562_ _) =>
+ match (string_drop _s4561_ _s4562_) with
| s_ => Some (rsd, imm, s_)
end
| _ => None
@@ -46990,23 +48364,23 @@ Definition _s4374_ (_s4375_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4366_ (_s4367_ : string) : M (option ((mword 11 * string))) :=
- let _s4368_ := _s4367_ in
- (if string_startswith _s4368_ "c.jal" then
- (match (string_drop _s4368_ (projT1 (string_length "c.jal"))) with
- | _s4369_ =>
- (spc_matches_prefix _s4369_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4544_ (_s4545_ : string) : M (option ((mword 11 * string))) :=
+ let _s4546_ := _s4545_ in
+ (if string_startswith _s4546_ "c.jal" then
+ (match (string_drop _s4546_ (projT1 (string_length "c.jal"))) with
+ | _s4547_ =>
+ (spc_matches_prefix _s4547_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s4370_ _) =>
- match (string_drop _s4369_ _s4370_) with
- | _s4371_ =>
- match (hex_bits_12_matches_prefix _s4371_) with
- | Some (v__1112, existT _ _s4372_ _) =>
- if eq_vec (subrange_vec_dec v__1112 0 0) ('b"0" : mword (0 - 0 + 1))
+ | Some (tt, existT _ _s4548_ _) =>
+ match (string_drop _s4547_ _s4548_) with
+ | _s4549_ =>
+ match (hex_bits_12_matches_prefix _s4549_) with
+ | Some (v__1216, existT _ _s4550_ _) =>
+ if eq_vec (subrange_vec_dec v__1216 0 0) ('b"0" : mword (0 - 0 + 1))
then
- let imm : mword 11 := subrange_vec_dec v__1112 11 1 in
- let imm : mword 11 := subrange_vec_dec v__1112 11 1 in
- match (string_drop _s4371_ _s4372_) with | s_ => Some (imm, s_) end
+ let imm : mword 11 := subrange_vec_dec v__1216 11 1 in
+ let imm : mword 11 := subrange_vec_dec v__1216 11 1 in
+ match (string_drop _s4549_ _s4550_) with | s_ => Some (imm, s_) end
else None
| _ => None
end
@@ -47018,31 +48392,31 @@ Definition _s4366_ (_s4367_ : string) : M (option ((mword 11 * string))) :=
else returnm None)
: M (option ((mword 11 * string))).
-Definition _s4354_ (_s4355_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s4356_ := _s4355_ in
- (if string_startswith _s4356_ "c.addi" then
- (match (string_drop _s4356_ (projT1 (string_length "c.addi"))) with
- | _s4357_ =>
- (spc_matches_prefix _s4357_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4532_ (_s4533_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s4534_ := _s4533_ in
+ (if string_startswith _s4534_ "c.addi" then
+ (match (string_drop _s4534_ (projT1 (string_length "c.addi"))) with
+ | _s4535_ =>
+ (spc_matches_prefix _s4535_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4358_ _) =>
- (match (string_drop _s4357_ _s4358_) with
- | _s4359_ =>
- (reg_name_matches_prefix _s4359_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4536_ _) =>
+ (match (string_drop _s4535_ _s4536_) with
+ | _s4537_ =>
+ (reg_name_matches_prefix _s4537_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s4360_ _) =>
- (match (string_drop _s4359_ _s4360_) with
- | _s4361_ =>
- (sep_matches_prefix _s4361_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s4538_ _) =>
+ (match (string_drop _s4537_ _s4538_) with
+ | _s4539_ =>
+ (sep_matches_prefix _s4539_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4362_ _) =>
- match (string_drop _s4361_ _s4362_) with
- | _s4363_ =>
- match (hex_bits_6_matches_prefix _s4363_) with
- | Some (nzi, existT _ _s4364_ _) =>
- match (string_drop _s4363_ _s4364_) with
+ | Some (tt, existT _ _s4540_ _) =>
+ match (string_drop _s4539_ _s4540_) with
+ | _s4541_ =>
+ match (hex_bits_6_matches_prefix _s4541_) with
+ | Some (nzi, existT _ _s4542_ _) =>
+ match (string_drop _s4541_ _s4542_) with
| s_ => Some (rsd, nzi, s_)
end
| _ => None
@@ -47065,50 +48439,50 @@ Definition _s4354_ (_s4355_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s4338_ (_s4339_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s4340_ := _s4339_ in
- (if string_startswith _s4340_ "c.sd" then
- (match (string_drop _s4340_ (projT1 (string_length "c.sd"))) with
- | _s4341_ =>
- (spc_matches_prefix _s4341_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4516_ (_s4517_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s4518_ := _s4517_ in
+ (if string_startswith _s4518_ "c.sd" then
+ (match (string_drop _s4518_ (projT1 (string_length "c.sd"))) with
+ | _s4519_ =>
+ (spc_matches_prefix _s4519_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4342_ _) =>
- (match (string_drop _s4341_ _s4342_) with
- | _s4343_ =>
- (creg_name_matches_prefix _s4343_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4520_ _) =>
+ (match (string_drop _s4519_ _s4520_) with
+ | _s4521_ =>
+ (creg_name_matches_prefix _s4521_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s4344_ _) =>
- (match (string_drop _s4343_ _s4344_) with
- | _s4345_ =>
- (sep_matches_prefix _s4345_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s4522_ _) =>
+ (match (string_drop _s4521_ _s4522_) with
+ | _s4523_ =>
+ (sep_matches_prefix _s4523_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4346_ _) =>
- (match (string_drop _s4345_ _s4346_) with
- | _s4347_ =>
- (creg_name_matches_prefix _s4347_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4524_ _) =>
+ (match (string_drop _s4523_ _s4524_) with
+ | _s4525_ =>
+ (creg_name_matches_prefix _s4525_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s4348_ _) =>
- (match (string_drop _s4347_ _s4348_) with
- | _s4349_ =>
- (sep_matches_prefix _s4349_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s4526_ _) =>
+ (match (string_drop _s4525_ _s4526_) with
+ | _s4527_ =>
+ (sep_matches_prefix _s4527_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4350_ _) =>
- match (string_drop _s4349_ _s4350_) with
- | _s4351_ =>
- match (hex_bits_8_matches_prefix _s4351_) with
- | Some (v__1114, existT _ _s4352_ _) =>
- if eq_vec (subrange_vec_dec v__1114 2 0)
+ | Some (tt, existT _ _s4528_ _) =>
+ match (string_drop _s4527_ _s4528_) with
+ | _s4529_ =>
+ match (hex_bits_8_matches_prefix _s4529_) with
+ | Some (v__1218, existT _ _s4530_ _) =>
+ if eq_vec (subrange_vec_dec v__1218 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1114 7 3 in
+ subrange_vec_dec v__1218 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1114 7 3 in
- match (string_drop _s4351_ _s4352_) with
+ subrange_vec_dec v__1218 7 3 in
+ match (string_drop _s4529_ _s4530_) with
| s_ => Some (rsc1, rsc2, uimm, s_)
end
else None
@@ -47142,50 +48516,50 @@ Definition _s4338_ (_s4339_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s4322_ (_s4323_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s4324_ := _s4323_ in
- (if string_startswith _s4324_ "c.sw" then
- (match (string_drop _s4324_ (projT1 (string_length "c.sw"))) with
- | _s4325_ =>
- (spc_matches_prefix _s4325_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4500_ (_s4501_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s4502_ := _s4501_ in
+ (if string_startswith _s4502_ "c.sw" then
+ (match (string_drop _s4502_ (projT1 (string_length "c.sw"))) with
+ | _s4503_ =>
+ (spc_matches_prefix _s4503_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4326_ _) =>
- (match (string_drop _s4325_ _s4326_) with
- | _s4327_ =>
- (creg_name_matches_prefix _s4327_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4504_ _) =>
+ (match (string_drop _s4503_ _s4504_) with
+ | _s4505_ =>
+ (creg_name_matches_prefix _s4505_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s4328_ _) =>
- (match (string_drop _s4327_ _s4328_) with
- | _s4329_ =>
- (sep_matches_prefix _s4329_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s4506_ _) =>
+ (match (string_drop _s4505_ _s4506_) with
+ | _s4507_ =>
+ (sep_matches_prefix _s4507_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4330_ _) =>
- (match (string_drop _s4329_ _s4330_) with
- | _s4331_ =>
- (creg_name_matches_prefix _s4331_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4508_ _) =>
+ (match (string_drop _s4507_ _s4508_) with
+ | _s4509_ =>
+ (creg_name_matches_prefix _s4509_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s4332_ _) =>
- (match (string_drop _s4331_ _s4332_) with
- | _s4333_ =>
- (sep_matches_prefix _s4333_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s4510_ _) =>
+ (match (string_drop _s4509_ _s4510_) with
+ | _s4511_ =>
+ (sep_matches_prefix _s4511_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4334_ _) =>
- match (string_drop _s4333_ _s4334_) with
- | _s4335_ =>
- match (hex_bits_7_matches_prefix _s4335_) with
- | Some (v__1116, existT _ _s4336_ _) =>
- if eq_vec (subrange_vec_dec v__1116 1 0)
+ | Some (tt, existT _ _s4512_ _) =>
+ match (string_drop _s4511_ _s4512_) with
+ | _s4513_ =>
+ match (hex_bits_7_matches_prefix _s4513_) with
+ | Some (v__1220, existT _ _s4514_ _) =>
+ if eq_vec (subrange_vec_dec v__1220 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1116 6 2 in
+ subrange_vec_dec v__1220 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1116 6 2 in
- match (string_drop _s4335_ _s4336_) with
+ subrange_vec_dec v__1220 6 2 in
+ match (string_drop _s4513_ _s4514_) with
| s_ => Some (rsc1, rsc2, uimm, s_)
end
else None
@@ -47219,50 +48593,50 @@ Definition _s4322_ (_s4323_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s4306_ (_s4307_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s4308_ := _s4307_ in
- (if string_startswith _s4308_ "c.ld" then
- (match (string_drop _s4308_ (projT1 (string_length "c.ld"))) with
- | _s4309_ =>
- (spc_matches_prefix _s4309_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4484_ (_s4485_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s4486_ := _s4485_ in
+ (if string_startswith _s4486_ "c.ld" then
+ (match (string_drop _s4486_ (projT1 (string_length "c.ld"))) with
+ | _s4487_ =>
+ (spc_matches_prefix _s4487_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4310_ _) =>
- (match (string_drop _s4309_ _s4310_) with
- | _s4311_ =>
- (creg_name_matches_prefix _s4311_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4488_ _) =>
+ (match (string_drop _s4487_ _s4488_) with
+ | _s4489_ =>
+ (creg_name_matches_prefix _s4489_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s4312_ _) =>
- (match (string_drop _s4311_ _s4312_) with
- | _s4313_ =>
- (sep_matches_prefix _s4313_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s4490_ _) =>
+ (match (string_drop _s4489_ _s4490_) with
+ | _s4491_ =>
+ (sep_matches_prefix _s4491_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4314_ _) =>
- (match (string_drop _s4313_ _s4314_) with
- | _s4315_ =>
- (creg_name_matches_prefix _s4315_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4492_ _) =>
+ (match (string_drop _s4491_ _s4492_) with
+ | _s4493_ =>
+ (creg_name_matches_prefix _s4493_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s4316_ _) =>
- (match (string_drop _s4315_ _s4316_) with
- | _s4317_ =>
- (sep_matches_prefix _s4317_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s4494_ _) =>
+ (match (string_drop _s4493_ _s4494_) with
+ | _s4495_ =>
+ (sep_matches_prefix _s4495_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4318_ _) =>
- match (string_drop _s4317_ _s4318_) with
- | _s4319_ =>
- match (hex_bits_8_matches_prefix _s4319_) with
- | Some (v__1118, existT _ _s4320_ _) =>
- if eq_vec (subrange_vec_dec v__1118 2 0)
+ | Some (tt, existT _ _s4496_ _) =>
+ match (string_drop _s4495_ _s4496_) with
+ | _s4497_ =>
+ match (hex_bits_8_matches_prefix _s4497_) with
+ | Some (v__1222, existT _ _s4498_ _) =>
+ if eq_vec (subrange_vec_dec v__1222 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1118 7 3 in
+ subrange_vec_dec v__1222 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1118 7 3 in
- match (string_drop _s4319_ _s4320_) with
+ subrange_vec_dec v__1222 7 3 in
+ match (string_drop _s4497_ _s4498_) with
| s_ => Some (rdc, rsc, uimm, s_)
end
else None
@@ -47296,50 +48670,50 @@ Definition _s4306_ (_s4307_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s4290_ (_s4291_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s4292_ := _s4291_ in
- (if string_startswith _s4292_ "c.lw" then
- (match (string_drop _s4292_ (projT1 (string_length "c.lw"))) with
- | _s4293_ =>
- (spc_matches_prefix _s4293_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4468_ (_s4469_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s4470_ := _s4469_ in
+ (if string_startswith _s4470_ "c.lw" then
+ (match (string_drop _s4470_ (projT1 (string_length "c.lw"))) with
+ | _s4471_ =>
+ (spc_matches_prefix _s4471_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4294_ _) =>
- (match (string_drop _s4293_ _s4294_) with
- | _s4295_ =>
- (creg_name_matches_prefix _s4295_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4472_ _) =>
+ (match (string_drop _s4471_ _s4472_) with
+ | _s4473_ =>
+ (creg_name_matches_prefix _s4473_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s4296_ _) =>
- (match (string_drop _s4295_ _s4296_) with
- | _s4297_ =>
- (sep_matches_prefix _s4297_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s4474_ _) =>
+ (match (string_drop _s4473_ _s4474_) with
+ | _s4475_ =>
+ (sep_matches_prefix _s4475_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4298_ _) =>
- (match (string_drop _s4297_ _s4298_) with
- | _s4299_ =>
- (creg_name_matches_prefix _s4299_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4476_ _) =>
+ (match (string_drop _s4475_ _s4476_) with
+ | _s4477_ =>
+ (creg_name_matches_prefix _s4477_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s4300_ _) =>
- (match (string_drop _s4299_ _s4300_) with
- | _s4301_ =>
- (sep_matches_prefix _s4301_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s4478_ _) =>
+ (match (string_drop _s4477_ _s4478_) with
+ | _s4479_ =>
+ (sep_matches_prefix _s4479_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4302_ _) =>
- match (string_drop _s4301_ _s4302_) with
- | _s4303_ =>
- match (hex_bits_7_matches_prefix _s4303_) with
- | Some (v__1120, existT _ _s4304_ _) =>
- if eq_vec (subrange_vec_dec v__1120 1 0)
+ | Some (tt, existT _ _s4480_ _) =>
+ match (string_drop _s4479_ _s4480_) with
+ | _s4481_ =>
+ match (hex_bits_7_matches_prefix _s4481_) with
+ | Some (v__1224, existT _ _s4482_ _) =>
+ if eq_vec (subrange_vec_dec v__1224 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1120 6 2 in
+ subrange_vec_dec v__1224 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1120 6 2 in
- match (string_drop _s4303_ _s4304_) with
+ subrange_vec_dec v__1224 6 2 in
+ match (string_drop _s4481_ _s4482_) with
| s_ => Some (rdc, rsc, uimm, s_)
end
else None
@@ -47373,36 +48747,36 @@ Definition _s4290_ (_s4291_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s4278_ (_s4279_ : string) : M (option ((mword 3 * mword 8 * string))) :=
- let _s4280_ := _s4279_ in
- (if string_startswith _s4280_ "c.addi4spn" then
- (match (string_drop _s4280_ (projT1 (string_length "c.addi4spn"))) with
- | _s4281_ =>
- (spc_matches_prefix _s4281_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4456_ (_s4457_ : string) : M (option ((mword 3 * mword 8 * string))) :=
+ let _s4458_ := _s4457_ in
+ (if string_startswith _s4458_ "c.addi4spn" then
+ (match (string_drop _s4458_ (projT1 (string_length "c.addi4spn"))) with
+ | _s4459_ =>
+ (spc_matches_prefix _s4459_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4282_ _) =>
- (match (string_drop _s4281_ _s4282_) with
- | _s4283_ =>
- (creg_name_matches_prefix _s4283_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4460_ _) =>
+ (match (string_drop _s4459_ _s4460_) with
+ | _s4461_ =>
+ (creg_name_matches_prefix _s4461_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s4284_ _) =>
- (match (string_drop _s4283_ _s4284_) with
- | _s4285_ =>
- (sep_matches_prefix _s4285_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s4462_ _) =>
+ (match (string_drop _s4461_ _s4462_) with
+ | _s4463_ =>
+ (sep_matches_prefix _s4463_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4286_ _) =>
- match (string_drop _s4285_ _s4286_) with
- | _s4287_ =>
- match (hex_bits_10_matches_prefix _s4287_) with
- | Some (v__1122, existT _ _s4288_ _) =>
- if eq_vec (subrange_vec_dec v__1122 1 0)
+ | Some (tt, existT _ _s4464_ _) =>
+ match (string_drop _s4463_ _s4464_) with
+ | _s4465_ =>
+ match (hex_bits_10_matches_prefix _s4465_) with
+ | Some (v__1226, existT _ _s4466_ _) =>
+ if eq_vec (subrange_vec_dec v__1226 1 0)
('b"00"
: mword (1 - 0 + 1)) then
- let nzimm : mword 8 := subrange_vec_dec v__1122 9 2 in
- let nzimm : mword 8 := subrange_vec_dec v__1122 9 2 in
- match (string_drop _s4287_ _s4288_) with
+ let nzimm : mword 8 := subrange_vec_dec v__1226 9 2 in
+ let nzimm : mword 8 := subrange_vec_dec v__1226 9 2 in
+ match (string_drop _s4465_ _s4466_) with
| s_ => Some (rdc, nzimm, s_)
end
else None
@@ -47426,100 +48800,100 @@ Definition _s4278_ (_s4279_ : string) : M (option ((mword 3 * mword 8 * string))
else returnm None)
: M (option ((mword 3 * mword 8 * string))).
-Definition _s4274_ (_s4275_ : string) : option string :=
- let _s4276_ := _s4275_ in
- if string_startswith _s4276_ "c.nop" then
- match (string_drop _s4276_ (projT1 (string_length "c.nop"))) with | s_ => Some s_ end
+Definition _s4452_ (_s4453_ : string) : option string :=
+ let _s4454_ := _s4453_ in
+ if string_startswith _s4454_ "c.nop" then
+ match (string_drop _s4454_ (projT1 (string_length "c.nop"))) with | s_ => Some s_ end
else None.
-Definition _s4248_ (_s4249_ : string)
+Definition _s4426_ (_s4427_ : string)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s4249_ with
- | _s4250_ =>
- (amo_mnemonic_matches_prefix _s4250_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
+ (match _s4427_ with
+ | _s4428_ =>
+ (amo_mnemonic_matches_prefix _s4428_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4251_ _) =>
- let _s4252_ := string_drop _s4250_ _s4251_ in
- (if string_startswith _s4252_ "." then
- (match (string_drop _s4252_ (projT1 (string_length "."))) with
- | _s4253_ =>
- (size_mnemonic_matches_prefix _s4253_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4429_ _) =>
+ let _s4430_ := string_drop _s4428_ _s4429_ in
+ (if string_startswith _s4430_ "." then
+ (match (string_drop _s4430_ (projT1 (string_length "."))) with
+ | _s4431_ =>
+ (size_mnemonic_matches_prefix _s4431_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (width, existT _ _s4254_ _) =>
- (match (string_drop _s4253_ _s4254_) with
- | _s4255_ =>
- (maybe_aq_matches_prefix _s4255_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s4432_ _) =>
+ (match (string_drop _s4431_ _s4432_) with
+ | _s4433_ =>
+ (maybe_aq_matches_prefix _s4433_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s4256_ _) =>
- (match (string_drop _s4255_ _s4256_) with
- | _s4257_ =>
- (maybe_rl_matches_prefix _s4257_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s4434_ _) =>
+ (match (string_drop _s4433_ _s4434_) with
+ | _s4435_ =>
+ (maybe_rl_matches_prefix _s4435_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s4258_ _) =>
- (match (string_drop _s4257_ _s4258_) with
- | _s4259_ =>
- (spc_matches_prefix _s4259_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s4436_ _) =>
+ (match (string_drop _s4435_ _s4436_) with
+ | _s4437_ =>
+ (spc_matches_prefix _s4437_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s4260_ _) =>
- (match (string_drop _s4259_ _s4260_) with
- | _s4261_ =>
- (reg_name_matches_prefix _s4261_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4438_ _) =>
+ (match (string_drop _s4437_ _s4438_) with
+ | _s4439_ =>
+ (reg_name_matches_prefix _s4439_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s4262_ _) =>
- (match (string_drop _s4261_ _s4262_) with
- | _s4263_ =>
- (sep_matches_prefix _s4263_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4440_ _) =>
+ (match (string_drop _s4439_ _s4440_) with
+ | _s4441_ =>
+ (sep_matches_prefix _s4441_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s4264_ _) =>
- (match (string_drop _s4263_ _s4264_) with
- | _s4265_ =>
- (reg_name_matches_prefix _s4265_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4442_ _) =>
+ (match (string_drop _s4441_ _s4442_) with
+ | _s4443_ =>
+ (reg_name_matches_prefix _s4443_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (rs2, existT _ _s4266_ _) =>
- (match (string_drop _s4265_
- _s4266_) with
- | _s4267_ =>
+ | Some (rs2, existT _ _s4444_ _) =>
+ (match (string_drop _s4443_
+ _s4444_) with
+ | _s4445_ =>
(sep_matches_prefix
- _s4267_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4445_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s4268_ _) =>
- let _s4269_ :=
- string_drop _s4267_
- _s4268_ in
+ (tt, existT _ _s4446_ _) =>
+ let _s4447_ :=
+ string_drop _s4445_
+ _s4446_ in
(if string_startswith
- _s4269_ "(" then
+ _s4447_ "(" then
(match (string_drop
- _s4269_
+ _s4447_
(projT1
(string_length
"("))) with
- | _s4270_ =>
+ | _s4448_ =>
(reg_name_matches_prefix
- _s4270_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4448_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (rs1, existT _ _s4271_ _) =>
- let _s4272_ :=
+ (rs1, existT _ _s4449_ _) =>
+ let _s4450_ :=
string_drop
- _s4270_
- _s4271_ in
+ _s4448_
+ _s4449_ in
if string_startswith
- _s4272_
+ _s4450_
")"
then
match (string_drop
- _s4272_
+ _s4450_
(projT1
(string_length
")"))) with
@@ -47584,70 +48958,70 @@ Definition _s4248_ (_s4249_ : string)
end)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4226_ (_s4227_ : string)
+Definition _s4404_ (_s4405_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s4228_ := _s4227_ in
- (if string_startswith _s4228_ "sc." then
- (match (string_drop _s4228_ (projT1 (string_length "sc."))) with
- | _s4229_ =>
- (size_mnemonic_matches_prefix _s4229_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s4406_ := _s4405_ in
+ (if string_startswith _s4406_ "sc." then
+ (match (string_drop _s4406_ (projT1 (string_length "sc."))) with
+ | _s4407_ =>
+ (size_mnemonic_matches_prefix _s4407_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s4230_ _) =>
- (match (string_drop _s4229_ _s4230_) with
- | _s4231_ =>
- (maybe_aq_matches_prefix _s4231_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s4408_ _) =>
+ (match (string_drop _s4407_ _s4408_) with
+ | _s4409_ =>
+ (maybe_aq_matches_prefix _s4409_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s4232_ _) =>
- (match (string_drop _s4231_ _s4232_) with
- | _s4233_ =>
- (maybe_rl_matches_prefix _s4233_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s4410_ _) =>
+ (match (string_drop _s4409_ _s4410_) with
+ | _s4411_ =>
+ (maybe_rl_matches_prefix _s4411_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s4234_ _) =>
- (match (string_drop _s4233_ _s4234_) with
- | _s4235_ =>
- (spc_matches_prefix _s4235_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s4412_ _) =>
+ (match (string_drop _s4411_ _s4412_) with
+ | _s4413_ =>
+ (spc_matches_prefix _s4413_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4236_ _) =>
- (match (string_drop _s4235_ _s4236_) with
- | _s4237_ =>
- (reg_name_matches_prefix _s4237_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4414_ _) =>
+ (match (string_drop _s4413_ _s4414_) with
+ | _s4415_ =>
+ (reg_name_matches_prefix _s4415_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s4238_ _) =>
- (match (string_drop _s4237_ _s4238_) with
- | _s4239_ =>
- (sep_matches_prefix _s4239_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4416_ _) =>
+ (match (string_drop _s4415_ _s4416_) with
+ | _s4417_ =>
+ (sep_matches_prefix _s4417_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4240_ _) =>
- (match (string_drop _s4239_ _s4240_) with
- | _s4241_ =>
- (reg_name_matches_prefix _s4241_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4418_ _) =>
+ (match (string_drop _s4417_ _s4418_) with
+ | _s4419_ =>
+ (reg_name_matches_prefix _s4419_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs1, existT _ _s4242_ _) =>
- (match (string_drop _s4241_ _s4242_) with
- | _s4243_ =>
- (sep_matches_prefix _s4243_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4420_ _) =>
+ (match (string_drop _s4419_ _s4420_) with
+ | _s4421_ =>
+ (sep_matches_prefix _s4421_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s4244_ _) =>
- (match (string_drop _s4243_
- _s4244_) with
- | _s4245_ =>
+ | Some (tt, existT _ _s4422_ _) =>
+ (match (string_drop _s4421_
+ _s4422_) with
+ | _s4423_ =>
(reg_name_matches_prefix
- _s4245_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4423_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rs2, existT _ _s4246_ _) =>
+ (rs2, existT _ _s4424_ _) =>
match (string_drop
- _s4245_
- _s4246_) with
+ _s4423_
+ _s4424_) with
| s_ =>
Some
(size, aq, rl, rd, rs1, rs2, s_)
@@ -47699,54 +49073,54 @@ Definition _s4226_ (_s4227_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4208_ (_s4209_ : string)
+Definition _s4386_ (_s4387_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * string))) :=
- let _s4210_ := _s4209_ in
- (if string_startswith _s4210_ "lr." then
- (match (string_drop _s4210_ (projT1 (string_length "lr."))) with
- | _s4211_ =>
- (size_mnemonic_matches_prefix _s4211_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s4388_ := _s4387_ in
+ (if string_startswith _s4388_ "lr." then
+ (match (string_drop _s4388_ (projT1 (string_length "lr."))) with
+ | _s4389_ =>
+ (size_mnemonic_matches_prefix _s4389_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s4212_ _) =>
- (match (string_drop _s4211_ _s4212_) with
- | _s4213_ =>
- (maybe_aq_matches_prefix _s4213_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s4390_ _) =>
+ (match (string_drop _s4389_ _s4390_) with
+ | _s4391_ =>
+ (maybe_aq_matches_prefix _s4391_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s4214_ _) =>
- (match (string_drop _s4213_ _s4214_) with
- | _s4215_ =>
- (maybe_rl_matches_prefix _s4215_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s4392_ _) =>
+ (match (string_drop _s4391_ _s4392_) with
+ | _s4393_ =>
+ (maybe_rl_matches_prefix _s4393_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s4216_ _) =>
- (match (string_drop _s4215_ _s4216_) with
- | _s4217_ =>
- (spc_matches_prefix _s4217_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s4394_ _) =>
+ (match (string_drop _s4393_ _s4394_) with
+ | _s4395_ =>
+ (spc_matches_prefix _s4395_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4218_ _) =>
- (match (string_drop _s4217_ _s4218_) with
- | _s4219_ =>
- (reg_name_matches_prefix _s4219_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4396_ _) =>
+ (match (string_drop _s4395_ _s4396_) with
+ | _s4397_ =>
+ (reg_name_matches_prefix _s4397_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s4220_ _) =>
- (match (string_drop _s4219_ _s4220_) with
- | _s4221_ =>
- (sep_matches_prefix _s4221_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4398_ _) =>
+ (match (string_drop _s4397_ _s4398_) with
+ | _s4399_ =>
+ (sep_matches_prefix _s4399_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4222_ _) =>
- (match (string_drop _s4221_ _s4222_) with
- | _s4223_ =>
- (reg_name_matches_prefix _s4223_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4400_ _) =>
+ (match (string_drop _s4399_ _s4400_) with
+ | _s4401_ =>
+ (reg_name_matches_prefix _s4401_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s4224_ _) =>
- match (string_drop _s4223_
- _s4224_) with
+ | Some (rs1, existT _ _s4402_ _) =>
+ match (string_drop _s4401_
+ _s4402_) with
| s_ =>
Some
(size, aq, rl, rd, rs1, s_)
@@ -47788,33 +49162,33 @@ Definition _s4208_ (_s4209_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * string))).
-Definition _s4196_ (_s4197_ : string) : M (option ((mword 5 * mword 5 * string))) :=
- let _s4198_ := _s4197_ in
- (if string_startswith _s4198_ "sfence.vma" then
- (match (string_drop _s4198_ (projT1 (string_length "sfence.vma"))) with
- | _s4199_ =>
- (spc_matches_prefix _s4199_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4374_ (_s4375_ : string) : M (option ((mword 5 * mword 5 * string))) :=
+ let _s4376_ := _s4375_ in
+ (if string_startswith _s4376_ "sfence.vma" then
+ (match (string_drop _s4376_ (projT1 (string_length "sfence.vma"))) with
+ | _s4377_ =>
+ (spc_matches_prefix _s4377_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4200_ _) =>
- (match (string_drop _s4199_ _s4200_) with
- | _s4201_ =>
- (reg_name_matches_prefix _s4201_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4378_ _) =>
+ (match (string_drop _s4377_ _s4378_) with
+ | _s4379_ =>
+ (reg_name_matches_prefix _s4379_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs1, existT _ _s4202_ _) =>
- (match (string_drop _s4201_ _s4202_) with
- | _s4203_ =>
- (sep_matches_prefix _s4203_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4380_ _) =>
+ (match (string_drop _s4379_ _s4380_) with
+ | _s4381_ =>
+ (sep_matches_prefix _s4381_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4204_ _) =>
- (match (string_drop _s4203_ _s4204_) with
- | _s4205_ =>
- (reg_name_matches_prefix _s4205_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4382_ _) =>
+ (match (string_drop _s4381_ _s4382_) with
+ | _s4383_ =>
+ (reg_name_matches_prefix _s4383_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s4206_ _) =>
- match (string_drop _s4205_ _s4206_) with
+ | Some (rs2, existT _ _s4384_ _) =>
+ match (string_drop _s4383_ _s4384_) with
| s_ => Some (rs1, rs2, s_)
end
| _ => None
@@ -47839,69 +49213,69 @@ Definition _s4196_ (_s4197_ : string) : M (option ((mword 5 * mword 5 * string))
else returnm None)
: M (option ((mword 5 * mword 5 * string))).
-Definition _s4192_ (_s4193_ : string) : option string :=
- let _s4194_ := _s4193_ in
- if string_startswith _s4194_ "wfi" then
- match (string_drop _s4194_ (projT1 (string_length "wfi"))) with | s_ => Some s_ end
+Definition _s4370_ (_s4371_ : string) : option string :=
+ let _s4372_ := _s4371_ in
+ if string_startswith _s4372_ "wfi" then
+ match (string_drop _s4372_ (projT1 (string_length "wfi"))) with | s_ => Some s_ end
else None.
-Definition _s4188_ (_s4189_ : string) : option string :=
- let _s4190_ := _s4189_ in
- if string_startswith _s4190_ "ebreak" then
- match (string_drop _s4190_ (projT1 (string_length "ebreak"))) with | s_ => Some s_ end
+Definition _s4366_ (_s4367_ : string) : option string :=
+ let _s4368_ := _s4367_ in
+ if string_startswith _s4368_ "ebreak" then
+ match (string_drop _s4368_ (projT1 (string_length "ebreak"))) with | s_ => Some s_ end
else None.
-Definition _s4184_ (_s4185_ : string) : option string :=
- let _s4186_ := _s4185_ in
- if string_startswith _s4186_ "sret" then
- match (string_drop _s4186_ (projT1 (string_length "sret"))) with | s_ => Some s_ end
+Definition _s4362_ (_s4363_ : string) : option string :=
+ let _s4364_ := _s4363_ in
+ if string_startswith _s4364_ "sret" then
+ match (string_drop _s4364_ (projT1 (string_length "sret"))) with | s_ => Some s_ end
else None.
-Definition _s4180_ (_s4181_ : string) : option string :=
- let _s4182_ := _s4181_ in
- if string_startswith _s4182_ "mret" then
- match (string_drop _s4182_ (projT1 (string_length "mret"))) with | s_ => Some s_ end
+Definition _s4358_ (_s4359_ : string) : option string :=
+ let _s4360_ := _s4359_ in
+ if string_startswith _s4360_ "mret" then
+ match (string_drop _s4360_ (projT1 (string_length "mret"))) with | s_ => Some s_ end
else None.
-Definition _s4176_ (_s4177_ : string) : option string :=
- let _s4178_ := _s4177_ in
- if string_startswith _s4178_ "ecall" then
- match (string_drop _s4178_ (projT1 (string_length "ecall"))) with | s_ => Some s_ end
+Definition _s4354_ (_s4355_ : string) : option string :=
+ let _s4356_ := _s4355_ in
+ if string_startswith _s4356_ "ecall" then
+ match (string_drop _s4356_ (projT1 (string_length "ecall"))) with | s_ => Some s_ end
else None.
-Definition _s4172_ (_s4173_ : string) : option string :=
- let _s4174_ := _s4173_ in
- if string_startswith _s4174_ "fence.i" then
- match (string_drop _s4174_ (projT1 (string_length "fence.i"))) with | s_ => Some s_ end
+Definition _s4350_ (_s4351_ : string) : option string :=
+ let _s4352_ := _s4351_ in
+ if string_startswith _s4352_ "fence.i" then
+ match (string_drop _s4352_ (projT1 (string_length "fence.i"))) with | s_ => Some s_ end
else None.
-Definition _s4160_ (_s4161_ : string) : M (option ((mword 4 * mword 4 * string))) :=
- let _s4162_ := _s4161_ in
- (if string_startswith _s4162_ "fence.tso" then
- (match (string_drop _s4162_ (projT1 (string_length "fence.tso"))) with
- | _s4163_ =>
- (spc_matches_prefix _s4163_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4338_ (_s4339_ : string) : M (option ((mword 4 * mword 4 * string))) :=
+ let _s4340_ := _s4339_ in
+ (if string_startswith _s4340_ "fence.tso" then
+ (match (string_drop _s4340_ (projT1 (string_length "fence.tso"))) with
+ | _s4341_ =>
+ (spc_matches_prefix _s4341_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4164_ _) =>
- (match (string_drop _s4163_ _s4164_) with
- | _s4165_ =>
- (fence_bits_matches_prefix _s4165_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4342_ _) =>
+ (match (string_drop _s4341_ _s4342_) with
+ | _s4343_ =>
+ (fence_bits_matches_prefix _s4343_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s4166_ _) =>
- (match (string_drop _s4165_ _s4166_) with
- | _s4167_ =>
- (sep_matches_prefix _s4167_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s4344_ _) =>
+ (match (string_drop _s4343_ _s4344_) with
+ | _s4345_ =>
+ (sep_matches_prefix _s4345_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4168_ _) =>
- (match (string_drop _s4167_ _s4168_) with
- | _s4169_ =>
- (fence_bits_matches_prefix _s4169_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4346_ _) =>
+ (match (string_drop _s4345_ _s4346_) with
+ | _s4347_ =>
+ (fence_bits_matches_prefix _s4347_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s4170_ _) =>
- match (string_drop _s4169_ _s4170_) with
+ | Some (succ, existT _ _s4348_ _) =>
+ match (string_drop _s4347_ _s4348_) with
| s_ => Some (pred, succ, s_)
end
| _ => None
@@ -47926,33 +49300,33 @@ Definition _s4160_ (_s4161_ : string) : M (option ((mword 4 * mword 4 * string))
else returnm None)
: M (option ((mword 4 * mword 4 * string))).
-Definition _s4148_ (_s4149_ : string) : M (option ((mword 4 * mword 4 * string))) :=
- let _s4150_ := _s4149_ in
- (if string_startswith _s4150_ "fence" then
- (match (string_drop _s4150_ (projT1 (string_length "fence"))) with
- | _s4151_ =>
- (spc_matches_prefix _s4151_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4326_ (_s4327_ : string) : M (option ((mword 4 * mword 4 * string))) :=
+ let _s4328_ := _s4327_ in
+ (if string_startswith _s4328_ "fence" then
+ (match (string_drop _s4328_ (projT1 (string_length "fence"))) with
+ | _s4329_ =>
+ (spc_matches_prefix _s4329_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4152_ _) =>
- (match (string_drop _s4151_ _s4152_) with
- | _s4153_ =>
- (fence_bits_matches_prefix _s4153_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4330_ _) =>
+ (match (string_drop _s4329_ _s4330_) with
+ | _s4331_ =>
+ (fence_bits_matches_prefix _s4331_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s4154_ _) =>
- (match (string_drop _s4153_ _s4154_) with
- | _s4155_ =>
- (sep_matches_prefix _s4155_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s4332_ _) =>
+ (match (string_drop _s4331_ _s4332_) with
+ | _s4333_ =>
+ (sep_matches_prefix _s4333_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4156_ _) =>
- (match (string_drop _s4155_ _s4156_) with
- | _s4157_ =>
- (fence_bits_matches_prefix _s4157_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4334_ _) =>
+ (match (string_drop _s4333_ _s4334_) with
+ | _s4335_ =>
+ (fence_bits_matches_prefix _s4335_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s4158_ _) =>
- match (string_drop _s4157_ _s4158_) with
+ | Some (succ, existT _ _s4336_ _) =>
+ match (string_drop _s4335_ _s4336_) with
| s_ => Some (pred, succ, s_)
end
| _ => None
@@ -47977,49 +49351,49 @@ Definition _s4148_ (_s4149_ : string) : M (option ((mword 4 * mword 4 * string))
else returnm None)
: M (option ((mword 4 * mword 4 * string))).
-Definition _s4131_ (_s4132_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s4132_ with
- | _s4133_ =>
- (shiftiwop_mnemonic_matches_prefix _s4133_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
+Definition _s4309_ (_s4310_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s4310_ with
+ | _s4311_ =>
+ (shiftiwop_mnemonic_matches_prefix _s4311_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4134_ _) =>
- (match (string_drop _s4133_ _s4134_) with
- | _s4135_ =>
- (spc_matches_prefix _s4135_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4312_ _) =>
+ (match (string_drop _s4311_ _s4312_) with
+ | _s4313_ =>
+ (spc_matches_prefix _s4313_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4136_ _) =>
- (match (string_drop _s4135_ _s4136_) with
- | _s4137_ =>
- (reg_name_matches_prefix _s4137_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4314_ _) =>
+ (match (string_drop _s4313_ _s4314_) with
+ | _s4315_ =>
+ (reg_name_matches_prefix _s4315_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4138_ _) =>
- (match (string_drop _s4137_ _s4138_) with
- | _s4139_ =>
- (sep_matches_prefix _s4139_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4316_ _) =>
+ (match (string_drop _s4315_ _s4316_) with
+ | _s4317_ =>
+ (sep_matches_prefix _s4317_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4140_ _) =>
- (match (string_drop _s4139_ _s4140_) with
- | _s4141_ =>
- (reg_name_matches_prefix _s4141_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4318_ _) =>
+ (match (string_drop _s4317_ _s4318_) with
+ | _s4319_ =>
+ (reg_name_matches_prefix _s4319_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4142_ _) =>
- (match (string_drop _s4141_ _s4142_) with
- | _s4143_ =>
- (sep_matches_prefix _s4143_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4320_ _) =>
+ (match (string_drop _s4319_ _s4320_) with
+ | _s4321_ =>
+ (sep_matches_prefix _s4321_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s4144_ _) =>
- match (string_drop _s4143_ _s4144_) with
- | _s4145_ =>
+ | Some (tt, existT _ _s4322_ _) =>
+ match (string_drop _s4321_ _s4322_) with
+ | _s4323_ =>
match (hex_bits_5_matches_prefix
- _s4145_) with
- | Some (shamt, existT _ _s4146_ _) =>
- match (string_drop _s4145_ _s4146_) with
+ _s4323_) with
+ | Some (shamt, existT _ _s4324_ _) =>
+ match (string_drop _s4323_ _s4324_) with
| s_ =>
Some (op, rd, rs1, shamt, s_)
end
@@ -48056,51 +49430,51 @@ Definition _s4131_ (_s4132_ : string) : M (option ((sopw * mword 5 * mword 5 * m
end)
: M (option ((sopw * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4114_ (_s4115_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s4115_ with
- | _s4116_ =>
- (rtypew_mnemonic_matches_prefix _s4116_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
+Definition _s4292_ (_s4293_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s4293_ with
+ | _s4294_ =>
+ (rtypew_mnemonic_matches_prefix _s4294_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4117_ _) =>
- (match (string_drop _s4116_ _s4117_) with
- | _s4118_ =>
- (spc_matches_prefix _s4118_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4295_ _) =>
+ (match (string_drop _s4294_ _s4295_) with
+ | _s4296_ =>
+ (spc_matches_prefix _s4296_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4119_ _) =>
- (match (string_drop _s4118_ _s4119_) with
- | _s4120_ =>
- (reg_name_matches_prefix _s4120_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4297_ _) =>
+ (match (string_drop _s4296_ _s4297_) with
+ | _s4298_ =>
+ (reg_name_matches_prefix _s4298_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4121_ _) =>
- (match (string_drop _s4120_ _s4121_) with
- | _s4122_ =>
- (sep_matches_prefix _s4122_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4299_ _) =>
+ (match (string_drop _s4298_ _s4299_) with
+ | _s4300_ =>
+ (sep_matches_prefix _s4300_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4123_ _) =>
- (match (string_drop _s4122_ _s4123_) with
- | _s4124_ =>
- (reg_name_matches_prefix _s4124_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4301_ _) =>
+ (match (string_drop _s4300_ _s4301_) with
+ | _s4302_ =>
+ (reg_name_matches_prefix _s4302_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4125_ _) =>
- (match (string_drop _s4124_ _s4125_) with
- | _s4126_ =>
- (sep_matches_prefix _s4126_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4303_ _) =>
+ (match (string_drop _s4302_ _s4303_) with
+ | _s4304_ =>
+ (sep_matches_prefix _s4304_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4127_ _) =>
- (match (string_drop _s4126_ _s4127_) with
- | _s4128_ =>
- (reg_name_matches_prefix _s4128_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4305_ _) =>
+ (match (string_drop _s4304_ _s4305_) with
+ | _s4306_ =>
+ (reg_name_matches_prefix _s4306_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4129_ _) =>
- match (string_drop _s4128_
- _s4129_) with
+ | Some (rs2, existT _ _s4307_ _) =>
+ match (string_drop _s4306_
+ _s4307_) with
| s_ =>
Some (op, rd, rs1, rs2, s_)
end
@@ -48139,49 +49513,49 @@ Definition _s4114_ (_s4115_ : string) : M (option ((ropw * mword 5 * mword 5 * m
end)
: M (option ((ropw * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4097_ (_s4098_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s4098_ with
- | _s4099_ =>
- (shiftw_mnemonic_matches_prefix _s4099_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s4275_ (_s4276_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s4276_ with
+ | _s4277_ =>
+ (shiftw_mnemonic_matches_prefix _s4277_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4100_ _) =>
- (match (string_drop _s4099_ _s4100_) with
- | _s4101_ =>
- (spc_matches_prefix _s4101_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4278_ _) =>
+ (match (string_drop _s4277_ _s4278_) with
+ | _s4279_ =>
+ (spc_matches_prefix _s4279_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4102_ _) =>
- (match (string_drop _s4101_ _s4102_) with
- | _s4103_ =>
- (reg_name_matches_prefix _s4103_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4280_ _) =>
+ (match (string_drop _s4279_ _s4280_) with
+ | _s4281_ =>
+ (reg_name_matches_prefix _s4281_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4104_ _) =>
- (match (string_drop _s4103_ _s4104_) with
- | _s4105_ =>
- (sep_matches_prefix _s4105_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4282_ _) =>
+ (match (string_drop _s4281_ _s4282_) with
+ | _s4283_ =>
+ (sep_matches_prefix _s4283_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4106_ _) =>
- (match (string_drop _s4105_ _s4106_) with
- | _s4107_ =>
- (reg_name_matches_prefix _s4107_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4284_ _) =>
+ (match (string_drop _s4283_ _s4284_) with
+ | _s4285_ =>
+ (reg_name_matches_prefix _s4285_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4108_ _) =>
- (match (string_drop _s4107_ _s4108_) with
- | _s4109_ =>
- (sep_matches_prefix _s4109_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4286_ _) =>
+ (match (string_drop _s4285_ _s4286_) with
+ | _s4287_ =>
+ (sep_matches_prefix _s4287_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s4110_ _) =>
- match (string_drop _s4109_ _s4110_) with
- | _s4111_ =>
+ | Some (tt, existT _ _s4288_ _) =>
+ match (string_drop _s4287_ _s4288_) with
+ | _s4289_ =>
match (hex_bits_5_matches_prefix
- _s4111_) with
- | Some (shamt, existT _ _s4112_ _) =>
- match (string_drop _s4111_ _s4112_) with
+ _s4289_) with
+ | Some (shamt, existT _ _s4290_ _) =>
+ match (string_drop _s4289_ _s4290_) with
| s_ =>
Some (op, rd, rs1, shamt, s_)
end
@@ -48218,43 +49592,43 @@ Definition _s4097_ (_s4098_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 5 * string))).
-Definition _s4081_ (_s4082_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
- let _s4083_ := _s4082_ in
- (if string_startswith _s4083_ "addiw" then
- (match (string_drop _s4083_ (projT1 (string_length "addiw"))) with
- | _s4084_ =>
- (spc_matches_prefix _s4084_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4259_ (_s4260_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
+ let _s4261_ := _s4260_ in
+ (if string_startswith _s4261_ "addiw" then
+ (match (string_drop _s4261_ (projT1 (string_length "addiw"))) with
+ | _s4262_ =>
+ (spc_matches_prefix _s4262_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4085_ _) =>
- (match (string_drop _s4084_ _s4085_) with
- | _s4086_ =>
- (reg_name_matches_prefix _s4086_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4263_ _) =>
+ (match (string_drop _s4262_ _s4263_) with
+ | _s4264_ =>
+ (reg_name_matches_prefix _s4264_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4087_ _) =>
- (match (string_drop _s4086_ _s4087_) with
- | _s4088_ =>
- (sep_matches_prefix _s4088_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4265_ _) =>
+ (match (string_drop _s4264_ _s4265_) with
+ | _s4266_ =>
+ (sep_matches_prefix _s4266_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4089_ _) =>
- (match (string_drop _s4088_ _s4089_) with
- | _s4090_ =>
- (reg_name_matches_prefix _s4090_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4267_ _) =>
+ (match (string_drop _s4266_ _s4267_) with
+ | _s4268_ =>
+ (reg_name_matches_prefix _s4268_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s4091_ _) =>
- (match (string_drop _s4090_ _s4091_) with
- | _s4092_ =>
- (sep_matches_prefix _s4092_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4269_ _) =>
+ (match (string_drop _s4268_ _s4269_) with
+ | _s4270_ =>
+ (sep_matches_prefix _s4270_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4093_ _) =>
- match (string_drop _s4092_ _s4093_) with
- | _s4094_ =>
- match (hex_bits_12_matches_prefix _s4094_) with
- | Some (imm, existT _ _s4095_ _) =>
- match (string_drop _s4094_ _s4095_) with
+ | Some (tt, existT _ _s4271_ _) =>
+ match (string_drop _s4270_ _s4271_) with
+ | _s4272_ =>
+ match (hex_bits_12_matches_prefix _s4272_) with
+ | Some (imm, existT _ _s4273_ _) =>
+ match (string_drop _s4272_ _s4273_) with
| s_ => Some (rd, rs1, imm, s_)
end
| _ => None
@@ -48287,102 +49661,102 @@ Definition _s4081_ (_s4082_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12 * string))).
-Definition _s4053_ (_s4054_ : string)
+Definition _s4231_ (_s4232_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string))) :=
- let _s4055_ := _s4054_ in
- (if string_startswith _s4055_ "s" then
- (match (string_drop _s4055_ (projT1 (string_length "s"))) with
- | _s4056_ =>
- (size_mnemonic_matches_prefix _s4056_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s4233_ := _s4232_ in
+ (if string_startswith _s4233_ "s" then
+ (match (string_drop _s4233_ (projT1 (string_length "s"))) with
+ | _s4234_ =>
+ (size_mnemonic_matches_prefix _s4234_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s4057_ _) =>
- (match (string_drop _s4056_ _s4057_) with
- | _s4058_ =>
- (maybe_aq_matches_prefix _s4058_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s4235_ _) =>
+ (match (string_drop _s4234_ _s4235_) with
+ | _s4236_ =>
+ (maybe_aq_matches_prefix _s4236_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s4059_ _) =>
- (match (string_drop _s4058_ _s4059_) with
- | _s4060_ =>
- (maybe_rl_matches_prefix _s4060_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s4237_ _) =>
+ (match (string_drop _s4236_ _s4237_) with
+ | _s4238_ =>
+ (maybe_rl_matches_prefix _s4238_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s4061_ _) =>
- (match (string_drop _s4060_ _s4061_) with
- | _s4062_ =>
- (spc_matches_prefix _s4062_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s4239_ _) =>
+ (match (string_drop _s4238_ _s4239_) with
+ | _s4240_ =>
+ (spc_matches_prefix _s4240_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4063_ _) =>
- (match (string_drop _s4062_ _s4063_) with
- | _s4064_ =>
- (reg_name_matches_prefix _s4064_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4241_ _) =>
+ (match (string_drop _s4240_ _s4241_) with
+ | _s4242_ =>
+ (reg_name_matches_prefix _s4242_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s4065_ _) =>
- (match (string_drop _s4064_ _s4065_) with
- | _s4066_ =>
- (sep_matches_prefix _s4066_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4243_ _) =>
+ (match (string_drop _s4242_ _s4243_) with
+ | _s4244_ =>
+ (sep_matches_prefix _s4244_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4067_ _) =>
- (match (string_drop _s4066_ _s4067_) with
- | _s4068_ =>
- (match (hex_bits_12_matches_prefix _s4068_) with
- | Some (imm, existT _ _s4069_ _) =>
- (match (string_drop _s4068_ _s4069_) with
- | _s4070_ =>
- (opt_spc_matches_prefix _s4070_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4245_ _) =>
+ (match (string_drop _s4244_ _s4245_) with
+ | _s4246_ =>
+ (match (hex_bits_12_matches_prefix _s4246_) with
+ | Some (imm, existT _ _s4247_ _) =>
+ (match (string_drop _s4246_ _s4247_) with
+ | _s4248_ =>
+ (opt_spc_matches_prefix _s4248_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s4071_ _) =>
- let _s4072_ :=
- string_drop _s4070_ _s4071_ in
- (if string_startswith _s4072_
+ | Some (tt, existT _ _s4249_ _) =>
+ let _s4250_ :=
+ string_drop _s4248_ _s4249_ in
+ (if string_startswith _s4250_
"(" then
- (match (string_drop _s4072_
+ (match (string_drop _s4250_
(projT1
(string_length
"("))) with
- | _s4073_ =>
+ | _s4251_ =>
(opt_spc_matches_prefix
- _s4073_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4251_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s4074_ _) =>
+ (tt, existT _ _s4252_ _) =>
(match (string_drop
- _s4073_
- _s4074_) with
- | _s4075_ =>
+ _s4251_
+ _s4252_) with
+ | _s4253_ =>
(reg_name_matches_prefix
- _s4075_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4253_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs1, existT _ _s4076_ _) =>
+ (rs1, existT _ _s4254_ _) =>
(match (string_drop
- _s4075_
- _s4076_) with
- | _s4077_ =>
+ _s4253_
+ _s4254_) with
+ | _s4255_ =>
(opt_spc_matches_prefix
- _s4077_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4255_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (tt, existT _ _s4078_ _) =>
- let _s4079_ :=
+ (tt, existT _ _s4256_ _) =>
+ let _s4257_ :=
string_drop
- _s4077_
- _s4078_ in
+ _s4255_
+ _s4256_ in
if
string_startswith
- _s4079_
+ _s4257_
")"
then
match (string_drop
- _s4079_
+ _s4257_
(projT1
(string_length
")"))) with
@@ -48453,114 +49827,114 @@ Definition _s4053_ (_s4054_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string))).
-Definition _s4023_ (_s4024_ : string)
+Definition _s4201_ (_s4202_ : string)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string))) :=
- let _s4025_ := _s4024_ in
- (if string_startswith _s4025_ "l" then
- (match (string_drop _s4025_ (projT1 (string_length "l"))) with
- | _s4026_ =>
- (size_mnemonic_matches_prefix _s4026_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s4203_ := _s4202_ in
+ (if string_startswith _s4203_ "l" then
+ (match (string_drop _s4203_ (projT1 (string_length "l"))) with
+ | _s4204_ =>
+ (size_mnemonic_matches_prefix _s4204_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s4027_ _) =>
- (match (string_drop _s4026_ _s4027_) with
- | _s4028_ =>
- (maybe_u_matches_prefix _s4028_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s4205_ _) =>
+ (match (string_drop _s4204_ _s4205_) with
+ | _s4206_ =>
+ (maybe_u_matches_prefix _s4206_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (is_unsigned, existT _ _s4029_ _) =>
- (match (string_drop _s4028_ _s4029_) with
- | _s4030_ =>
- (maybe_aq_matches_prefix _s4030_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (is_unsigned, existT _ _s4207_ _) =>
+ (match (string_drop _s4206_ _s4207_) with
+ | _s4208_ =>
+ (maybe_aq_matches_prefix _s4208_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s4031_ _) =>
- (match (string_drop _s4030_ _s4031_) with
- | _s4032_ =>
- (maybe_rl_matches_prefix _s4032_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s4209_ _) =>
+ (match (string_drop _s4208_ _s4209_) with
+ | _s4210_ =>
+ (maybe_rl_matches_prefix _s4210_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s4033_ _) =>
- (match (string_drop _s4032_ _s4033_) with
- | _s4034_ =>
- (spc_matches_prefix _s4034_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s4211_ _) =>
+ (match (string_drop _s4210_ _s4211_) with
+ | _s4212_ =>
+ (spc_matches_prefix _s4212_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s4035_ _) =>
- (match (string_drop _s4034_ _s4035_) with
- | _s4036_ =>
- (reg_name_matches_prefix _s4036_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4213_ _) =>
+ (match (string_drop _s4212_ _s4213_) with
+ | _s4214_ =>
+ (reg_name_matches_prefix _s4214_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s4037_ _) =>
- (match (string_drop _s4036_ _s4037_) with
- | _s4038_ =>
- (sep_matches_prefix _s4038_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4215_ _) =>
+ (match (string_drop _s4214_ _s4215_) with
+ | _s4216_ =>
+ (sep_matches_prefix _s4216_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s4039_ _) =>
- (match (string_drop _s4038_ _s4039_) with
- | _s4040_ =>
+ | Some (tt, existT _ _s4217_ _) =>
+ (match (string_drop _s4216_ _s4217_) with
+ | _s4218_ =>
(match (hex_bits_12_matches_prefix
- _s4040_) with
- | Some (imm, existT _ _s4041_ _) =>
- (match (string_drop _s4040_
- _s4041_) with
- | _s4042_ =>
+ _s4218_) with
+ | Some (imm, existT _ _s4219_ _) =>
+ (match (string_drop _s4218_
+ _s4219_) with
+ | _s4220_ =>
(opt_spc_matches_prefix
- _s4042_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4220_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s4043_ _) =>
- let _s4044_ :=
- string_drop _s4042_
- _s4043_ in
+ (tt, existT _ _s4221_ _) =>
+ let _s4222_ :=
+ string_drop _s4220_
+ _s4221_ in
(if string_startswith
- _s4044_ "(" then
+ _s4222_ "(" then
(match (string_drop
- _s4044_
+ _s4222_
(projT1
(string_length
"("))) with
- | _s4045_ =>
+ | _s4223_ =>
(opt_spc_matches_prefix
- _s4045_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4223_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s4046_ _) =>
+ (tt, existT _ _s4224_ _) =>
(match (string_drop
- _s4045_
- _s4046_) with
- | _s4047_ =>
+ _s4223_
+ _s4224_) with
+ | _s4225_ =>
(reg_name_matches_prefix
- _s4047_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4225_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (rs1, existT _ _s4048_ _) =>
+ (rs1, existT _ _s4226_ _) =>
(match (string_drop
- _s4047_
- _s4048_) with
- | _s4049_ =>
+ _s4225_
+ _s4226_) with
+ | _s4227_ =>
(opt_spc_matches_prefix
- _s4049_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4227_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (tt, existT _ _s4050_ _) =>
- let _s4051_ :=
+ (tt, existT _ _s4228_ _) =>
+ let _s4229_ :=
string_drop
- _s4049_
- _s4050_ in
+ _s4227_
+ _s4228_ in
if
string_startswith
- _s4051_
+ _s4229_
")"
then
match (string_drop
- _s4051_
+ _s4229_
(projT1
(string_length
")"))) with
@@ -48637,51 +50011,51 @@ Definition _s4023_ (_s4024_ : string)
else returnm None)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string))).
-Definition _s4006_ (_s4007_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s4007_ with
- | _s4008_ =>
- (rtype_mnemonic_matches_prefix _s4008_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
+Definition _s4184_ (_s4185_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s4185_ with
+ | _s4186_ =>
+ (rtype_mnemonic_matches_prefix _s4186_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4009_ _) =>
- (match (string_drop _s4008_ _s4009_) with
- | _s4010_ =>
- (spc_matches_prefix _s4010_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4187_ _) =>
+ (match (string_drop _s4186_ _s4187_) with
+ | _s4188_ =>
+ (spc_matches_prefix _s4188_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4011_ _) =>
- (match (string_drop _s4010_ _s4011_) with
- | _s4012_ =>
- (reg_name_matches_prefix _s4012_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4189_ _) =>
+ (match (string_drop _s4188_ _s4189_) with
+ | _s4190_ =>
+ (reg_name_matches_prefix _s4190_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4013_ _) =>
- (match (string_drop _s4012_ _s4013_) with
- | _s4014_ =>
- (sep_matches_prefix _s4014_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4191_ _) =>
+ (match (string_drop _s4190_ _s4191_) with
+ | _s4192_ =>
+ (sep_matches_prefix _s4192_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4015_ _) =>
- (match (string_drop _s4014_ _s4015_) with
- | _s4016_ =>
- (reg_name_matches_prefix _s4016_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4193_ _) =>
+ (match (string_drop _s4192_ _s4193_) with
+ | _s4194_ =>
+ (reg_name_matches_prefix _s4194_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4017_ _) =>
- (match (string_drop _s4016_ _s4017_) with
- | _s4018_ =>
- (sep_matches_prefix _s4018_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4195_ _) =>
+ (match (string_drop _s4194_ _s4195_) with
+ | _s4196_ =>
+ (sep_matches_prefix _s4196_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4019_ _) =>
- (match (string_drop _s4018_ _s4019_) with
- | _s4020_ =>
- (reg_name_matches_prefix _s4020_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4197_ _) =>
+ (match (string_drop _s4196_ _s4197_) with
+ | _s4198_ =>
+ (reg_name_matches_prefix _s4198_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4021_ _) =>
- match (string_drop _s4020_
- _s4021_) with
+ | Some (rs2, existT _ _s4199_ _) =>
+ match (string_drop _s4198_
+ _s4199_) with
| s_ =>
Some (op, rd, rs1, rs2, s_)
end
@@ -48720,49 +50094,49 @@ Definition _s4006_ (_s4007_ : string) : M (option ((rop * mword 5 * mword 5 * mw
end)
: M (option ((rop * mword 5 * mword 5 * mword 5 * string))).
-Definition _s3989_ (_s3990_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6 * string))) :=
- (match _s3990_ with
- | _s3991_ =>
- (shiftiop_mnemonic_matches_prefix _s3991_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s4167_ (_s4168_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6 * string))) :=
+ (match _s4168_ with
+ | _s4169_ =>
+ (shiftiop_mnemonic_matches_prefix _s4169_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3992_ _) =>
- (match (string_drop _s3991_ _s3992_) with
- | _s3993_ =>
- (spc_matches_prefix _s3993_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4170_ _) =>
+ (match (string_drop _s4169_ _s4170_) with
+ | _s4171_ =>
+ (spc_matches_prefix _s4171_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3994_ _) =>
- (match (string_drop _s3993_ _s3994_) with
- | _s3995_ =>
- (reg_name_matches_prefix _s3995_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4172_ _) =>
+ (match (string_drop _s4171_ _s4172_) with
+ | _s4173_ =>
+ (reg_name_matches_prefix _s4173_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3996_ _) =>
- (match (string_drop _s3995_ _s3996_) with
- | _s3997_ =>
- (sep_matches_prefix _s3997_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4174_ _) =>
+ (match (string_drop _s4173_ _s4174_) with
+ | _s4175_ =>
+ (sep_matches_prefix _s4175_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3998_ _) =>
- (match (string_drop _s3997_ _s3998_) with
- | _s3999_ =>
- (reg_name_matches_prefix _s3999_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4176_ _) =>
+ (match (string_drop _s4175_ _s4176_) with
+ | _s4177_ =>
+ (reg_name_matches_prefix _s4177_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4000_ _) =>
- (match (string_drop _s3999_ _s4000_) with
- | _s4001_ =>
- (sep_matches_prefix _s4001_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4178_ _) =>
+ (match (string_drop _s4177_ _s4178_) with
+ | _s4179_ =>
+ (sep_matches_prefix _s4179_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s4002_ _) =>
- match (string_drop _s4001_ _s4002_) with
- | _s4003_ =>
+ | Some (tt, existT _ _s4180_ _) =>
+ match (string_drop _s4179_ _s4180_) with
+ | _s4181_ =>
match (hex_bits_6_matches_prefix
- _s4003_) with
- | Some (shamt, existT _ _s4004_ _) =>
- match (string_drop _s4003_ _s4004_) with
+ _s4181_) with
+ | Some (shamt, existT _ _s4182_ _) =>
+ match (string_drop _s4181_ _s4182_) with
| s_ =>
Some (op, rd, rs1, shamt, s_)
end
@@ -48799,49 +50173,49 @@ Definition _s3989_ (_s3990_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 6 * string))).
-Definition _s3972_ (_s3973_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12 * string))) :=
- (match _s3973_ with
- | _s3974_ =>
- (itype_mnemonic_matches_prefix _s3974_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
+Definition _s4150_ (_s4151_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12 * string))) :=
+ (match _s4151_ with
+ | _s4152_ =>
+ (itype_mnemonic_matches_prefix _s4152_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3975_ _) =>
- (match (string_drop _s3974_ _s3975_) with
- | _s3976_ =>
- (spc_matches_prefix _s3976_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4153_ _) =>
+ (match (string_drop _s4152_ _s4153_) with
+ | _s4154_ =>
+ (spc_matches_prefix _s4154_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3977_ _) =>
- (match (string_drop _s3976_ _s3977_) with
- | _s3978_ =>
- (reg_name_matches_prefix _s3978_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4155_ _) =>
+ (match (string_drop _s4154_ _s4155_) with
+ | _s4156_ =>
+ (reg_name_matches_prefix _s4156_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3979_ _) =>
- (match (string_drop _s3978_ _s3979_) with
- | _s3980_ =>
- (sep_matches_prefix _s3980_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4157_ _) =>
+ (match (string_drop _s4156_ _s4157_) with
+ | _s4158_ =>
+ (sep_matches_prefix _s4158_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3981_ _) =>
- (match (string_drop _s3980_ _s3981_) with
- | _s3982_ =>
- (reg_name_matches_prefix _s3982_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4159_ _) =>
+ (match (string_drop _s4158_ _s4159_) with
+ | _s4160_ =>
+ (reg_name_matches_prefix _s4160_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3983_ _) =>
- (match (string_drop _s3982_ _s3983_) with
- | _s3984_ =>
- (sep_matches_prefix _s3984_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4161_ _) =>
+ (match (string_drop _s4160_ _s4161_) with
+ | _s4162_ =>
+ (sep_matches_prefix _s4162_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3985_ _) =>
- match (string_drop _s3984_ _s3985_) with
- | _s3986_ =>
+ | Some (tt, existT _ _s4163_ _) =>
+ match (string_drop _s4162_ _s4163_) with
+ | _s4164_ =>
match (hex_bits_12_matches_prefix
- _s3986_) with
- | Some (imm, existT _ _s3987_ _) =>
- match (string_drop _s3986_ _s3987_) with
+ _s4164_) with
+ | Some (imm, existT _ _s4165_ _) =>
+ match (string_drop _s4164_ _s4165_) with
| s_ => Some (op, rd, rs1, imm, s_)
end
| _ => None
@@ -48877,49 +50251,49 @@ Definition _s3972_ (_s3973_ : string) : M (option ((iop * mword 5 * mword 5 * mw
end)
: M (option ((iop * mword 5 * mword 5 * mword 12 * string))).
-Definition _s3955_ (_s3956_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13 * string))) :=
- (match _s3956_ with
- | _s3957_ =>
- (btype_mnemonic_matches_prefix _s3957_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
+Definition _s4133_ (_s4134_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13 * string))) :=
+ (match _s4134_ with
+ | _s4135_ =>
+ (btype_mnemonic_matches_prefix _s4135_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3958_ _) =>
- (match (string_drop _s3957_ _s3958_) with
- | _s3959_ =>
- (spc_matches_prefix _s3959_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4136_ _) =>
+ (match (string_drop _s4135_ _s4136_) with
+ | _s4137_ =>
+ (spc_matches_prefix _s4137_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3960_ _) =>
- (match (string_drop _s3959_ _s3960_) with
- | _s3961_ =>
- (reg_name_matches_prefix _s3961_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4138_ _) =>
+ (match (string_drop _s4137_ _s4138_) with
+ | _s4139_ =>
+ (reg_name_matches_prefix _s4139_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs1, existT _ _s3962_ _) =>
- (match (string_drop _s3961_ _s3962_) with
- | _s3963_ =>
- (sep_matches_prefix _s3963_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4140_ _) =>
+ (match (string_drop _s4139_ _s4140_) with
+ | _s4141_ =>
+ (sep_matches_prefix _s4141_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3964_ _) =>
- (match (string_drop _s3963_ _s3964_) with
- | _s3965_ =>
- (reg_name_matches_prefix _s3965_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4142_ _) =>
+ (match (string_drop _s4141_ _s4142_) with
+ | _s4143_ =>
+ (reg_name_matches_prefix _s4143_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s3966_ _) =>
- (match (string_drop _s3965_ _s3966_) with
- | _s3967_ =>
- (sep_matches_prefix _s3967_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4144_ _) =>
+ (match (string_drop _s4143_ _s4144_) with
+ | _s4145_ =>
+ (sep_matches_prefix _s4145_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3968_ _) =>
- match (string_drop _s3967_ _s3968_) with
- | _s3969_ =>
+ | Some (tt, existT _ _s4146_ _) =>
+ match (string_drop _s4145_ _s4146_) with
+ | _s4147_ =>
match (hex_bits_13_matches_prefix
- _s3969_) with
- | Some (imm, existT _ _s3970_ _) =>
- match (string_drop _s3969_ _s3970_) with
+ _s4147_) with
+ | Some (imm, existT _ _s4148_ _) =>
+ match (string_drop _s4147_ _s4148_) with
| s_ =>
Some (op, rs1, rs2, imm, s_)
end
@@ -48956,43 +50330,43 @@ Definition _s3955_ (_s3956_ : string) : M (option ((bop * mword 5 * mword 5 * mw
end)
: M (option ((bop * mword 5 * mword 5 * mword 13 * string))).
-Definition _s3939_ (_s3940_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
- let _s3941_ := _s3940_ in
- (if string_startswith _s3941_ "jalr" then
- (match (string_drop _s3941_ (projT1 (string_length "jalr"))) with
- | _s3942_ =>
- (spc_matches_prefix _s3942_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4117_ (_s4118_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
+ let _s4119_ := _s4118_ in
+ (if string_startswith _s4119_ "jalr" then
+ (match (string_drop _s4119_ (projT1 (string_length "jalr"))) with
+ | _s4120_ =>
+ (spc_matches_prefix _s4120_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3943_ _) =>
- (match (string_drop _s3942_ _s3943_) with
- | _s3944_ =>
- (reg_name_matches_prefix _s3944_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4121_ _) =>
+ (match (string_drop _s4120_ _s4121_) with
+ | _s4122_ =>
+ (reg_name_matches_prefix _s4122_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3945_ _) =>
- (match (string_drop _s3944_ _s3945_) with
- | _s3946_ =>
- (sep_matches_prefix _s3946_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4123_ _) =>
+ (match (string_drop _s4122_ _s4123_) with
+ | _s4124_ =>
+ (sep_matches_prefix _s4124_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3947_ _) =>
- (match (string_drop _s3946_ _s3947_) with
- | _s3948_ =>
- (reg_name_matches_prefix _s3948_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4125_ _) =>
+ (match (string_drop _s4124_ _s4125_) with
+ | _s4126_ =>
+ (reg_name_matches_prefix _s4126_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s3949_ _) =>
- (match (string_drop _s3948_ _s3949_) with
- | _s3950_ =>
- (sep_matches_prefix _s3950_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4127_ _) =>
+ (match (string_drop _s4126_ _s4127_) with
+ | _s4128_ =>
+ (sep_matches_prefix _s4128_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3951_ _) =>
- match (string_drop _s3950_ _s3951_) with
- | _s3952_ =>
- match (hex_bits_12_matches_prefix _s3952_) with
- | Some (imm, existT _ _s3953_ _) =>
- match (string_drop _s3952_ _s3953_) with
+ | Some (tt, existT _ _s4129_ _) =>
+ match (string_drop _s4128_ _s4129_) with
+ | _s4130_ =>
+ match (hex_bits_12_matches_prefix _s4130_) with
+ | Some (imm, existT _ _s4131_ _) =>
+ match (string_drop _s4130_ _s4131_) with
| s_ => Some (rd, rs1, imm, s_)
end
| _ => None
@@ -49025,31 +50399,31 @@ Definition _s3939_ (_s3940_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12 * string))).
-Definition _s3927_ (_s3928_ : string) : M (option ((mword 5 * mword 21 * string))) :=
- let _s3929_ := _s3928_ in
- (if string_startswith _s3929_ "jal" then
- (match (string_drop _s3929_ (projT1 (string_length "jal"))) with
- | _s3930_ =>
- (spc_matches_prefix _s3930_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4105_ (_s4106_ : string) : M (option ((mword 5 * mword 21 * string))) :=
+ let _s4107_ := _s4106_ in
+ (if string_startswith _s4107_ "jal" then
+ (match (string_drop _s4107_ (projT1 (string_length "jal"))) with
+ | _s4108_ =>
+ (spc_matches_prefix _s4108_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3931_ _) =>
- (match (string_drop _s3930_ _s3931_) with
- | _s3932_ =>
- (reg_name_matches_prefix _s3932_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4109_ _) =>
+ (match (string_drop _s4108_ _s4109_) with
+ | _s4110_ =>
+ (reg_name_matches_prefix _s4110_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3933_ _) =>
- (match (string_drop _s3932_ _s3933_) with
- | _s3934_ =>
- (sep_matches_prefix _s3934_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4111_ _) =>
+ (match (string_drop _s4110_ _s4111_) with
+ | _s4112_ =>
+ (sep_matches_prefix _s4112_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3935_ _) =>
- match (string_drop _s3934_ _s3935_) with
- | _s3936_ =>
- match (hex_bits_21_matches_prefix _s3936_) with
- | Some (imm, existT _ _s3937_ _) =>
- match (string_drop _s3936_ _s3937_) with
+ | Some (tt, existT _ _s4113_ _) =>
+ match (string_drop _s4112_ _s4113_) with
+ | _s4114_ =>
+ match (hex_bits_21_matches_prefix _s4114_) with
+ | Some (imm, existT _ _s4115_ _) =>
+ match (string_drop _s4114_ _s4115_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -49072,36 +50446,36 @@ Definition _s3927_ (_s3928_ : string) : M (option ((mword 5 * mword 21 * string)
else returnm None)
: M (option ((mword 5 * mword 21 * string))).
-Definition _s3914_ (_s3915_ : string) : M (option ((uop * mword 5 * mword 20 * string))) :=
- (match _s3915_ with
- | _s3916_ =>
- (utype_mnemonic_matches_prefix _s3916_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
+Definition _s4092_ (_s4093_ : string) : M (option ((uop * mword 5 * mword 20 * string))) :=
+ (match _s4093_ with
+ | _s4094_ =>
+ (utype_mnemonic_matches_prefix _s4094_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3917_ _) =>
- (match (string_drop _s3916_ _s3917_) with
- | _s3918_ =>
- (spc_matches_prefix _s3918_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4095_ _) =>
+ (match (string_drop _s4094_ _s4095_) with
+ | _s4096_ =>
+ (spc_matches_prefix _s4096_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3919_ _) =>
- (match (string_drop _s3918_ _s3919_) with
- | _s3920_ =>
- (reg_name_matches_prefix _s3920_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4097_ _) =>
+ (match (string_drop _s4096_ _s4097_) with
+ | _s4098_ =>
+ (reg_name_matches_prefix _s4098_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3921_ _) =>
- (match (string_drop _s3920_ _s3921_) with
- | _s3922_ =>
- (sep_matches_prefix _s3922_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4099_ _) =>
+ (match (string_drop _s4098_ _s4099_) with
+ | _s4100_ =>
+ (sep_matches_prefix _s4100_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (tt, existT _ _s3923_ _) =>
- match (string_drop _s3922_ _s3923_) with
- | _s3924_ =>
- match (hex_bits_20_matches_prefix _s3924_) with
- | Some (imm, existT _ _s3925_ _) =>
- match (string_drop _s3924_ _s3925_) with
+ | Some (tt, existT _ _s4101_ _) =>
+ match (string_drop _s4100_ _s4101_) with
+ | _s4102_ =>
+ match (hex_bits_20_matches_prefix _s4102_) with
+ | Some (imm, existT _ _s4103_ _) =>
+ match (string_drop _s4102_ _s4103_) with
| s_ => Some (op, rd, imm, s_)
end
| _ => None
@@ -49129,10 +50503,10 @@ Definition _s3914_ (_s3915_ : string) : M (option ((uop * mword 5 * mword 20 * s
Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s3926_ := arg_ in
- (_s3914_ _s3926_) >>= fun w__0 : option ((uop * mword 5 * mword 20 * string)) =>
+ let _s4104_ := arg_ in
+ (_s4092_ _s4104_) >>= fun w__0 : option ((uop * mword 5 * mword 20 * string)) =>
(if match w__0 with | Some (op, rd, imm, s_) => true | _ => false end then
- (_s3914_ _s3926_) >>= fun w__1 : option ((uop * mword 5 * mword 20 * string)) =>
+ (_s4092_ _s4104_) >>= fun w__1 : option ((uop * mword 5 * mword 20 * string)) =>
(match w__1 with
| Some (op, rd, imm, s_) =>
returnm (Some
@@ -49143,9 +50517,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s3927_ _s3926_) >>= fun w__4 : option ((mword 5 * mword 21 * string)) =>
+ (_s4105_ _s4104_) >>= fun w__4 : option ((mword 5 * mword 21 * string)) =>
(if match w__4 with | Some (rd, imm, s_) => true | _ => false end then
- (_s3927_ _s3926_) >>= fun w__5 : option ((mword 5 * mword 21 * string)) =>
+ (_s4105_ _s4104_) >>= fun w__5 : option ((mword 5 * mword 21 * string)) =>
(match w__5 with
| Some (rd, imm, s_) =>
returnm (Some
@@ -49156,9 +50530,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s3939_ _s3926_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s4117_ _s4104_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(if match w__8 with | Some (rd, rs1, imm, s_) => true | _ => false end then
- (_s3939_ _s3926_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s4117_ _s4104_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(match w__9 with
| Some (rd, rs1, imm, s_) =>
returnm (Some
@@ -49169,9 +50543,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s3955_ _s3926_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
+ (_s4133_ _s4104_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
(if match w__12 with | Some (op, rs1, rs2, imm, s_) => true | _ => false end then
- (_s3955_ _s3926_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
+ (_s4133_ _s4104_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
(match w__13 with
| Some (op, rs1, rs2, imm, s_) =>
returnm (Some
@@ -49182,9 +50556,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s3972_ _s3926_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
+ (_s4150_ _s4104_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
(if match w__16 with | Some (op, rd, rs1, imm, s_) => true | _ => false end then
- (_s3972_ _s3926_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
+ (_s4150_ _s4104_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
(match w__17 with
| Some (op, rd, rs1, imm, s_) =>
returnm (Some
@@ -49195,9 +50569,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s3989_ _s3926_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
+ (_s4167_ _s4104_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
(if match w__20 with | Some (op, rd, rs1, shamt, s_) => true | _ => false end then
- (_s3989_ _s3926_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
+ (_s4167_ _s4104_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
(match w__21 with
| Some (op, rd, rs1, shamt, s_) =>
returnm (Some
@@ -49210,10 +50584,10 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4006_ _s3926_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4184_ _s4104_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__24 with | Some (op, rd, rs1, rs2, s_) => true | _ => false end
then
- (_s4006_ _s3926_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4184_ _s4104_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
(match w__25 with
| Some (op, rd, rs1, rs2, s_) =>
returnm (Some
@@ -49226,12 +50600,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4023_ _s3926_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4201_ _s4104_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(if match w__28 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1, s_) => true
| _ => false
end then
- (_s4023_ _s3926_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4201_ _s4104_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(match w__29 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1, s_) =>
returnm (Some
@@ -49244,12 +50618,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4053_ _s3926_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4231_ _s4104_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(if match w__32 with
| Some (size, aq, rl, rs2, imm, rs1, s_) => true
| _ => false
end then
- (_s4053_ _s3926_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4231_ _s4104_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(match w__33 with
| Some (size, aq, rl, rs2, imm, rs1, s_) =>
returnm (Some
@@ -49262,12 +50636,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4081_ _s3926_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s4259_ _s4104_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(if match w__36 with
| Some (rd, rs1, imm, s_) => Z.eqb 32 64
| _ => false
end then
- (_s4081_ _s3926_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s4259_ _s4104_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(match w__37 with
| Some (rd, rs1, imm, s_) =>
returnm (Some
@@ -49281,12 +50655,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4097_ _s3926_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4275_ _s4104_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__40 with
| Some (op, rd, rs1, shamt, s_) => Z.eqb 32 64
| _ => false
end then
- (_s4097_ _s3926_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4275_ _s4104_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
(match w__41 with
| Some (op, rd, rs1, shamt, s_) =>
returnm (Some
@@ -49301,12 +50675,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4114_ _s3926_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4292_ _s4104_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__44 with
| Some (op, rd, rs1, rs2, s_) => Z.eqb 32 64
| _ => false
end then
- (_s4114_ _s3926_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4292_ _s4104_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
(match w__45 with
| Some (op, rd, rs1, rs2, s_) =>
returnm (Some
@@ -49321,12 +50695,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4131_ _s3926_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4309_ _s4104_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__48 with
| Some (op, rd, rs1, shamt, s_) => Z.eqb 32 64
| _ => false
end then
- (_s4131_ _s3926_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4309_ _s4104_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
(match w__49 with
| Some (op, rd, rs1, shamt, s_) =>
returnm (Some
@@ -49341,12 +50715,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4148_ _s3926_) >>= fun w__52 : option ((mword 4 * mword 4 * string)) =>
+ (_s4326_ _s4104_) >>= fun w__52 : option ((mword 4 * mword 4 * string)) =>
(if match w__52 with
| Some (pred, succ, s_) => true
| _ => false
end then
- (_s4148_ _s3926_) >>= fun w__53 : option ((mword 4 * mword 4 * string)) =>
+ (_s4326_ _s4104_) >>= fun w__53 : option ((mword 4 * mword 4 * string)) =>
(match w__53 with
| Some (pred, succ, s_) =>
returnm (Some
@@ -49361,12 +50735,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4160_ _s3926_) >>= fun w__56 : option ((mword 4 * mword 4 * string)) =>
+ (_s4338_ _s4104_) >>= fun w__56 : option ((mword 4 * mword 4 * string)) =>
(if match w__56 with
| Some (pred, succ, s_) => true
| _ => false
end then
- (_s4160_ _s3926_) >>= fun w__57 : option ((mword 4 * mword 4 * string)) =>
+ (_s4338_ _s4104_) >>= fun w__57 : option ((mword 4 * mword 4 * string)) =>
(match w__57 with
| Some (pred, succ, s_) =>
returnm (Some
@@ -49382,11 +50756,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s4172_ _s3926_) with
+ else if match (_s4350_ _s4104_) with
| Some s_ => true
| _ => false
end then
- (match (_s4172_ _s3926_) with
+ (match (_s4350_ _s4104_) with
| Some s_ =>
returnm (Some
(FENCEI tt, build_ex
@@ -49401,11 +50775,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s4176_ _s3926_) with
+ else if match (_s4354_ _s4104_) with
| Some s_ => true
| _ => false
end then
- (match (_s4176_ _s3926_) with
+ (match (_s4354_ _s4104_) with
| Some s_ =>
returnm (Some
(ECALL tt, build_ex
@@ -49420,11 +50794,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s4180_ _s3926_) with
+ else if match (_s4358_ _s4104_) with
| Some s_ => true
| _ => false
end then
- (match (_s4180_ _s3926_) with
+ (match (_s4358_ _s4104_) with
| Some s_ =>
returnm (Some
(MRET tt, build_ex
@@ -49439,11 +50813,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s4184_ _s3926_) with
+ else if match (_s4362_ _s4104_) with
| Some s_ => true
| _ => false
end then
- (match (_s4184_ _s3926_) with
+ (match (_s4362_ _s4104_) with
| Some s_ =>
returnm (Some
(SRET tt, build_ex
@@ -49458,11 +50832,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s4188_ _s3926_) with
+ else if match (_s4366_ _s4104_) with
| Some s_ => true
| _ => false
end then
- (match (_s4188_ _s3926_) with
+ (match (_s4366_ _s4104_) with
| Some s_ =>
returnm (Some
(EBREAK tt, build_ex
@@ -49477,11 +50851,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s4192_ _s3926_) with
+ else if match (_s4370_ _s4104_) with
| Some s_ => true
| _ => false
end then
- (match (_s4192_ _s3926_) with
+ (match (_s4370_ _s4104_) with
| Some s_ =>
returnm (Some
(WFI tt, build_ex
@@ -49497,12 +50871,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4196_ _s3926_) >>= fun w__72 : option ((mword 5 * mword 5 * string)) =>
+ (_s4374_ _s4104_) >>= fun w__72 : option ((mword 5 * mword 5 * string)) =>
(if match w__72 with
| Some (rs1, rs2, s_) => true
| _ => false
end then
- (_s4196_ _s3926_) >>= fun w__73 : option ((mword 5 * mword 5 * string)) =>
+ (_s4374_ _s4104_) >>= fun w__73 : option ((mword 5 * mword 5 * string)) =>
(match w__73 with
| Some (rs1, rs2, s_) =>
returnm (Some
@@ -49520,12 +50894,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4208_ _s3926_) >>= fun w__76 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
+ (_s4386_ _s4104_) >>= fun w__76 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
(if match w__76 with
| Some (size, aq, rl, rd, rs1, s_) => true
| _ => false
end then
- (_s4208_ _s3926_) >>= fun w__77 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
+ (_s4386_ _s4104_) >>= fun w__77 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
(match w__77 with
| Some (size, aq, rl, rd, rs1, s_) =>
returnm (Some
@@ -49545,13 +50919,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4226_ _s3926_) >>= fun w__80 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4404_ _s4104_) >>= fun w__80 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__80 with
| Some (size, aq, rl, rd, rs1, rs2, s_) =>
true
| _ => false
end then
- (_s4226_ _s3926_) >>= fun w__81 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4404_ _s4104_) >>= fun w__81 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__81 with
| Some (size, aq, rl, rd, rs1, rs2, s_) =>
returnm (Some
@@ -49571,14 +50945,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4248_ _s3926_) >>= fun w__84 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4426_ _s4104_) >>= fun w__84 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__84 with
| Some
(op, width, aq, rl, rd, rs2, rs1, s_) =>
true
| _ => false
end then
- (_s4248_ _s3926_) >>= fun w__85 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4426_ _s4104_) >>= fun w__85 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__85 with
| Some
(op, width, aq, rl, rd, rs2, rs1, s_) =>
@@ -49598,11 +50972,11 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
- else if match (_s4274_ _s3926_) with
+ else if match (_s4452_ _s4104_) with
| Some s_ => true
| _ => false
end then
- (match (_s4274_ _s3926_) with
+ (match (_s4452_ _s4104_) with
| Some s_ =>
returnm (Some
(C_NOP tt, build_ex
@@ -49620,13 +50994,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4278_ _s3926_) >>= fun w__90 : option ((mword 3 * mword 8 * string)) =>
+ (_s4456_ _s4104_) >>= fun w__90 : option ((mword 3 * mword 8 * string)) =>
(if match w__90 with
| Some (rdc, nzimm, s_) =>
neq_vec nzimm (Ox"00" : mword 8)
| _ => false
end then
- (_s4278_ _s3926_) >>= fun w__91 : option ((mword 3 * mword 8 * string)) =>
+ (_s4456_ _s4104_) >>= fun w__91 : option ((mword 3 * mword 8 * string)) =>
(match w__91 with
| Some (rdc, nzimm, s_) =>
returnm (Some
@@ -49647,13 +51021,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4290_ _s3926_) >>= fun w__94 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4468_ _s4104_) >>= fun w__94 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__94 with
| Some (rdc, rsc, uimm, s_) =>
true
| _ => false
end then
- (_s4290_ _s3926_) >>= fun w__95 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4468_ _s4104_) >>= fun w__95 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__95 with
| Some (rdc, rsc, uimm, s_) =>
returnm (Some
@@ -49675,13 +51049,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4306_ _s3926_) >>= fun w__98 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4484_ _s4104_) >>= fun w__98 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__98 with
| Some (rdc, rsc, uimm, s_) =>
Z.eqb 32 64
| _ => false
end then
- (_s4306_ _s3926_) >>= fun w__99 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4484_ _s4104_) >>= fun w__99 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__99 with
| Some (rdc, rsc, uimm, s_) =>
returnm (Some
@@ -49703,14 +51077,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4322_ _s3926_) >>= fun w__102 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4500_ _s4104_) >>= fun w__102 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__102 with
| Some
(rsc1, rsc2, uimm, s_) =>
true
| _ => false
end then
- (_s4322_ _s3926_) >>= fun w__103 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4500_ _s4104_) >>= fun w__103 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__103 with
| Some
(rsc1, rsc2, uimm, s_) =>
@@ -49733,14 +51107,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4338_ _s3926_) >>= fun w__106 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4516_ _s4104_) >>= fun w__106 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__106 with
| Some
(rsc1, rsc2, uimm, s_) =>
Z.eqb 32 64
| _ => false
end then
- (_s4338_ _s3926_) >>= fun w__107 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s4516_ _s4104_) >>= fun w__107 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__107 with
| Some
(rsc1, rsc2, uimm, s_) =>
@@ -49763,7 +51137,7 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4354_ _s3926_) >>= fun w__110 : option ((mword 5 * mword 6 * string)) =>
+ (_s4532_ _s4104_) >>= fun w__110 : option ((mword 5 * mword 6 * string)) =>
(if match w__110 with
| Some (rsd, nzi, s_) =>
andb
@@ -49774,7 +51148,7 @@ Definition assembly_matches_prefix (arg_ : string)
zreg)
| _ => false
end then
- (_s4354_ _s3926_) >>= fun w__111 : option ((mword 5 * mword 6 * string)) =>
+ (_s4532_ _s4104_) >>= fun w__111 : option ((mword 5 * mword 6 * string)) =>
(match w__111 with
| Some (rsd, nzi, s_) =>
returnm (Some
@@ -49796,13 +51170,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4366_ _s3926_) >>= fun w__114 : option ((mword 11 * string)) =>
+ (_s4544_ _s4104_) >>= fun w__114 : option ((mword 11 * string)) =>
(if match w__114 with
| Some (imm, s_) =>
Z.eqb 32 32
| _ => false
end then
- (_s4366_ _s3926_) >>= fun w__115 : option ((mword 11 * string)) =>
+ (_s4544_ _s4104_) >>= fun w__115 : option ((mword 11 * string)) =>
(match w__115 with
| Some (imm, s_) =>
returnm (Some
@@ -49824,14 +51198,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4374_ _s3926_) >>= fun w__118 : option ((mword 5 * mword 6 * string)) =>
+ (_s4552_ _s4104_) >>= fun w__118 : option ((mword 5 * mword 6 * string)) =>
(if match w__118 with
| Some
(rsd, imm, s_) =>
Z.eqb 32 64
| _ => false
end then
- (_s4374_ _s3926_) >>= fun w__119 : option ((mword 5 * mword 6 * string)) =>
+ (_s4552_ _s4104_) >>= fun w__119 : option ((mword 5 * mword 6 * string)) =>
(match w__119 with
| Some
(rsd, imm, s_) =>
@@ -49854,7 +51228,7 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4386_ _s3926_) >>= fun w__122 : option ((mword 5 * mword 6 * string)) =>
+ (_s4564_ _s4104_) >>= fun w__122 : option ((mword 5 * mword 6 * string)) =>
(if match w__122 with
| Some
(rd, imm, s_) =>
@@ -49862,8 +51236,8 @@ Definition assembly_matches_prefix (arg_ : string)
rd zreg
| _ => false
end then
- (_s4386_
- _s3926_) >>= fun w__123 : option ((mword 5 * mword 6 * string)) =>
+ (_s4564_
+ _s4104_) >>= fun w__123 : option ((mword 5 * mword 6 * string)) =>
(match w__123 with
| Some
(rd, imm, s_) =>
@@ -49886,8 +51260,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4398_
- _s3926_) >>= fun w__126 : option ((mword 6 * string)) =>
+ (_s4576_
+ _s4104_) >>= fun w__126 : option ((mword 6 * string)) =>
(if match w__126 with
| Some
(imm, s_) =>
@@ -49898,8 +51272,8 @@ Definition assembly_matches_prefix (arg_ : string)
| _ =>
false
end then
- (_s4398_
- _s3926_) >>= fun w__127 : option ((mword 6 * string)) =>
+ (_s4576_
+ _s4104_) >>= fun w__127 : option ((mword 6 * string)) =>
(match w__127 with
| Some
(imm, s_) =>
@@ -49922,8 +51296,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4406_
- _s3926_) >>= fun w__130 : option ((mword 5 * mword 6 * string)) =>
+ (_s4584_
+ _s4104_) >>= fun w__130 : option ((mword 5 * mword 6 * string)) =>
(if match w__130 with
| Some
(rd, imm, s_) =>
@@ -49943,8 +51317,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4406_
- _s3926_) >>= fun w__131 : option ((mword 5 * mword 6 * string)) =>
+ (_s4584_
+ _s4104_) >>= fun w__131 : option ((mword 5 * mword 6 * string)) =>
(match w__131 with
| Some
(rd, imm, s_) =>
@@ -49967,8 +51341,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4418_
- _s3926_) >>= fun w__134 : option ((mword 3 * mword 6 * string)) =>
+ (_s4596_
+ _s4104_) >>= fun w__134 : option ((mword 3 * mword 6 * string)) =>
(if match w__134 with
| Some
(rsd, shamt, s_) =>
@@ -49980,8 +51354,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4418_
- _s3926_) >>= fun w__135 : option ((mword 3 * mword 6 * string)) =>
+ (_s4596_
+ _s4104_) >>= fun w__135 : option ((mword 3 * mword 6 * string)) =>
(match w__135 with
| Some
(rsd, shamt, s_) =>
@@ -50004,8 +51378,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4430_
- _s3926_) >>= fun w__138 : option ((mword 3 * mword 6 * string)) =>
+ (_s4608_
+ _s4104_) >>= fun w__138 : option ((mword 3 * mword 6 * string)) =>
(if match w__138 with
| Some
(rsd, shamt, s_) =>
@@ -50017,8 +51391,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4430_
- _s3926_) >>= fun w__139 : option ((mword 3 * mword 6 * string)) =>
+ (_s4608_
+ _s4104_) >>= fun w__139 : option ((mword 3 * mword 6 * string)) =>
(match w__139 with
| Some
(rsd, shamt, s_) =>
@@ -50041,8 +51415,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4442_
- _s3926_) >>= fun w__142 : option ((mword 3 * mword 6 * string)) =>
+ (_s4620_
+ _s4104_) >>= fun w__142 : option ((mword 3 * mword 6 * string)) =>
(if
match w__142 with
| Some
@@ -50052,8 +51426,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4442_
- _s3926_) >>= fun w__143 : option ((mword 3 * mword 6 * string)) =>
+ (_s4620_
+ _s4104_) >>= fun w__143 : option ((mword 3 * mword 6 * string)) =>
(match w__143 with
| Some
(rsd, imm, s_) =>
@@ -50076,8 +51450,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4454_
- _s3926_) >>= fun w__146 : option ((mword 3 * mword 3 * string)) =>
+ (_s4632_
+ _s4104_) >>= fun w__146 : option ((mword 3 * mword 3 * string)) =>
(if
match w__146 with
| Some
@@ -50087,8 +51461,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4454_
- _s3926_) >>= fun w__147 : option ((mword 3 * mword 3 * string)) =>
+ (_s4632_
+ _s4104_) >>= fun w__147 : option ((mword 3 * mword 3 * string)) =>
(match w__147 with
| Some
(rsd, rs2, s_) =>
@@ -50111,8 +51485,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4466_
- _s3926_) >>= fun w__150 : option ((mword 3 * mword 3 * string)) =>
+ (_s4644_
+ _s4104_) >>= fun w__150 : option ((mword 3 * mword 3 * string)) =>
(if
match w__150 with
| Some
@@ -50122,8 +51496,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4466_
- _s3926_) >>= fun w__151 : option ((mword 3 * mword 3 * string)) =>
+ (_s4644_
+ _s4104_) >>= fun w__151 : option ((mword 3 * mword 3 * string)) =>
(match w__151 with
| Some
(rsd, rs2, s_) =>
@@ -50146,8 +51520,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4478_
- _s3926_) >>= fun w__154 : option ((mword 3 * mword 3 * string)) =>
+ (_s4656_
+ _s4104_) >>= fun w__154 : option ((mword 3 * mword 3 * string)) =>
(if
match w__154 with
| Some
@@ -50157,8 +51531,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4478_
- _s3926_) >>= fun w__155 : option ((mword 3 * mword 3 * string)) =>
+ (_s4656_
+ _s4104_) >>= fun w__155 : option ((mword 3 * mword 3 * string)) =>
(match w__155 with
| Some
(rsd, rs2, s_) =>
@@ -50181,8 +51555,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4490_
- _s3926_) >>= fun w__158 : option ((mword 3 * mword 3 * string)) =>
+ (_s4668_
+ _s4104_) >>= fun w__158 : option ((mword 3 * mword 3 * string)) =>
(if
match w__158 with
| Some
@@ -50192,8 +51566,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4490_
- _s3926_) >>= fun w__159 : option ((mword 3 * mword 3 * string)) =>
+ (_s4668_
+ _s4104_) >>= fun w__159 : option ((mword 3 * mword 3 * string)) =>
(match w__159 with
| Some
(rsd, rs2, s_) =>
@@ -50216,8 +51590,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4502_
- _s3926_) >>= fun w__162 : option ((mword 3 * mword 3 * string)) =>
+ (_s4680_
+ _s4104_) >>= fun w__162 : option ((mword 3 * mword 3 * string)) =>
(if
match w__162 with
| Some
@@ -50229,8 +51603,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4502_
- _s3926_) >>= fun w__163 : option ((mword 3 * mword 3 * string)) =>
+ (_s4680_
+ _s4104_) >>= fun w__163 : option ((mword 3 * mword 3 * string)) =>
(match w__163 with
| Some
(rsd, rs2, s_) =>
@@ -50253,8 +51627,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4514_
- _s3926_) >>= fun w__166 : option ((mword 3 * mword 3 * string)) =>
+ (_s4692_
+ _s4104_) >>= fun w__166 : option ((mword 3 * mword 3 * string)) =>
(if
match w__166 with
| Some
@@ -50266,8 +51640,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4514_
- _s3926_) >>= fun w__167 : option ((mword 3 * mword 3 * string)) =>
+ (_s4692_
+ _s4104_) >>= fun w__167 : option ((mword 3 * mword 3 * string)) =>
(match w__167 with
| Some
(rsd, rs2, s_) =>
@@ -50290,8 +51664,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4526_
- _s3926_) >>= fun w__170 : option ((mword 11 * string)) =>
+ (_s4704_
+ _s4104_) >>= fun w__170 : option ((mword 11 * string)) =>
(if
match w__170 with
| Some
@@ -50301,8 +51675,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4526_
- _s3926_) >>= fun w__171 : option ((mword 11 * string)) =>
+ (_s4704_
+ _s4104_) >>= fun w__171 : option ((mword 11 * string)) =>
(match w__171 with
| Some
(imm, s_) =>
@@ -50325,8 +51699,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4534_
- _s3926_) >>= fun w__174 : option ((mword 3 * mword 8 * string)) =>
+ (_s4712_
+ _s4104_) >>= fun w__174 : option ((mword 3 * mword 8 * string)) =>
(if
match w__174 with
| Some
@@ -50336,8 +51710,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4534_
- _s3926_) >>= fun w__175 : option ((mword 3 * mword 8 * string)) =>
+ (_s4712_
+ _s4104_) >>= fun w__175 : option ((mword 3 * mword 8 * string)) =>
(match w__175 with
| Some
(rs, imm, s_) =>
@@ -50360,8 +51734,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4546_
- _s3926_) >>= fun w__178 : option ((mword 3 * mword 8 * string)) =>
+ (_s4724_
+ _s4104_) >>= fun w__178 : option ((mword 3 * mword 8 * string)) =>
(if
match w__178 with
| Some
@@ -50371,8 +51745,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4546_
- _s3926_) >>= fun w__179 : option ((mword 3 * mword 8 * string)) =>
+ (_s4724_
+ _s4104_) >>= fun w__179 : option ((mword 3 * mword 8 * string)) =>
(match w__179 with
| Some
(rs, imm, s_) =>
@@ -50395,8 +51769,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4558_
- _s3926_) >>= fun w__182 : option ((mword 5 * mword 6 * string)) =>
+ (_s4736_
+ _s4104_) >>= fun w__182 : option ((mword 5 * mword 6 * string)) =>
(if
match w__182 with
| Some
@@ -50413,8 +51787,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4558_
- _s3926_) >>= fun w__183 : option ((mword 5 * mword 6 * string)) =>
+ (_s4736_
+ _s4104_) >>= fun w__183 : option ((mword 5 * mword 6 * string)) =>
(match w__183 with
| Some
(rsd, shamt, s_) =>
@@ -50437,8 +51811,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4570_
- _s3926_) >>= fun w__186 : option ((mword 5 * mword 6 * string)) =>
+ (_s4748_
+ _s4104_) >>= fun w__186 : option ((mword 5 * mword 6 * string)) =>
(if
match w__186 with
| Some
@@ -50450,8 +51824,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4570_
- _s3926_) >>= fun w__187 : option ((mword 5 * mword 6 * string)) =>
+ (_s4748_
+ _s4104_) >>= fun w__187 : option ((mword 5 * mword 6 * string)) =>
(match w__187 with
| Some
(rd, uimm, s_) =>
@@ -50474,8 +51848,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4582_
- _s3926_) >>= fun w__190 : option ((mword 5 * mword 6 * string)) =>
+ (_s4760_
+ _s4104_) >>= fun w__190 : option ((mword 5 * mword 6 * string)) =>
(if
match w__190 with
| Some
@@ -50491,8 +51865,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4582_
- _s3926_) >>= fun w__191 : option ((mword 5 * mword 6 * string)) =>
+ (_s4760_
+ _s4104_) >>= fun w__191 : option ((mword 5 * mword 6 * string)) =>
(match w__191 with
| Some
(rd, uimm, s_) =>
@@ -50515,8 +51889,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4594_
- _s3926_) >>= fun w__194 : option ((mword 5 * mword 6 * string)) =>
+ (_s4772_
+ _s4104_) >>= fun w__194 : option ((mword 5 * mword 6 * string)) =>
(if
match w__194 with
| Some
@@ -50526,8 +51900,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4594_
- _s3926_) >>= fun w__195 : option ((mword 5 * mword 6 * string)) =>
+ (_s4772_
+ _s4104_) >>= fun w__195 : option ((mword 5 * mword 6 * string)) =>
(match w__195 with
| Some
(rd, uimm, s_) =>
@@ -50550,8 +51924,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4606_
- _s3926_) >>= fun w__198 : option ((mword 5 * mword 6 * string)) =>
+ (_s4784_
+ _s4104_) >>= fun w__198 : option ((mword 5 * mword 6 * string)) =>
(if
match w__198 with
| Some
@@ -50563,8 +51937,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4606_
- _s3926_) >>= fun w__199 : option ((mword 5 * mword 6 * string)) =>
+ (_s4784_
+ _s4104_) >>= fun w__199 : option ((mword 5 * mword 6 * string)) =>
(match w__199 with
| Some
(rs2, uimm, s_) =>
@@ -50587,8 +51961,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4618_
- _s3926_) >>= fun w__202 : option ((mword 5 * string)) =>
+ (_s4796_
+ _s4104_) >>= fun w__202 : option ((mword 5 * string)) =>
(if
match w__202 with
| Some
@@ -50600,8 +51974,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4618_
- _s3926_) >>= fun w__203 : option ((mword 5 * string)) =>
+ (_s4796_
+ _s4104_) >>= fun w__203 : option ((mword 5 * string)) =>
(match w__203 with
| Some
(rs1, s_) =>
@@ -50624,8 +51998,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4626_
- _s3926_) >>= fun w__206 : option ((mword 5 * string)) =>
+ (_s4804_
+ _s4104_) >>= fun w__206 : option ((mword 5 * string)) =>
(if
match w__206 with
| Some
@@ -50637,8 +52011,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4626_
- _s3926_) >>= fun w__207 : option ((mword 5 * string)) =>
+ (_s4804_
+ _s4104_) >>= fun w__207 : option ((mword 5 * string)) =>
(match w__207 with
| Some
(rs1, s_) =>
@@ -50661,8 +52035,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4634_
- _s3926_) >>= fun w__210 : option ((mword 5 * mword 5 * string)) =>
+ (_s4812_
+ _s4104_) >>= fun w__210 : option ((mword 5 * mword 5 * string)) =>
(if
match w__210 with
| Some
@@ -50678,8 +52052,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4634_
- _s3926_) >>= fun w__211 : option ((mword 5 * mword 5 * string)) =>
+ (_s4812_
+ _s4104_) >>= fun w__211 : option ((mword 5 * mword 5 * string)) =>
(match w__211 with
| Some
(rd, rs2, s_) =>
@@ -50702,8 +52076,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else if
- match (_s4646_
- _s3926_) with
+ match (_s4824_
+ _s4104_) with
| Some
s_ =>
true
@@ -50711,8 +52085,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (match (_s4646_
- _s3926_) with
+ (match (_s4824_
+ _s4104_) with
| Some
s_ =>
returnm (Some
@@ -50734,8 +52108,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4650_
- _s3926_) >>= fun w__216 : option ((mword 5 * mword 5 * string)) =>
+ (_s4828_
+ _s4104_) >>= fun w__216 : option ((mword 5 * mword 5 * string)) =>
(if
match w__216 with
| Some
@@ -50751,8 +52125,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4650_
- _s3926_) >>= fun w__217 : option ((mword 5 * mword 5 * string)) =>
+ (_s4828_
+ _s4104_) >>= fun w__217 : option ((mword 5 * mword 5 * string)) =>
(match w__217 with
| Some
(rsd, rs2, s_) =>
@@ -50775,8 +52149,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4662_
- _s3926_) >>= fun w__220 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4840_
+ _s4104_) >>= fun w__220 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__220 with
| Some
@@ -50786,8 +52160,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4662_
- _s3926_) >>= fun w__221 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4840_
+ _s4104_) >>= fun w__221 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__221 with
| Some
(high, signed1, signed2, rd, rs1, rs2, s_) =>
@@ -50810,8 +52184,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4679_
- _s3926_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4857_
+ _s4104_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__224 with
| Some
@@ -50821,8 +52195,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4679_
- _s3926_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4857_
+ _s4104_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__225 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -50845,8 +52219,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4697_
- _s3926_) >>= fun w__228 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4875_
+ _s4104_) >>= fun w__228 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__228 with
| Some
@@ -50856,8 +52230,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4697_
- _s3926_) >>= fun w__229 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4875_
+ _s4104_) >>= fun w__229 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__229 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -50880,8 +52254,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4715_
- _s3926_) >>= fun w__232 : option ((mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4893_
+ _s4104_) >>= fun w__232 : option ((mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__232 with
| Some
@@ -50893,8 +52267,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4715_
- _s3926_) >>= fun w__233 : option ((mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4893_
+ _s4104_) >>= fun w__233 : option ((mword 5 * mword 5 * mword 5 * string)) =>
(match w__233 with
| Some
(rd, rs1, rs2, s_) =>
@@ -50917,8 +52291,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4731_
- _s3926_) >>= fun w__236 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4909_
+ _s4104_) >>= fun w__236 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__236 with
| Some
@@ -50930,8 +52304,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4731_
- _s3926_) >>= fun w__237 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4909_
+ _s4104_) >>= fun w__237 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__237 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -50954,8 +52328,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4750_
- _s3926_) >>= fun w__240 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4928_
+ _s4104_) >>= fun w__240 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__240 with
| Some
@@ -50967,8 +52341,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4750_
- _s3926_) >>= fun w__241 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s4928_
+ _s4104_) >>= fun w__241 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__241 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -50991,8 +52365,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4769_
- _s3926_) >>= fun w__244 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4947_
+ _s4104_) >>= fun w__244 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(if
match w__244 with
| Some
@@ -51002,8 +52376,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4769_
- _s3926_) >>= fun w__245 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4947_
+ _s4104_) >>= fun w__245 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(match w__245 with
| Some
(op, rd, csr, rs1, s_) =>
@@ -51026,8 +52400,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4787_
- _s3926_) >>= fun w__248 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4965_
+ _s4104_) >>= fun w__248 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(if
match w__248 with
| Some
@@ -51037,8 +52411,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s4787_
- _s3926_) >>= fun w__249 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4965_
+ _s4104_) >>= fun w__249 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(match w__249 with
| Some
(op, rd, csr, rs1, s_) =>
@@ -51061,8 +52435,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else if
- match (_s4804_
- _s3926_) with
+ match (_s4982_
+ _s4104_) with
| Some
s_ =>
true
@@ -51070,8 +52444,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (match (_s4804_
- _s3926_) with
+ (match (_s4982_
+ _s4104_) with
| Some
s_ =>
returnm (Some
@@ -51092,26 +52466,127 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
+ else if
+ match (_s4986_
+ _s4104_) with
+ | Some
+ (imm, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (match (_s4986_
+ _s4104_) with
+ | Some
+ (imm, s_) =>
+ returnm (Some
+ (C_NOP_HINT
+ imm, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
else
- (_s4808_
- _s3926_) >>= fun w__254 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s4992_
+ _s4104_) >>= fun w__256 : option ((mword 5 * string)) =>
(if
- match w__254 with
+ match w__256 with
+ | Some
+ (rsd, s_) =>
+ neq_vec
+ rsd
+ zreg
+ | _ =>
+ false
+ end
+ then
+ (_s4992_
+ _s4104_) >>= fun w__257 : option ((mword 5 * string)) =>
+ (match w__257 with
+ | Some
+ (rsd, s_) =>
+ returnm (Some
+ (C_ADDI_HINT
+ rsd, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else if
+ match (_s4998_
+ _s4104_) with
| Some
- (width, rd, imm, rs1, s_) =>
+ (imm, s_) =>
true
| _ =>
false
end
then
- (_s4808_
- _s3926_) >>= fun w__255 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
- (match w__255 with
+ (match (_s4998_
+ _s4104_) with
+ | Some
+ (imm, s_) =>
+ returnm (Some
+ (C_LI_HINT
+ imm, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else if
+ match (_s5004_
+ _s4104_) with
+ | Some
+ (imm, s_) =>
+ neq_vec
+ imm
+ ('b"000000"
+ : mword 6)
+ | _ =>
+ false
+ end
+ then
+ (match (_s5004_
+ _s4104_) with
| Some
- (width, rd, imm, rs1, s_) =>
+ (imm, s_) =>
returnm (Some
- (LOAD_FP
- (imm, rs1, rd, width), build_ex
+ (C_LUI_HINT
+ imm, build_ex
(projT1
(sub_nat
(projT1
@@ -51128,25 +52603,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4832_
- _s3926_) >>= fun w__258 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s5010_
+ _s4104_) >>= fun w__264 : option ((mword 5 * string)) =>
(if
- match w__258 with
+ match w__264 with
| Some
- (width, rs2, imm, rs1, s_) =>
- true
+ (rs2, s_) =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s4832_
- _s3926_) >>= fun w__259 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
- (match w__259 with
+ (_s5010_
+ _s4104_) >>= fun w__265 : option ((mword 5 * string)) =>
+ (match w__265 with
| Some
- (width, rs2, imm, rs1, s_) =>
+ (rs2, s_) =>
returnm (Some
- (STORE_FP
- (imm, rs2, rs1, width), build_ex
+ (C_MV_HINT
+ rs2, build_ex
(projT1
(sub_nat
(projT1
@@ -51163,25 +52640,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4856_
- _s3926_) >>= fun w__262 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5016_
+ _s4104_) >>= fun w__268 : option ((mword 5 * string)) =>
(if
- match w__262 with
+ match w__268 with
| Some
- (op, rd, rs1, rs2, rs3, rm, s_) =>
- true
+ (rs2, s_) =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s4856_
- _s3926_) >>= fun w__263 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__263 with
+ (_s5016_
+ _s4104_) >>= fun w__269 : option ((mword 5 * string)) =>
+ (match w__269 with
| Some
- (op, rd, rs1, rs2, rs3, rm, s_) =>
+ (rs2, s_) =>
returnm (Some
- (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, op), build_ex
+ (C_ADD_HINT
+ rs2, build_ex
(projT1
(sub_nat
(projT1
@@ -51198,25 +52677,32 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4881_
- _s3926_) >>= fun w__266 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5022_
+ _s4104_) >>= fun w__272 : option ((mword 5 * mword 6 * string)) =>
(if
- match w__266 with
+ match w__272 with
| Some
- (op, rd, rs1, rs2, rm, s_) =>
- true
+ (rsd, shamt, s_) =>
+ orb
+ (eq_vec
+ shamt
+ ('b"000000"
+ : mword 6))
+ (eq_vec
+ rsd
+ zreg)
| _ =>
false
end
then
- (_s4881_
- _s3926_) >>= fun w__267 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__267 with
+ (_s5022_
+ _s4104_) >>= fun w__273 : option ((mword 5 * mword 6 * string)) =>
+ (match w__273 with
| Some
- (op, rd, rs1, rs2, rm, s_) =>
+ (rsd, shamt, s_) =>
returnm (Some
- (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, op), build_ex
+ (C_SLLI_HINT
+ (shamt, rsd), build_ex
(projT1
(sub_nat
(projT1
@@ -51233,25 +52719,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4902_
- _s3926_) >>= fun w__270 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5031_
+ _s4104_) >>= fun w__276 : option ((mword 3 * string)) =>
(if
- match w__270 with
+ match w__276 with
| Some
- (FSQRT_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
true
| _ =>
false
end
then
- (_s4902_
- _s3926_) >>= fun w__271 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__271 with
+ (_s5031_
+ _s4104_) >>= fun w__277 : option ((mword 3 * string)) =>
+ (match w__277 with
| Some
- (FSQRT_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FSQRT_S), build_ex
+ (C_SRLI_HINT
+ rsd, build_ex
(projT1
(sub_nat
(projT1
@@ -51268,25 +52754,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4919_
- _s3926_) >>= fun w__274 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5037_
+ _s4104_) >>= fun w__280 : option ((mword 3 * string)) =>
(if
- match w__274 with
+ match w__280 with
| Some
- (FCVT_W_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
true
| _ =>
false
end
then
- (_s4919_
- _s3926_) >>= fun w__275 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__275 with
+ (_s5037_
+ _s4104_) >>= fun w__281 : option ((mword 3 * string)) =>
+ (match w__281 with
| Some
- (FCVT_W_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_W_S), build_ex
+ (C_SRAI_HINT
+ rsd, build_ex
(projT1
(sub_nat
(projT1
@@ -51303,25 +52789,43 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4936_
- _s3926_) >>= fun w__278 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5043_
+ _s4104_) >>= fun w__284 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)) =>
(if
- match w__278 with
+ match w__284 with
| Some
- (FCVT_WU_S, rd, rs1, rm, s_) =>
- true
+ (pred, succ, rs, rd, fm, s_) =>
+ orb
+ (andb
+ (neq_vec
+ fm
+ (Ox"0"
+ : mword 4))
+ (neq_vec
+ fm
+ (Ox"8"
+ : mword 4)))
+ (orb
+ (neq_vec
+ rs
+ ('b"00000"
+ : mword 5))
+ (neq_vec
+ rd
+ ('b"00000"
+ : mword 5)))
| _ =>
false
end
then
- (_s4936_
- _s3926_) >>= fun w__279 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__279 with
+ (_s5043_
+ _s4104_) >>= fun w__285 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)) =>
+ (match w__285 with
| Some
- (FCVT_WU_S, rd, rs1, rm, s_) =>
+ (pred, succ, rs, rd, fm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_WU_S), build_ex
+ (FENCE_RESERVED
+ (fm, pred, succ, rs, rd), build_ex
(projT1
(sub_nat
(projT1
@@ -51338,25 +52842,36 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4953_
- _s3926_) >>= fun w__282 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5061_
+ _s4104_) >>= fun w__288 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(if
- match w__282 with
+ match w__288 with
| Some
- (FCVT_S_W, rd, rs1, rm, s_) =>
- true
+ (rd, rs, imm, s_) =>
+ orb
+ (neq_vec
+ imm
+ (Ox"000"
+ : mword 12))
+ (orb
+ (neq_vec
+ rs
+ zreg)
+ (neq_vec
+ rd
+ zreg))
| _ =>
false
end
then
- (_s4953_
- _s3926_) >>= fun w__283 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__283 with
+ (_s5061_
+ _s4104_) >>= fun w__289 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (match w__289 with
| Some
- (FCVT_S_W, rd, rs1, rm, s_) =>
+ (rd, rs, imm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_W), build_ex
+ (FENCEI_RESERVED
+ (imm, rs, rd), build_ex
(projT1
(sub_nat
(projT1
@@ -51373,25 +52888,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4970_
- _s3926_) >>= fun w__286 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5073_
+ _s4104_) >>= fun w__292 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
(if
- match w__286 with
+ match w__292 with
| Some
- (FCVT_S_WU, rd, rs1, rm, s_) =>
+ (width, rd, imm, rs1, s_) =>
true
| _ =>
false
end
then
- (_s4970_
- _s3926_) >>= fun w__287 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__287 with
+ (_s5073_
+ _s4104_) >>= fun w__293 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (match w__293 with
| Some
- (FCVT_S_WU, rd, rs1, rm, s_) =>
+ (width, rd, imm, rs1, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_WU), build_ex
+ (LOAD_FP
+ (imm, rs1, rd, width), build_ex
(projT1
(sub_nat
(projT1
@@ -51408,25 +52923,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s4987_
- _s3926_) >>= fun w__290 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5097_
+ _s4104_) >>= fun w__296 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
(if
- match w__290 with
+ match w__296 with
| Some
- (FCVT_L_S, rd, rs1, rm, s_) =>
+ (width, rs2, imm, rs1, s_) =>
true
| _ =>
false
end
then
- (_s4987_
- _s3926_) >>= fun w__291 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__291 with
+ (_s5097_
+ _s4104_) >>= fun w__297 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (match w__297 with
| Some
- (FCVT_L_S, rd, rs1, rm, s_) =>
+ (width, rs2, imm, rs1, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_L_S), build_ex
+ (STORE_FP
+ (imm, rs2, rs1, width), build_ex
(projT1
(sub_nat
(projT1
@@ -51443,25 +52958,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5004_
- _s3926_) >>= fun w__294 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5121_
+ _s4104_) >>= fun w__300 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__294 with
+ match w__300 with
| Some
- (FCVT_LU_S, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rs3, rm, s_) =>
true
| _ =>
false
end
then
- (_s5004_
- _s3926_) >>= fun w__295 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__295 with
+ (_s5121_
+ _s4104_) >>= fun w__301 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__301 with
| Some
- (FCVT_LU_S, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rs3, rm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_LU_S), build_ex
+ (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, op), build_ex
(projT1
(sub_nat
(projT1
@@ -51478,25 +52993,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5021_
- _s3926_) >>= fun w__298 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5146_
+ _s4104_) >>= fun w__304 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__298 with
+ match w__304 with
| Some
- (FCVT_S_L, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rm, s_) =>
true
| _ =>
false
end
then
- (_s5021_
- _s3926_) >>= fun w__299 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__299 with
+ (_s5146_
+ _s4104_) >>= fun w__305 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__305 with
| Some
- (FCVT_S_L, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_L), build_ex
+ (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, op), build_ex
(projT1
(sub_nat
(projT1
@@ -51513,25 +53028,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5038_
- _s3926_) >>= fun w__302 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s5167_
+ _s4104_) >>= fun w__308 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__302 with
+ match w__308 with
| Some
- (FCVT_S_LU, rd, rs1, rm, s_) =>
+ (FSQRT_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5038_
- _s3926_) >>= fun w__303 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__303 with
+ (_s5167_
+ _s4104_) >>= fun w__309 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__309 with
| Some
- (FCVT_S_LU, rd, rs1, rm, s_) =>
+ (FSQRT_S, rd, rs1, rm, s_) =>
returnm (Some
(F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_LU), build_ex
+ (rs1, rm, rd, FSQRT_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51548,25 +53063,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5055_
- _s3926_) >>= fun w__306 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5184_
+ _s4104_) >>= fun w__312 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__306 with
+ match w__312 with
| Some
- (FSGNJ_S, rd, rs1, rs2, s_) =>
+ (FCVT_W_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5055_
- _s3926_) >>= fun w__307 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__307 with
+ (_s5184_
+ _s4104_) >>= fun w__313 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__313 with
| Some
- (FSGNJ_S, rd, rs1, rs2, s_) =>
+ (FCVT_W_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJ_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_W_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51583,25 +53098,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5072_
- _s3926_) >>= fun w__310 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5201_
+ _s4104_) >>= fun w__316 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__310 with
+ match w__316 with
| Some
- (FSGNJN_S, rd, rs1, rs2, s_) =>
+ (FCVT_WU_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5072_
- _s3926_) >>= fun w__311 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__311 with
+ (_s5201_
+ _s4104_) >>= fun w__317 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__317 with
| Some
- (FSGNJN_S, rd, rs1, rs2, s_) =>
+ (FCVT_WU_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJN_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_WU_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51618,25 +53133,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5089_
- _s3926_) >>= fun w__314 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5218_
+ _s4104_) >>= fun w__320 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__314 with
+ match w__320 with
| Some
- (FSGNJX_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_W, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5089_
- _s3926_) >>= fun w__315 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__315 with
+ (_s5218_
+ _s4104_) >>= fun w__321 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__321 with
| Some
- (FSGNJX_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_W, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJX_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_W), build_ex
(projT1
(sub_nat
(projT1
@@ -51653,25 +53168,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5106_
- _s3926_) >>= fun w__318 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5235_
+ _s4104_) >>= fun w__324 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__318 with
+ match w__324 with
| Some
- (FMIN_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_WU, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5106_
- _s3926_) >>= fun w__319 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__319 with
+ (_s5235_
+ _s4104_) >>= fun w__325 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__325 with
| Some
- (FMIN_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_WU, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FMIN_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_WU), build_ex
(projT1
(sub_nat
(projT1
@@ -51688,25 +53203,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5123_
- _s3926_) >>= fun w__322 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5252_
+ _s4104_) >>= fun w__328 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__322 with
+ match w__328 with
| Some
- (FMAX_S, rd, rs1, rs2, s_) =>
+ (FCVT_L_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5123_
- _s3926_) >>= fun w__323 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__323 with
+ (_s5252_
+ _s4104_) >>= fun w__329 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__329 with
| Some
- (FMAX_S, rd, rs1, rs2, s_) =>
+ (FCVT_L_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FMAX_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_L_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51723,25 +53238,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5140_
- _s3926_) >>= fun w__326 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5269_
+ _s4104_) >>= fun w__332 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__326 with
+ match w__332 with
| Some
- (FEQ_S, rd, rs1, rs2, s_) =>
+ (FCVT_LU_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5140_
- _s3926_) >>= fun w__327 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__327 with
+ (_s5269_
+ _s4104_) >>= fun w__333 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__333 with
| Some
- (FEQ_S, rd, rs1, rs2, s_) =>
+ (FCVT_LU_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FEQ_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_LU_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51758,25 +53273,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5157_
- _s3926_) >>= fun w__330 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5286_
+ _s4104_) >>= fun w__336 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__330 with
+ match w__336 with
| Some
- (FLT_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_L, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5157_
- _s3926_) >>= fun w__331 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__331 with
+ (_s5286_
+ _s4104_) >>= fun w__337 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__337 with
| Some
- (FLT_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_L, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FLT_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_L), build_ex
(projT1
(sub_nat
(projT1
@@ -51793,25 +53308,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5174_
- _s3926_) >>= fun w__334 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5303_
+ _s4104_) >>= fun w__340 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__334 with
+ match w__340 with
| Some
- (FLE_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_LU, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s5174_
- _s3926_) >>= fun w__335 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__335 with
+ (_s5303_
+ _s4104_) >>= fun w__341 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__341 with
| Some
- (FLE_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_LU, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FLE_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_LU), build_ex
(projT1
(sub_nat
(projT1
@@ -51828,25 +53343,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5191_
- _s3926_) >>= fun w__338 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (_s5320_
+ _s4104_) >>= fun w__344 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__338 with
+ match w__344 with
| Some
- (FMV_X_W, rd, rs1, s_) =>
+ (FSGNJ_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s5191_
- _s3926_) >>= fun w__339 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
- (match w__339 with
+ (_s5320_
+ _s4104_) >>= fun w__345 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__345 with
| Some
- (FMV_X_W, rd, rs1, s_) =>
+ (FSGNJ_S, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_S
- (rs1, rd, FMV_X_W), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJ_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51863,25 +53378,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5204_
- _s3926_) >>= fun w__342 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (_s5337_
+ _s4104_) >>= fun w__348 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__342 with
+ match w__348 with
| Some
- (FMV_W_X, rd, rs1, s_) =>
+ (FSGNJN_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s5204_
- _s3926_) >>= fun w__343 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
- (match w__343 with
+ (_s5337_
+ _s4104_) >>= fun w__349 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__349 with
| Some
- (FMV_W_X, rd, rs1, s_) =>
+ (FSGNJN_S, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_S
- (rs1, rd, FMV_W_X), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJN_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51898,25 +53413,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5217_
- _s3926_) >>= fun w__346 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (_s5354_
+ _s4104_) >>= fun w__352 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__346 with
+ match w__352 with
| Some
- (FCLASS_S, rd, rs1, s_) =>
+ (FSGNJX_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s5217_
- _s3926_) >>= fun w__347 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
- (match w__347 with
+ (_s5354_
+ _s4104_) >>= fun w__353 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__353 with
| Some
- (FCLASS_S, rd, rs1, s_) =>
+ (FSGNJX_S, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_S
- (rs1, rd, FCLASS_S), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJX_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51933,27 +53448,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5230_
- _s3926_) >>= fun w__350 : option ((mword 5 * mword 6 * string)) =>
+ (_s5371_
+ _s4104_) >>= fun w__356 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__350 with
+ match w__356 with
| Some
- (rd, imm, s_) =>
- Z.eqb
- 32
- 32
+ (FMIN_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s5230_
- _s3926_) >>= fun w__351 : option ((mword 5 * mword 6 * string)) =>
- (match w__351 with
+ (_s5371_
+ _s4104_) >>= fun w__357 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__357 with
| Some
- (rd, imm, s_) =>
+ (FMIN_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FLWSP
- (imm, rd), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMIN_S), build_ex
(projT1
(sub_nat
(projT1
@@ -51970,27 +53483,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5242_
- _s3926_) >>= fun w__354 : option ((mword 5 * mword 6 * string)) =>
+ (_s5388_
+ _s4104_) >>= fun w__360 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__354 with
+ match w__360 with
| Some
- (rd, uimm, s_) =>
- Z.eqb
- 32
- 32
+ (FMAX_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s5242_
- _s3926_) >>= fun w__355 : option ((mword 5 * mword 6 * string)) =>
- (match w__355 with
+ (_s5388_
+ _s4104_) >>= fun w__361 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__361 with
| Some
- (rd, uimm, s_) =>
+ (FMAX_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FSWSP
- (uimm, rd), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMAX_S), build_ex
(projT1
(sub_nat
(projT1
@@ -52007,27 +53518,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5254_
- _s3926_) >>= fun w__358 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5405_
+ _s4104_) >>= fun w__364 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__358 with
+ match w__364 with
| Some
- (rdc, rsc, uimm, s_) =>
- Z.eqb
- 32
- 32
+ (FEQ_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s5254_
- _s3926_) >>= fun w__359 : option ((mword 3 * mword 3 * mword 5 * string)) =>
- (match w__359 with
+ (_s5405_
+ _s4104_) >>= fun w__365 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__365 with
| Some
- (rdc, rsc, uimm, s_) =>
+ (FEQ_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FLW
- (uimm, rsc, rdc), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FEQ_S), build_ex
(projT1
(sub_nat
(projT1
@@ -52044,27 +53553,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5270_
- _s3926_) >>= fun w__362 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5422_
+ _s4104_) >>= fun w__368 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__362 with
+ match w__368 with
| Some
- (rsc1, rsc2, uimm, s_) =>
- Z.eqb
- 32
- 32
+ (FLT_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s5270_
- _s3926_) >>= fun w__363 : option ((mword 3 * mword 3 * mword 5 * string)) =>
- (match w__363 with
+ (_s5422_
+ _s4104_) >>= fun w__369 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__369 with
| Some
- (rsc1, rsc2, uimm, s_) =>
+ (FLT_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FSW
- (uimm, rsc1, rsc2), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLT_S), build_ex
(projT1
(sub_nat
(projT1
@@ -52081,25 +53588,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5286_
- _s3926_) >>= fun w__366 : option ((mword 32 * string)) =>
+ (_s5439_
+ _s4104_) >>= fun w__372 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__366 with
+ match w__372 with
| Some
- (s, s_) =>
+ (FLE_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s5286_
- _s3926_) >>= fun w__367 : option ((mword 32 * string)) =>
- (match w__367 with
+ (_s5439_
+ _s4104_) >>= fun w__373 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__373 with
| Some
- (s, s_) =>
+ (FLE_S, rd, rs1, rs2, s_) =>
returnm (Some
- (ILLEGAL
- s, build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLE_S), build_ex
(projT1
(sub_nat
(projT1
@@ -52116,25 +53623,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5294_
- _s3926_) >>= fun w__370 : option ((mword 16 * string)) =>
+ (_s5456_
+ _s4104_) >>= fun w__376 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
(if
- match w__370 with
+ match w__376 with
| Some
- (s, s_) =>
+ (FMV_X_W, rd, rs1, s_) =>
true
| _ =>
false
end
then
- (_s5294_
- _s3926_) >>= fun w__371 : option ((mword 16 * string)) =>
- (match w__371 with
+ (_s5456_
+ _s4104_) >>= fun w__377 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (match w__377 with
| Some
- (s, s_) =>
+ (FMV_X_W, rd, rs1, s_) =>
returnm (Some
- (C_ILLEGAL
- s, build_ex
+ (F_UN_TYPE_S
+ (rs1, rd, FMV_X_W), build_ex
(projT1
(sub_nat
(projT1
@@ -52151,7 +53658,311 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- returnm None)
+ (_s5469_
+ _s4104_) >>= fun w__380 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (if
+ match w__380 with
+ | Some
+ (FMV_W_X, rd, rs1, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5469_
+ _s4104_) >>= fun w__381 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (match w__381 with
+ | Some
+ (FMV_W_X, rd, rs1, s_) =>
+ returnm (Some
+ (F_UN_TYPE_S
+ (rs1, rd, FMV_W_X), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s5482_
+ _s4104_) >>= fun w__384 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (if
+ match w__384 with
+ | Some
+ (FCLASS_S, rd, rs1, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5482_
+ _s4104_) >>= fun w__385 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (match w__385 with
+ | Some
+ (FCLASS_S, rd, rs1, s_) =>
+ returnm (Some
+ (F_UN_TYPE_S
+ (rs1, rd, FCLASS_S), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s5495_
+ _s4104_) >>= fun w__388 : option ((mword 5 * mword 6 * string)) =>
+ (if
+ match w__388 with
+ | Some
+ (rd, imm, s_) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s5495_
+ _s4104_) >>= fun w__389 : option ((mword 5 * mword 6 * string)) =>
+ (match w__389 with
+ | Some
+ (rd, imm, s_) =>
+ returnm (Some
+ (C_FLWSP
+ (imm, rd), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s5507_
+ _s4104_) >>= fun w__392 : option ((mword 5 * mword 6 * string)) =>
+ (if
+ match w__392 with
+ | Some
+ (rd, uimm, s_) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s5507_
+ _s4104_) >>= fun w__393 : option ((mword 5 * mword 6 * string)) =>
+ (match w__393 with
+ | Some
+ (rd, uimm, s_) =>
+ returnm (Some
+ (C_FSWSP
+ (uimm, rd), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s5519_
+ _s4104_) >>= fun w__396 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (if
+ match w__396 with
+ | Some
+ (rdc, rsc, uimm, s_) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s5519_
+ _s4104_) >>= fun w__397 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (match w__397 with
+ | Some
+ (rdc, rsc, uimm, s_) =>
+ returnm (Some
+ (C_FLW
+ (uimm, rsc, rdc), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s5535_
+ _s4104_) >>= fun w__400 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (if
+ match w__400 with
+ | Some
+ (rsc1, rsc2, uimm, s_) =>
+ Z.eqb
+ 32
+ 32
+ | _ =>
+ false
+ end
+ then
+ (_s5535_
+ _s4104_) >>= fun w__401 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (match w__401 with
+ | Some
+ (rsc1, rsc2, uimm, s_) =>
+ returnm (Some
+ (C_FSW
+ (uimm, rsc1, rsc2), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s5551_
+ _s4104_) >>= fun w__404 : option ((mword 32 * string)) =>
+ (if
+ match w__404 with
+ | Some
+ (s, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5551_
+ _s4104_) >>= fun w__405 : option ((mword 32 * string)) =>
+ (match w__405 with
+ | Some
+ (s, s_) =>
+ returnm (Some
+ (ILLEGAL
+ s, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s5559_
+ _s4104_) >>= fun w__408 : option ((mword 16 * string)) =>
+ (if
+ match w__408 with
+ | Some
+ (s, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5559_
+ _s4104_) >>= fun w__409 : option ((mword 16 * string)) =>
+ (match w__409 with
+ | Some
+ (s, s_) =>
+ returnm (Some
+ (C_ILLEGAL
+ s, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ returnm None)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
: M (option ((ast * {n : Z & ArithFact (n >=?
0)}))))
: M (option ((ast * {n : Z & ArithFact (n >=?
diff --git a/prover_snapshots/coq/RV32/riscv_extras.v b/prover_snapshots/coq/RV32/riscv_extras.v
index 02d5609..4b069ec 100644
--- a/prover_snapshots/coq/RV32/riscv_extras.v
+++ b/prover_snapshots/coq/RV32/riscv_extras.v
@@ -141,6 +141,7 @@ Definition string_of_int z := DecimalString.NilZero.string_of_int (Z.to_int z).
Axiom sys_enable_writable_misa : unit -> bool.
Axiom sys_enable_rvc : unit -> bool.
Axiom sys_enable_fdext : unit -> bool.
+Axiom sys_enable_next : unit -> bool.
(* The constraint solver can do this itself, but a Coq bug puts
anonymous_subproof into the term instead of an actual subproof. *)
diff --git a/prover_snapshots/coq/RV32/riscv_types.v b/prover_snapshots/coq/RV32/riscv_types.v
index 9002adc..0cc359f 100644
--- a/prover_snapshots/coq/RV32/riscv_types.v
+++ b/prover_snapshots/coq/RV32/riscv_types.v
@@ -83,6 +83,8 @@ Definition exc_code : Type := bits 8.
Definition ext_ptw : Type := unit.
+Definition ext_ptw_fail : Type := unit.
+
Definition ext_ptw_error : Type := unit.
Definition ext_exc_type : Type := unit.
@@ -126,7 +128,7 @@ Decidable_eq_from_dec Privilege_eq_dec.
Inductive AccessType {a : Type} :=
| Read : a -> AccessType
| Write : a -> AccessType
- | ReadWrite : a -> AccessType
+ | ReadWrite : (a * a) -> AccessType
| Execute : unit -> AccessType.
Arguments AccessType : clear implicits.
Instance Decidable_eq_AccessType {a : Type} `{forall x y : a, Decidable (x = y)}:
@@ -338,6 +340,17 @@ Inductive ast :=
| REMW : (regidx * regidx * regidx * bool) -> ast
| CSR : (bits 12 * regidx * regidx * bool * csrop) -> ast
| URET : unit -> ast
+ | C_NOP_HINT : bits 6 -> ast
+ | C_ADDI_HINT : regidx -> ast
+ | C_LI_HINT : bits 6 -> ast
+ | C_LUI_HINT : bits 6 -> ast
+ | C_MV_HINT : regidx -> ast
+ | C_ADD_HINT : regidx -> ast
+ | C_SLLI_HINT : (bits 6 * regidx) -> ast
+ | C_SRLI_HINT : cregidx -> ast
+ | C_SRAI_HINT : cregidx -> ast
+ | FENCE_RESERVED : (bits 4 * bits 4 * bits 4 * regidx * regidx) -> ast
+ | FENCEI_RESERVED : (bits 12 * regidx * regidx) -> ast
| LOAD_FP : (bits 12 * regidx * regidx * word_width) -> ast
| STORE_FP : (bits 12 * regidx * regidx * word_width) -> ast
| F_MADD_TYPE_S : (regidx * regidx * regidx * rounding_mode * regidx * f_madd_op_S) -> ast
@@ -499,6 +512,11 @@ Arguments Mstatus : clear implicits.
Notation "{[ r 'with' 'Mstatus_Mstatus_chunk_0' := e ]}" :=
{| Mstatus_Mstatus_chunk_0 := e |} (only parsing).
+Record Mstatush := { Mstatush_Mstatush_chunk_0 : mword 32; }.
+Arguments Mstatush : clear implicits.
+Notation "{[ r 'with' 'Mstatush_Mstatush_chunk_0' := e ]}" :=
+ {| Mstatush_Mstatush_chunk_0 := e |} (only parsing).
+
Record Mtvec := { Mtvec_Mtvec_chunk_0 : mword 32; }.
Arguments Mtvec : clear implicits.
Notation "{[ r 'with' 'Mtvec_Mtvec_chunk_0' := e ]}" :=
@@ -633,6 +651,11 @@ Inductive Ext_DataAddr_Check {a : Type} :=
| Ext_DataAddr_OK : xlenbits -> Ext_DataAddr_Check | Ext_DataAddr_Error : a -> Ext_DataAddr_Check.
Arguments Ext_DataAddr_Check : clear implicits.
+Inductive Ext_PhysAddr_Check :=
+ | Ext_PhysAddr_OK : unit -> Ext_PhysAddr_Check
+ | Ext_PhysAddr_Error : ExceptionType -> Ext_PhysAddr_Check.
+Arguments Ext_PhysAddr_Check : clear implicits.
+
Definition ext_fetch_addr_error : Type := unit.
Definition ext_control_addr_error : Type := unit.
@@ -691,7 +714,8 @@ Definition pteAttribs : Type := bits 8.
Definition extPte : Type := bits 10.
Inductive PTE_Check :=
- | PTE_Check_Success : ext_ptw -> PTE_Check | PTE_Check_Failure : ext_ptw -> PTE_Check.
+ | PTE_Check_Success : ext_ptw -> PTE_Check
+ | PTE_Check_Failure : (ext_ptw * ext_ptw_fail) -> PTE_Check.
Arguments PTE_Check : clear implicits.
Definition vaddr32 : Type := bits 32.
@@ -776,6 +800,7 @@ Inductive register_value :=
| Regval_Minterrupts : Minterrupts -> register_value
| Regval_Misa : Misa -> register_value
| Regval_Mstatus : Mstatus -> register_value
+ | Regval_Mstatush : Mstatush -> register_value
| Regval_Mtvec : Mtvec -> register_value
| Regval_Pmpcfg_ent : Pmpcfg_ent -> register_value
| Regval_Privilege : Privilege -> register_value
@@ -784,6 +809,7 @@ Inductive register_value :=
| Regval_TLB_Entry_9_32_34_32 : TLB_Entry 9 32 34 32 -> register_value
| Regval_bit : bitU -> register_value
| Regval_bitvector_32_dec : mword 32 -> register_value
+ | Regval_bitvector_4_dec : mword 4 -> register_value
| Regval_bitvector_64_dec : mword 64 -> register_value
| Regval_bool : bool -> register_value.
Arguments register_value : clear implicits.
@@ -791,6 +817,8 @@ Arguments register_value : clear implicits.
Record regstate :=
{ satp : mword 32;
tlb32 : option (TLB_Entry 9 32 34 32);
+ htif_payload_writes : mword 4;
+ htif_cmd_write : bitU;
htif_exit_code : mword 64;
htif_done : bool;
htif_tohost : mword 64;
@@ -828,7 +856,6 @@ Record regstate :=
f2 : mword 32;
f1 : mword 32;
f0 : mword 32;
- fs : vec (mword 32) 32;
float_fflags : mword 64;
float_result : mword 64;
utval : mword 32;
@@ -897,6 +924,7 @@ Record regstate :=
mie : Minterrupts;
mip : Minterrupts;
mstatus : Mstatus;
+ mstatush : Mstatush;
misa : Misa;
cur_inst : mword 32;
cur_privilege : Privilege;
@@ -931,594 +959,597 @@ Record regstate :=
x3 : mword 32;
x2 : mword 32;
x1 : mword 32;
- Xs : vec (mword 32) 32;
instbits : mword 32;
nextPC : mword 32;
PC : mword 32; }.
Arguments regstate : clear implicits.
Notation "{[ r 'with' 'satp' := e ]}" :=
- match r with Build_regstate _ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate e f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate _ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate e f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'tlb32' := e ]}" :=
- match r with Build_regstate f0 _ f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 e f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 _ f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 e f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ end.
+Notation "{[ r 'with' 'htif_payload_writes' := e ]}" :=
+ match r with Build_regstate f0 f1 _ f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 e f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ end.
+Notation "{[ r 'with' 'htif_cmd_write' := e ]}" :=
+ match r with Build_regstate f0 f1 f2 _ f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 e f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'htif_exit_code' := e ]}" :=
- match r with Build_regstate f0 f1 _ f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 e f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 _ f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 e f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'htif_done' := e ]}" :=
- match r with Build_regstate f0 f1 f2 _ f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 e f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 _ f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 e f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'htif_tohost' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 _ f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 e f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 _ f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 e f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mtimecmp' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 _ f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 e f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 _ f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 e f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'fcsr' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 _ f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 e f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 _ f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 e f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f31' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 _ f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 e f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 _ f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 e f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f30' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 _ f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 e f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 _ f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 e f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f29' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 _ f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 e f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 _ f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 e f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f28' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 _ f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 e f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 _ f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 e f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f27' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 _ f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 e f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _ f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 e f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f26' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 _ f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 e f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 _ f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 e f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f25' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _ f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 e f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 _ f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 e f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f24' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 _ f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 e f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 _ f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 e f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f23' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 _ f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 e f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 _ f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 e f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f22' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 _ f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 e f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 _ f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 e f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f21' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 _ f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 e f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 _ f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 e f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f20' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 _ f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 e f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 _ f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 e f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f19' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 _ f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 e f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 _ f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 e f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f18' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 _ f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 e f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 _ f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 e f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f17' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 _ f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 e f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 _ f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 e f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f16' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 _ f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 e f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 _ f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 e f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f15' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 _ f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 e f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 _ f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 e f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f14' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 _ f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 e f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 _ f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 e f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f13' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 _ f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 e f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 _ f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 e f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f12' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 _ f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 e f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 _ f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 e f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f11' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 _ f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 e f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 _ f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 e f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f10' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 _ f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 e f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 _ f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 e f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f9' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 _ f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 e f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 _ f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 e f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f8' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 _ f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 e f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 _ f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 e f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f7' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 _ f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 e f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 _ f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 e f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f6' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 _ f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 e f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 _ f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 e f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f5' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 _ f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 e f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 _ f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 e f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f4' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 _ f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 e f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 _ f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 e f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f3' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 _ f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 e f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 _ f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 e f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f2' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 _ f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 e f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 _ f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 e f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f1' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 _ f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 e f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 _ f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 e f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'f0' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 _ f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 e f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
- end.
-Notation "{[ r 'with' 'fs' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 _ f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 e f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 _ f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 e f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'float_fflags' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 _ f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 e f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 _ f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 e f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'float_result' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 _ f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 e f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 _ f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 e f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'utval' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 _ f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 e f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 _ f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 e f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'ucause' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 _ f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 e f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 _ f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 e f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'uepc' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 _ f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 e f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 _ f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 e f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'uscratch' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 _ f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 e f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 _ f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 e f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'utvec' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 _ f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 e f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 _ f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 e f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr15' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 _ f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 e f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 _ f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 e f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr14' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 _ f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 e f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 _ f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 e f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr13' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 _ f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 e f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 _ f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 e f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr12' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 _ f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 e f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 _ f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 e f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr11' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 _ f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 e f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 _ f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 e f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr10' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 _ f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 e f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 _ f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 e f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr9' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 _ f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 e f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 _ f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 e f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr8' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 _ f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 e f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 _ f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 e f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr7' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 _ f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 e f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 _ f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 e f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr6' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 _ f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 e f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 _ f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 e f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr5' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 _ f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 e f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 _ f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 e f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr4' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 _ f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 e f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 _ f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 e f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr3' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 _ f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 e f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 _ f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 e f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr2' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 _ f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 e f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 _ f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 e f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr1' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 _ f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 e f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 _ f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 e f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmpaddr0' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 _ f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 e f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 _ f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 e f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp15cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 _ f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 e f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 _ f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 e f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp14cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 _ f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 e f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 _ f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 e f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp13cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 _ f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 e f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 _ f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 e f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp12cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 _ f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 e f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 _ f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 e f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp11cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 _ f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 e f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 _ f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 e f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp10cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 _ f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 e f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 _ f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 e f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp9cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 _ f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 e f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 _ f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 e f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp8cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 _ f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 e f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 _ f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 e f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp7cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 _ f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 e f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 _ f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 e f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp6cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 _ f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 e f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 _ f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 e f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp5cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 _ f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 e f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 _ f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 e f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp4cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 _ f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 e f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 _ f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 e f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp3cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 _ f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 e f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 _ f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 e f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp2cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 _ f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 e f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 _ f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 e f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp1cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 _ f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 e f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 _ f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 e f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'pmp0cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 _ f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 e f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 _ f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 e f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'tselect' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 _ f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 e f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 _ f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 e f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'stval' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 _ f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 e f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 _ f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 e f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'scause' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 _ f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 e f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 _ f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 e f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'sepc' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 _ f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 e f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 _ f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 e f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'sscratch' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 _ f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 e f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 _ f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 e f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'stvec' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 _ f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 e f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 _ f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 e f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'sideleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 _ f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 e f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 _ f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 e f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'sedeleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 _ f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 e f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 _ f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 e f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mhartid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 _ f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 e f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 _ f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 e f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'marchid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 _ f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 e f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 _ f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 e f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mimpid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 _ f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 e f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 _ f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 e f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mvendorid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 _ f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 e f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 _ f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 e f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'minstret_written' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 _ f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 e f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 _ f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 e f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'minstret' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 _ f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 e f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 _ f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 e f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mtime' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 _ f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 e f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 _ f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 e f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mcycle' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 _ f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 e f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 _ f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 e f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mcountinhibit' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 _ f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 e f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 _ f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 e f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'scounteren' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 _ f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 e f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 _ f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 e f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mcounteren' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 _ f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 e f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 _ f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 e f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mscratch' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 _ f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 e f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 _ f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 e f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mtval' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 _ f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 e f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 _ f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 e f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mepc' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 _ f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 e f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 _ f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 e f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mcause' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 _ f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 e f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 _ f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 e f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mtvec' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 _ f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 e f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 _ f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 e f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'medeleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 _ f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 e f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 _ f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 e f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mideleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 _ f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 e f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 _ f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 e f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mie' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 _ f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 e f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 _ f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 e f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mip' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 _ f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 e f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 _ f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 e f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'mstatus' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 _ f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 e f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 _ f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 e f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ end.
+Notation "{[ r 'with' 'mstatush' := e ]}" :=
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 _ f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 e f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'misa' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 _ f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 e f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 _ f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 e f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'cur_inst' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 _ f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 e f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 _ f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 e f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'cur_privilege' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 _ f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 e f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 _ f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 e f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x31' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 _ f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 e f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 _ f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 e f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x30' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 _ f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 e f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 _ f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 e f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x29' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 _ f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 e f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 _ f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 e f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x28' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 _ f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 e f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 _ f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 e f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x27' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 _ f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 e f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 _ f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 e f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x26' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 _ f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 e f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 _ f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 e f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x25' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 _ f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 e f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 _ f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 e f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x24' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 _ f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 e f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 _ f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 e f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x23' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 _ f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 e f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 _ f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 e f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x22' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 _ f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 e f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 _ f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 e f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x21' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 _ f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 e f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 _ f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 e f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x20' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 _ f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 e f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 _ f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 e f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x19' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 _ f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 e f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 _ f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 e f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x18' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 _ f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 e f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 _ f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 e f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x17' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 _ f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 e f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 _ f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 e f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x16' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 _ f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 e f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 _ f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 e f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x15' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 _ f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 e f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 _ f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 e f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x14' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 _ f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 e f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 _ f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 e f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x13' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 _ f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 e f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 _ f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 e f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x12' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 _ f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 e f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 _ f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 e f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x11' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 _ f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 e f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 _ f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 e f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x10' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 _ f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 e f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 _ f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 e f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x9' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 _ f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 e f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 _ f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 e f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x8' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 _ f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 e f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 _ f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 e f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x7' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 _ f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 e f136 f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 _ f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 e f138 f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x6' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 _ f137 f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 e f137 f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 _ f139 f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 e f139 f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x5' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 _ f138 f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 e f138 f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 _ f140 f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 e f140 f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x4' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 _ f139 f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 e f139 f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 _ f141 f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 e f141 f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x3' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 _ f140 f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 e f140 f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 _ f142 f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 e f142 f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x2' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 _ f141 f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 e f141 f142 f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 _ f143 f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 e f143 f144 f145 f146
end.
Notation "{[ r 'with' 'x1' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 _ f142 f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 e f142 f143 f144 f145
- end.
-Notation "{[ r 'with' 'Xs' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 _ f143 f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 e f143 f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 _ f144 f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 e f144 f145 f146
end.
Notation "{[ r 'with' 'instbits' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 _ f144 f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 e f144 f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 _ f145 f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 e f145 f146
end.
Notation "{[ r 'with' 'nextPC' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 _ f145 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 e f145
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 _ f146 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 e f146
end.
Notation "{[ r 'with' 'PC' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 _ =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 e
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 _ =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 e
end.
@@ -1563,6 +1594,11 @@ Definition Mstatus_of_regval (merge_var : register_value) : option Mstatus :=
Definition regval_of_Mstatus (v : Mstatus) : register_value := Regval_Mstatus v.
+Definition Mstatush_of_regval (merge_var : register_value) : option Mstatush :=
+ match merge_var with | Regval_Mstatush v => Some v | _ => None end.
+
+Definition regval_of_Mstatush (v : Mstatush) : register_value := Regval_Mstatush v.
+
Definition Mtvec_of_regval (merge_var : register_value) : option Mtvec :=
match merge_var with | Regval_Mtvec v => Some v | _ => None end.
@@ -1605,6 +1641,11 @@ Definition bitvector_32_dec_of_regval (merge_var : register_value) : option (mwo
Definition regval_of_bitvector_32_dec (v : mword 32) : register_value := Regval_bitvector_32_dec v.
+Definition bitvector_4_dec_of_regval (merge_var : register_value) : option (mword 4) :=
+ match merge_var with | Regval_bitvector_4_dec v => Some v | _ => None end.
+
+Definition regval_of_bitvector_4_dec (v : mword 4) : register_value := Regval_bitvector_4_dec v.
+
Definition bitvector_64_dec_of_regval (merge_var : register_value) : option (mword 64) :=
match merge_var with | Regval_bitvector_64_dec v => Some v | _ => None end.
@@ -1653,6 +1694,20 @@ Definition tlb32_ref := {|
of_regval := (fun v => option_of_regval (fun v => TLB_Entry_9_32_34_32_of_regval v) v);
regval_of := (fun v => regval_of_option (fun v => regval_of_TLB_Entry_9_32_34_32 v) v) |}.
+Definition htif_payload_writes_ref := {|
+ name := "htif_payload_writes";
+ read_from := (fun s => s.(htif_payload_writes));
+ write_to := (fun v s => ({[ s with htif_payload_writes := v ]}));
+ of_regval := (fun v => bitvector_4_dec_of_regval v);
+ regval_of := (fun v => regval_of_bitvector_4_dec v) |}.
+
+Definition htif_cmd_write_ref := {|
+ name := "htif_cmd_write";
+ read_from := (fun s => s.(htif_cmd_write));
+ write_to := (fun v s => ({[ s with htif_cmd_write := v ]}));
+ of_regval := (fun v => bit_of_regval v);
+ regval_of := (fun v => regval_of_bit v) |}.
+
Definition htif_exit_code_ref := {|
name := "htif_exit_code";
read_from := (fun s => s.(htif_exit_code));
@@ -1912,13 +1967,6 @@ Definition f0_ref := {|
of_regval := (fun v => bitvector_32_dec_of_regval v);
regval_of := (fun v => regval_of_bitvector_32_dec v) |}.
-Definition fs_ref := {|
- name := "fs";
- read_from := (fun s => s.(fs));
- write_to := (fun v s => ({[ s with fs := v ]}));
- of_regval := (fun v => vector_of_regval 32 (fun v => bitvector_32_dec_of_regval v) v);
- regval_of := (fun v => regval_of_vector (fun v => regval_of_bitvector_32_dec v) v) |}.
-
Definition float_fflags_ref := {|
name := "float_fflags";
read_from := (fun s => s.(float_fflags));
@@ -2395,6 +2443,13 @@ Definition mstatus_ref := {|
of_regval := (fun v => Mstatus_of_regval v);
regval_of := (fun v => regval_of_Mstatus v) |}.
+Definition mstatush_ref := {|
+ name := "mstatush";
+ read_from := (fun s => s.(mstatush));
+ write_to := (fun v s => ({[ s with mstatush := v ]}));
+ of_regval := (fun v => Mstatush_of_regval v);
+ regval_of := (fun v => regval_of_Mstatush v) |}.
+
Definition misa_ref := {|
name := "misa";
read_from := (fun s => s.(misa));
@@ -2633,13 +2688,6 @@ Definition x1_ref := {|
of_regval := (fun v => bitvector_32_dec_of_regval v);
regval_of := (fun v => regval_of_bitvector_32_dec v) |}.
-Definition Xs_ref := {|
- name := "Xs";
- read_from := (fun s => s.(Xs));
- write_to := (fun v s => ({[ s with Xs := v ]}));
- of_regval := (fun v => vector_of_regval 32 (fun v => bitvector_32_dec_of_regval v) v);
- regval_of := (fun v => regval_of_vector (fun v => regval_of_bitvector_32_dec v) v) |}.
-
Definition instbits_ref := {|
name := "instbits";
read_from := (fun s => s.(instbits));
@@ -2665,6 +2713,8 @@ Local Open Scope string.
Definition get_regval (reg_name : string) (s : regstate) : option register_value :=
if string_dec reg_name "satp" then Some (satp_ref.(regval_of) (satp_ref.(read_from) s)) else
if string_dec reg_name "tlb32" then Some (tlb32_ref.(regval_of) (tlb32_ref.(read_from) s)) else
+ if string_dec reg_name "htif_payload_writes" then Some (htif_payload_writes_ref.(regval_of) (htif_payload_writes_ref.(read_from) s)) else
+ if string_dec reg_name "htif_cmd_write" then Some (htif_cmd_write_ref.(regval_of) (htif_cmd_write_ref.(read_from) s)) else
if string_dec reg_name "htif_exit_code" then Some (htif_exit_code_ref.(regval_of) (htif_exit_code_ref.(read_from) s)) else
if string_dec reg_name "htif_done" then Some (htif_done_ref.(regval_of) (htif_done_ref.(read_from) s)) else
if string_dec reg_name "htif_tohost" then Some (htif_tohost_ref.(regval_of) (htif_tohost_ref.(read_from) s)) else
@@ -2702,7 +2752,6 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
if string_dec reg_name "f2" then Some (f2_ref.(regval_of) (f2_ref.(read_from) s)) else
if string_dec reg_name "f1" then Some (f1_ref.(regval_of) (f1_ref.(read_from) s)) else
if string_dec reg_name "f0" then Some (f0_ref.(regval_of) (f0_ref.(read_from) s)) else
- if string_dec reg_name "fs" then Some (fs_ref.(regval_of) (fs_ref.(read_from) s)) else
if string_dec reg_name "float_fflags" then Some (float_fflags_ref.(regval_of) (float_fflags_ref.(read_from) s)) else
if string_dec reg_name "float_result" then Some (float_result_ref.(regval_of) (float_result_ref.(read_from) s)) else
if string_dec reg_name "utval" then Some (utval_ref.(regval_of) (utval_ref.(read_from) s)) else
@@ -2771,6 +2820,7 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
if string_dec reg_name "mie" then Some (mie_ref.(regval_of) (mie_ref.(read_from) s)) else
if string_dec reg_name "mip" then Some (mip_ref.(regval_of) (mip_ref.(read_from) s)) else
if string_dec reg_name "mstatus" then Some (mstatus_ref.(regval_of) (mstatus_ref.(read_from) s)) else
+ if string_dec reg_name "mstatush" then Some (mstatush_ref.(regval_of) (mstatush_ref.(read_from) s)) else
if string_dec reg_name "misa" then Some (misa_ref.(regval_of) (misa_ref.(read_from) s)) else
if string_dec reg_name "cur_inst" then Some (cur_inst_ref.(regval_of) (cur_inst_ref.(read_from) s)) else
if string_dec reg_name "cur_privilege" then Some (cur_privilege_ref.(regval_of) (cur_privilege_ref.(read_from) s)) else
@@ -2805,7 +2855,6 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
if string_dec reg_name "x3" then Some (x3_ref.(regval_of) (x3_ref.(read_from) s)) else
if string_dec reg_name "x2" then Some (x2_ref.(regval_of) (x2_ref.(read_from) s)) else
if string_dec reg_name "x1" then Some (x1_ref.(regval_of) (x1_ref.(read_from) s)) else
- if string_dec reg_name "Xs" then Some (Xs_ref.(regval_of) (Xs_ref.(read_from) s)) else
if string_dec reg_name "instbits" then Some (instbits_ref.(regval_of) (instbits_ref.(read_from) s)) else
if string_dec reg_name "nextPC" then Some (nextPC_ref.(regval_of) (nextPC_ref.(read_from) s)) else
if string_dec reg_name "PC" then Some (PC_ref.(regval_of) (PC_ref.(read_from) s)) else
@@ -2814,6 +2863,8 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
Definition set_regval (reg_name : string) (v : register_value) (s : regstate) : option regstate :=
if string_dec reg_name "satp" then option_map (fun v => satp_ref.(write_to) v s) (satp_ref.(of_regval) v) else
if string_dec reg_name "tlb32" then option_map (fun v => tlb32_ref.(write_to) v s) (tlb32_ref.(of_regval) v) else
+ if string_dec reg_name "htif_payload_writes" then option_map (fun v => htif_payload_writes_ref.(write_to) v s) (htif_payload_writes_ref.(of_regval) v) else
+ if string_dec reg_name "htif_cmd_write" then option_map (fun v => htif_cmd_write_ref.(write_to) v s) (htif_cmd_write_ref.(of_regval) v) else
if string_dec reg_name "htif_exit_code" then option_map (fun v => htif_exit_code_ref.(write_to) v s) (htif_exit_code_ref.(of_regval) v) else
if string_dec reg_name "htif_done" then option_map (fun v => htif_done_ref.(write_to) v s) (htif_done_ref.(of_regval) v) else
if string_dec reg_name "htif_tohost" then option_map (fun v => htif_tohost_ref.(write_to) v s) (htif_tohost_ref.(of_regval) v) else
@@ -2851,7 +2902,6 @@ Definition set_regval (reg_name : string) (v : register_value) (s : regstate) :
if string_dec reg_name "f2" then option_map (fun v => f2_ref.(write_to) v s) (f2_ref.(of_regval) v) else
if string_dec reg_name "f1" then option_map (fun v => f1_ref.(write_to) v s) (f1_ref.(of_regval) v) else
if string_dec reg_name "f0" then option_map (fun v => f0_ref.(write_to) v s) (f0_ref.(of_regval) v) else
- if string_dec reg_name "fs" then option_map (fun v => fs_ref.(write_to) v s) (fs_ref.(of_regval) v) else
if string_dec reg_name "float_fflags" then option_map (fun v => float_fflags_ref.(write_to) v s) (float_fflags_ref.(of_regval) v) else
if string_dec reg_name "float_result" then option_map (fun v => float_result_ref.(write_to) v s) (float_result_ref.(of_regval) v) else
if string_dec reg_name "utval" then option_map (fun v => utval_ref.(write_to) v s) (utval_ref.(of_regval) v) else
@@ -2920,6 +2970,7 @@ Definition set_regval (reg_name : string) (v : register_value) (s : regstate) :
if string_dec reg_name "mie" then option_map (fun v => mie_ref.(write_to) v s) (mie_ref.(of_regval) v) else
if string_dec reg_name "mip" then option_map (fun v => mip_ref.(write_to) v s) (mip_ref.(of_regval) v) else
if string_dec reg_name "mstatus" then option_map (fun v => mstatus_ref.(write_to) v s) (mstatus_ref.(of_regval) v) else
+ if string_dec reg_name "mstatush" then option_map (fun v => mstatush_ref.(write_to) v s) (mstatush_ref.(of_regval) v) else
if string_dec reg_name "misa" then option_map (fun v => misa_ref.(write_to) v s) (misa_ref.(of_regval) v) else
if string_dec reg_name "cur_inst" then option_map (fun v => cur_inst_ref.(write_to) v s) (cur_inst_ref.(of_regval) v) else
if string_dec reg_name "cur_privilege" then option_map (fun v => cur_privilege_ref.(write_to) v s) (cur_privilege_ref.(of_regval) v) else
@@ -2954,7 +3005,6 @@ Definition set_regval (reg_name : string) (v : register_value) (s : regstate) :
if string_dec reg_name "x3" then option_map (fun v => x3_ref.(write_to) v s) (x3_ref.(of_regval) v) else
if string_dec reg_name "x2" then option_map (fun v => x2_ref.(write_to) v s) (x2_ref.(of_regval) v) else
if string_dec reg_name "x1" then option_map (fun v => x1_ref.(write_to) v s) (x1_ref.(of_regval) v) else
- if string_dec reg_name "Xs" then option_map (fun v => Xs_ref.(write_to) v s) (Xs_ref.(of_regval) v) else
if string_dec reg_name "instbits" then option_map (fun v => instbits_ref.(write_to) v s) (instbits_ref.(of_regval) v) else
if string_dec reg_name "nextPC" then option_map (fun v => nextPC_ref.(write_to) v s) (nextPC_ref.(of_regval) v) else
if string_dec reg_name "PC" then option_map (fun v => PC_ref.(write_to) v s) (PC_ref.(of_regval) v) else
diff --git a/prover_snapshots/coq/RV64/riscv.v b/prover_snapshots/coq/RV64/riscv.v
index 57c4eaa..5a7e9ad 100644
--- a/prover_snapshots/coq/RV64/riscv.v
+++ b/prover_snapshots/coq/RV64/riscv.v
@@ -25,6 +25,12 @@ Definition neq_bool (x : bool) (y : bool) : bool := negb (Bool.eqb x y).
Definition __id (x : Z) : {_retval : Z & ArithFact (_retval =? x)} := build_ex (x).
+Definition _shl_int_general (m : Z) (n : Z) : Z :=
+ if sumbool_of_bool (Z.geb n 0) then shl_int m n else shr_int m (Z.opp n).
+
+Definition _shr_int_general (m : Z) (n : Z) : Z :=
+ if sumbool_of_bool (Z.geb n 0) then shr_int m n else shl_int m (Z.opp n).
+
Definition fdiv_int (n : Z) (m : Z) : Z :=
if sumbool_of_bool (andb (Z.ltb n 0) (Z.gtb m 0)) then Z.sub (Z.quot (Z.add n 1) m) 1
else if sumbool_of_bool (andb (Z.gtb n 0) (Z.ltb m 0)) then Z.sub (Z.quot (Z.sub n 1) m) 1
@@ -330,7 +336,7 @@ Definition hex_bits_1_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_1_matches_prefix s) with
- | Some (g__361, existT _ n _) =>
+ | Some (g__373, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -358,7 +364,7 @@ Definition hex_bits_2_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_2_matches_prefix s) with
- | Some (g__360, existT _ n _) =>
+ | Some (g__372, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -386,7 +392,7 @@ Definition hex_bits_3_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_3_matches_prefix s) with
- | Some (g__359, existT _ n _) =>
+ | Some (g__371, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -414,7 +420,7 @@ Definition hex_bits_4_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_4_matches_prefix s) with
- | Some (g__358, existT _ n _) =>
+ | Some (g__370, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -442,7 +448,7 @@ Definition hex_bits_5_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_5_matches_prefix s) with
- | Some (g__357, existT _ n _) =>
+ | Some (g__369, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -470,7 +476,7 @@ Definition hex_bits_6_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_6_matches_prefix s) with
- | Some (g__356, existT _ n _) =>
+ | Some (g__368, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -498,7 +504,7 @@ Definition hex_bits_7_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_7_matches_prefix s) with
- | Some (g__355, existT _ n _) =>
+ | Some (g__367, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -526,7 +532,7 @@ Definition hex_bits_8_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_8_matches_prefix s) with
- | Some (g__354, existT _ n _) =>
+ | Some (g__366, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -554,7 +560,7 @@ Definition hex_bits_9_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_9_matches_prefix s) with
- | Some (g__353, existT _ n _) =>
+ | Some (g__365, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -582,7 +588,7 @@ Definition hex_bits_10_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_10_matches_prefix s) with
- | Some (g__352, existT _ n _) =>
+ | Some (g__364, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -610,7 +616,7 @@ Definition hex_bits_11_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_11_matches_prefix s) with
- | Some (g__351, existT _ n _) =>
+ | Some (g__363, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -642,7 +648,7 @@ Definition hex_bits_12_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_12_matches_prefix s) with
- | Some (g__350, existT _ n _) =>
+ | Some (g__362, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -670,7 +676,7 @@ Definition hex_bits_13_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_13_matches_prefix s) with
- | Some (g__349, existT _ n _) =>
+ | Some (g__361, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -698,7 +704,7 @@ Definition hex_bits_14_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_14_matches_prefix s) with
- | Some (g__348, existT _ n _) =>
+ | Some (g__360, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -726,7 +732,7 @@ Definition hex_bits_15_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_15_matches_prefix s) with
- | Some (g__347, existT _ n _) =>
+ | Some (g__359, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -754,7 +760,7 @@ Definition hex_bits_16_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_16_matches_prefix s) with
- | Some (g__346, existT _ n _) =>
+ | Some (g__358, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -782,7 +788,7 @@ Definition hex_bits_17_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_17_matches_prefix s) with
- | Some (g__345, existT _ n _) =>
+ | Some (g__357, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -810,7 +816,7 @@ Definition hex_bits_18_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_18_matches_prefix s) with
- | Some (g__344, existT _ n _) =>
+ | Some (g__356, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -838,7 +844,7 @@ Definition hex_bits_19_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_19_matches_prefix s) with
- | Some (g__343, existT _ n _) =>
+ | Some (g__355, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -866,7 +872,7 @@ Definition hex_bits_20_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_20_matches_prefix s) with
- | Some (g__342, existT _ n _) =>
+ | Some (g__354, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -894,7 +900,7 @@ Definition hex_bits_21_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_21_matches_prefix s) with
- | Some (g__341, existT _ n _) =>
+ | Some (g__353, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -922,7 +928,7 @@ Definition hex_bits_22_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_22_matches_prefix s) with
- | Some (g__340, existT _ n _) =>
+ | Some (g__352, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -950,7 +956,7 @@ Definition hex_bits_23_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_23_matches_prefix s) with
- | Some (g__339, existT _ n _) =>
+ | Some (g__351, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -978,7 +984,7 @@ Definition hex_bits_24_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_24_matches_prefix s) with
- | Some (g__338, existT _ n _) =>
+ | Some (g__350, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1006,7 +1012,7 @@ Definition hex_bits_25_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_25_matches_prefix s) with
- | Some (g__337, existT _ n _) =>
+ | Some (g__349, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1034,7 +1040,7 @@ Definition hex_bits_26_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_26_matches_prefix s) with
- | Some (g__336, existT _ n _) =>
+ | Some (g__348, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1062,7 +1068,7 @@ Definition hex_bits_27_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_27_matches_prefix s) with
- | Some (g__335, existT _ n _) =>
+ | Some (g__347, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1090,7 +1096,7 @@ Definition hex_bits_28_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_28_matches_prefix s) with
- | Some (g__334, existT _ n _) =>
+ | Some (g__346, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1118,7 +1124,7 @@ Definition hex_bits_29_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_29_matches_prefix s) with
- | Some (g__333, existT _ n _) =>
+ | Some (g__345, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1146,7 +1152,7 @@ Definition hex_bits_30_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_30_matches_prefix s) with
- | Some (g__332, existT _ n _) =>
+ | Some (g__344, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1174,7 +1180,7 @@ Definition hex_bits_31_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_31_matches_prefix s) with
- | Some (g__331, existT _ n _) =>
+ | Some (g__343, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1202,7 +1208,7 @@ Definition hex_bits_32_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_32_matches_prefix s) with
- | Some (g__330, existT _ n _) =>
+ | Some (g__342, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1230,7 +1236,7 @@ Definition hex_bits_33_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_33_matches_prefix s) with
- | Some (g__329, existT _ n _) =>
+ | Some (g__341, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1258,7 +1264,7 @@ Definition hex_bits_48_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_48_matches_prefix s) with
- | Some (g__328, existT _ n _) =>
+ | Some (g__340, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1286,7 +1292,7 @@ Definition hex_bits_64_backwards_matches (s : string) : bool :=
match s with
| s =>
if match (hex_bits_64_matches_prefix s) with
- | Some (g__327, existT _ n _) =>
+ | Some (g__339, existT _ n _) =>
if sumbool_of_bool (Z.eqb n (projT1 (string_length s))) then true else false
| _ => false
end then
@@ -1601,10 +1607,10 @@ Definition num_of_SATPMode (arg_ : SATPMode) : {e : Z & ArithFact ((0 <=? e) &&
Definition satp64Mode_of_bits (a : Architecture) (m : mword 4) : option SATPMode :=
match (a, m) with
- | (g__326, b__0) =>
+ | (g__338, b__0) =>
if eq_vec b__0 (Ox"0" : mword 4) then Some Sbare
else
- match (g__326, b__0) with
+ match (g__338, b__0) with
| (RV32, b__0) =>
if eq_vec b__0 (Ox"1" : mword 4) then Some Sv32
else match (RV32, b__0) with | (_, _) => None end
@@ -2067,12 +2073,7 @@ Hint Unfold Data : sail.
Definition default_write_acc : ext_access_type := Data.
Hint Unfold default_write_acc : sail.
Definition accessType_to_str (a : AccessType unit) : string :=
- match a with
- | Read Data => "R"
- | Write Data => "W"
- | ReadWrite Data => "RW"
- | Execute tt => "X"
- end.
+ match a with | Read _ => "R" | Write _ => "W" | ReadWrite (_, _) => "RW" | Execute tt => "X" end.
Definition zero_reg : regtype := EXTZ 64 (Ox"0" : mword 4).
Hint Unfold zero_reg : sail.
@@ -2470,7 +2471,7 @@ Definition reg_name_abi (r : mword 5) : M (string) :=
else if eq_vec b__0 ('b"11110" : mword 5) then returnm "t5"
else if eq_vec b__0 ('b"11111" : mword 5) then returnm "t6"
else
- assert_exp' false "Pattern match failure at model/riscv_regs.sail 155:2 - 188:3" >>= fun _ =>
+ assert_exp' false "Pattern match failure at model/riscv_regs.sail 154:2 - 187:3" >>= fun _ =>
exit tt)
: M (string).
@@ -3928,6 +3929,66 @@ Definition haveUsrMode '(tt : unit) : M (bool) :=
Definition haveNExt '(tt : unit) : M (bool) :=
read_reg misa_ref >>= fun w__0 : Misa => returnm (eq_vec (_get_Misa_N w__0) ('b"1" : mword 1)).
+Definition Mk_Mstatush (v : mword 32) : Mstatush :=
+ {| Mstatush_Mstatush_chunk_0 := (subrange_vec_dec v 31 0) |}.
+
+Definition _get_Mstatush_bits (v : Mstatush) : mword 32 :=
+ subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 31 0.
+
+Definition _set_Mstatush_bits (r_ref : register_ref regstate register_value Mstatush) (v : mword 32)
+: M (unit) :=
+ (reg_deref r_ref) >>= fun r =>
+ let r :=
+ {[ r with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec r.(Mstatush_Mstatush_chunk_0) 31 0 (subrange_vec_dec v 31 0)) ]}
+ : Mstatush in
+ write_reg r_ref r
+ : M (unit).
+
+Definition _update_Mstatush_bits (v : Mstatush) (x : mword 32) : Mstatush :=
+ {[ v with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 31 0 (subrange_vec_dec x 31 0)) ]}.
+
+Definition _get_Mstatush_MBE (v : Mstatush) : mword 1 :=
+ subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 5 5.
+
+Definition _set_Mstatush_MBE (r_ref : register_ref regstate register_value Mstatush) (v : mword 1)
+: M (unit) :=
+ (reg_deref r_ref) >>= fun r =>
+ let r :=
+ {[ r with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec r.(Mstatush_Mstatush_chunk_0) 5 5 (subrange_vec_dec v 0 0)) ]}
+ : Mstatush in
+ write_reg r_ref r
+ : M (unit).
+
+Definition _update_Mstatush_MBE (v : Mstatush) (x : mword 1) : Mstatush :=
+ {[ v with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 5 5 (subrange_vec_dec x 0 0)) ]}.
+
+Definition _get_Mstatush_SBE (v : Mstatush) : mword 1 :=
+ subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 4 4.
+
+Definition _set_Mstatush_SBE (r_ref : register_ref regstate register_value Mstatush) (v : mword 1)
+: M (unit) :=
+ (reg_deref r_ref) >>= fun r =>
+ let r :=
+ {[ r with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec r.(Mstatush_Mstatush_chunk_0) 4 4 (subrange_vec_dec v 0 0)) ]}
+ : Mstatush in
+ write_reg r_ref r
+ : M (unit).
+
+Definition _update_Mstatush_SBE (v : Mstatush) (x : mword 1) : Mstatush :=
+ {[ v with
+ Mstatush_Mstatush_chunk_0 :=
+ (update_subrange_vec_dec v.(Mstatush_Mstatush_chunk_0) 4 4 (subrange_vec_dec x 0 0)) ]}.
+
Definition Mk_Mstatus (v : mword 64) : Mstatus :=
{| Mstatus_Mstatus_chunk_0 := (subrange_vec_dec v 63 0) |}.
@@ -4275,10 +4336,9 @@ Definition _update_Mstatus_UIE (v : Mstatus) (x : mword 1) : Mstatus :=
Definition effectivePrivilege (t : AccessType unit) (m : Mstatus) (priv : Privilege) : M (Privilege) :=
(if andb (generic_neq t (Execute tt)) (eq_vec (_get_Mstatus_MPRV m) ('b"1" : mword 1)) then
- read_reg mstatus_ref >>= fun w__0 : Mstatus =>
- (privLevel_of_bits (_get_Mstatus_MPP w__0))
+ (privLevel_of_bits (_get_Mstatus_MPP m))
: M (Privilege)
- else read_reg cur_privilege_ref : M (Privilege))
+ else returnm priv)
: M (Privilege).
Definition get_mstatus_SXL (m : Mstatus) : mword 2 := subrange_vec_dec (_get_Mstatus_bits m) 35 34.
@@ -4294,7 +4354,15 @@ Definition set_mstatus_UXL (m : Mstatus) (a : mword 2) : Mstatus :=
Mk_Mstatus m.
Definition legalize_mstatus (o : Mstatus) (v : mword 64) : M (Mstatus) :=
- let m : Mstatus := Mk_Mstatus v in
+ let m : Mstatus :=
+ Mk_Mstatus
+ (EXTZ 64
+ (concat_vec (subrange_vec_dec v 22 11)
+ (concat_vec ('b"00" : mword 2)
+ (concat_vec (subrange_vec_dec v 8 7)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec (subrange_vec_dec v 5 3)
+ (concat_vec ('b"0" : mword 1) (subrange_vec_dec v 1 0)))))))) in
let m := _update_Mstatus_XS m (extStatus_to_bits Off) in
(or_boolM
((extStatus_of_bits (_get_Mstatus_FS m)) >>= fun w__0 : ExtStatus =>
@@ -4304,6 +4372,9 @@ Definition legalize_mstatus (o : Mstatus) (v : mword 64) : M (Mstatus) :=
let m := _update_Mstatus_SD m (bool_to_bits dirty) in
let m := set_mstatus_SXL m (get_mstatus_SXL o) in
let m := set_mstatus_UXL m (get_mstatus_UXL o) in
+ let m :=
+ Mk_Mstatus
+ (update_subrange_vec_dec (_get_Mstatus_bits m) 37 36 ('b"00" : mword (37 - (36 - 1)))) in
(haveNExt tt) >>= fun w__2 : bool =>
let m :=
if sumbool_of_bool (negb w__2) then
@@ -5217,9 +5288,12 @@ Definition retire_instruction '(tt : unit) : M (unit) :=
read_reg minstret_written_ref >>= fun w__0 : bool =>
(if Bool.eqb w__0 true then write_reg minstret_written_ref false : M (unit)
else
- ((read_reg minstret_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
- write_reg minstret_ref (add_vec_int w__1 1)
- : M (unit))
+ read_reg mcountinhibit_ref >>= fun w__1 : Counterin =>
+ if eq_vec (_get_Counterin_IR w__1) ('b"0" : mword 1) then
+ ((read_reg minstret_ref) : M (mword 64)) >>= fun w__2 : mword 64 =>
+ write_reg minstret_ref (add_vec_int w__2 1)
+ : M (unit)
+ else returnm tt)
: M (unit).
Definition Mk_Sstatus (v : mword 64) : Sstatus :=
@@ -5476,7 +5550,9 @@ Definition lift_sstatus (m : Mstatus) (s : Sstatus) : M (Mstatus) :=
returnm m.
Definition legalize_sstatus (m : Mstatus) (v : mword 64) : M (Mstatus) :=
- (lift_sstatus m (Mk_Sstatus v)) : M (Mstatus).
+ (lift_sstatus m (Mk_Sstatus v)) >>= fun w__0 : Mstatus =>
+ (legalize_mstatus m (_get_Mstatus_bits w__0))
+ : M (Mstatus).
Definition Mk_Sedeleg (v : mword 64) : Sedeleg :=
{| Sedeleg_Sedeleg_chunk_0 := (subrange_vec_dec v 63 0) |}.
@@ -5846,7 +5922,10 @@ Definition lower_mie (m : Minterrupts) (d : Minterrupts) : Sinterrupts :=
Definition lift_sip (o : Minterrupts) (d : Minterrupts) (s : Sinterrupts) : M (Minterrupts) :=
let m : Minterrupts := o in
- let m := _update_Minterrupts_SSI m (and_vec (_get_Sinterrupts_SSI s) (_get_Minterrupts_SSI d)) in
+ let m :=
+ if eq_vec (_get_Minterrupts_SSI d) ('b"1" : mword 1) then
+ _update_Minterrupts_SSI m (_get_Sinterrupts_SSI s)
+ else m in
(haveNExt tt) >>= fun w__0 : bool =>
returnm (if sumbool_of_bool w__0 then
let m :=
@@ -6355,7 +6434,7 @@ Definition pmpMatchAddr (addr : mword 64) (width : mword 64) (rng : option ((mwo
| None => PMP_NoMatch
| Some (lo, hi) =>
if zopz0zI_u hi lo then PMP_NoMatch
- else if orb (zopz0zI_u (add_vec addr width) lo) (zopz0zI_u hi addr) then PMP_NoMatch
+ else if orb (zopz0zIzJ_u (add_vec addr width) lo) (zopz0zIzJ_u hi addr) then PMP_NoMatch
else if andb (zopz0zIzJ_u lo addr) (zopz0zIzJ_u (add_vec addr width) hi) then PMP_Match
else PMP_PartialMatch
end.
@@ -6626,6 +6705,18 @@ Definition ext_data_get_addr
Definition ext_handle_data_check_error (err : unit) : unit := tt.
+Definition ext_check_phys_mem_read
+(access_type : AccessType unit) (paddr : mword 64) (size : Z) (aquire : bool) (release : bool)
+(reserved : bool) (read_meta : bool) `{ArithFact ((0 <? size) && (size <=? 16))}
+: Ext_PhysAddr_Check :=
+ Ext_PhysAddr_OK tt.
+
+Definition ext_check_phys_mem_write
+(write_kind : write_kind) (paddr : mword 64) (size : Z) (data : mword (8 * size)) (metadata : unit)
+`{ArithFact ((0 <? size) && (size <=? 16))}
+: Ext_PhysAddr_Check :=
+ Ext_PhysAddr_OK tt.
+
Definition Mk_Ustatus (v : mword 64) : Ustatus :=
{| Ustatus_Ustatus_chunk_0 := (subrange_vec_dec v 63 0) |}.
@@ -8856,6 +8947,7 @@ Definition csr_name_map_forwards (arg_ : mword 12) : string :=
else if eq_vec b__0 (Ox"304" : mword 12) then "mie"
else if eq_vec b__0 (Ox"305" : mword 12) then "mtvec"
else if eq_vec b__0 (Ox"306" : mword 12) then "mcounteren"
+ else if eq_vec b__0 (Ox"320" : mword 12) then "mcountinhibit"
else if eq_vec b__0 (Ox"340" : mword 12) then "mscratch"
else if eq_vec b__0 (Ox"341" : mword 12) then "mepc"
else if eq_vec b__0 (Ox"342" : mword 12) then "mcause"
@@ -8933,6 +9025,7 @@ Definition csr_name_map_backwards (arg_ : string) : M (mword 12) :=
else if generic_eq p0_ "mie" then returnm (Ox"304" : mword 12)
else if generic_eq p0_ "mtvec" then returnm (Ox"305" : mword 12)
else if generic_eq p0_ "mcounteren" then returnm (Ox"306" : mword 12)
+ else if generic_eq p0_ "mcountinhibit" then returnm (Ox"320" : mword 12)
else if generic_eq p0_ "mscratch" then returnm (Ox"340" : mword 12)
else if generic_eq p0_ "mepc" then returnm (Ox"341" : mword 12)
else if generic_eq p0_ "mcause" then returnm (Ox"342" : mword 12)
@@ -8966,15 +9059,8 @@ Definition csr_name_map_backwards (arg_ : string) : M (mword 12) :=
else if generic_eq p0_ "tdata1" then returnm (Ox"7A1" : mword 12)
else if generic_eq p0_ "tdata2" then returnm (Ox"7A2" : mword 12)
else if generic_eq p0_ "tdata3" then returnm (Ox"7A3" : mword 12)
- else
- (and_boolM (returnm ((hex_bits_12_backwards_matches p0_) : bool))
- ((if hex_bits_12_backwards_matches p0_ then
- (hex_bits_12_backwards p0_) >>= fun reg => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- (if sumbool_of_bool w__1 then hex_bits_12_backwards p0_
- else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
- : M (mword 12))
+ else if hex_bits_12_backwards_matches p0_ then hex_bits_12_backwards p0_
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 12).
Definition csr_name_map_forwards_matches (arg_ : mword 12) : bool :=
@@ -9019,6 +9105,7 @@ Definition csr_name_map_forwards_matches (arg_ : mword 12) : bool :=
else if eq_vec b__0 (Ox"304" : mword 12) then true
else if eq_vec b__0 (Ox"305" : mword 12) then true
else if eq_vec b__0 (Ox"306" : mword 12) then true
+ else if eq_vec b__0 (Ox"320" : mword 12) then true
else if eq_vec b__0 (Ox"340" : mword 12) then true
else if eq_vec b__0 (Ox"341" : mword 12) then true
else if eq_vec b__0 (Ox"342" : mword 12) then true
@@ -9096,6 +9183,7 @@ Definition csr_name_map_backwards_matches (arg_ : string) : M (bool) :=
else if generic_eq p0_ "mie" then returnm true
else if generic_eq p0_ "mtvec" then returnm true
else if generic_eq p0_ "mcounteren" then returnm true
+ else if generic_eq p0_ "mcountinhibit" then returnm true
else if generic_eq p0_ "mscratch" then returnm true
else if generic_eq p0_ "mepc" then returnm true
else if generic_eq p0_ "mcause" then returnm true
@@ -9129,222 +9217,223 @@ Definition csr_name_map_backwards_matches (arg_ : string) : M (bool) :=
else if generic_eq p0_ "tdata1" then returnm true
else if generic_eq p0_ "tdata2" then returnm true
else if generic_eq p0_ "tdata3" then returnm true
- else
- (and_boolM (returnm ((hex_bits_12_backwards_matches p0_) : bool))
- ((if hex_bits_12_backwards_matches p0_ then
- (hex_bits_12_backwards p0_) >>= fun reg => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- if sumbool_of_bool w__1 then (hex_bits_12_backwards p0_) >>= fun reg => returnm true
- else returnm false)
+ else if hex_bits_12_backwards_matches p0_ then
+ (hex_bits_12_backwards p0_) >>= fun reg => returnm true
+ else returnm false)
: M (bool).
-Definition _s748_ (_s749_ : string) : option ((mword 12 * string)) :=
- match _s749_ with
- | _s750_ =>
- match (hex_bits_12_matches_prefix _s750_) with
- | Some (reg, existT _ _s751_ _) =>
- match (string_drop _s750_ _s751_) with | s_ => Some (reg, s_) end
+Definition _s752_ (_s753_ : string) : option ((mword 12 * string)) :=
+ match _s753_ with
+ | _s754_ =>
+ match (hex_bits_12_matches_prefix _s754_) with
+ | Some (reg, existT _ _s755_ _) =>
+ match (string_drop _s754_ _s755_) with | s_ => Some (reg, s_) end
| _ => None
end
end.
+Definition _s748_ (_s749_ : string) : option string :=
+ let _s750_ := _s749_ in
+ if string_startswith _s750_ "tdata3" then
+ match (string_drop _s750_ (projT1 (string_length "tdata3"))) with | s_ => Some s_ end
+ else None.
+
Definition _s744_ (_s745_ : string) : option string :=
let _s746_ := _s745_ in
- if string_startswith _s746_ "tdata3" then
- match (string_drop _s746_ (projT1 (string_length "tdata3"))) with | s_ => Some s_ end
+ if string_startswith _s746_ "tdata2" then
+ match (string_drop _s746_ (projT1 (string_length "tdata2"))) with | s_ => Some s_ end
else None.
Definition _s740_ (_s741_ : string) : option string :=
let _s742_ := _s741_ in
- if string_startswith _s742_ "tdata2" then
- match (string_drop _s742_ (projT1 (string_length "tdata2"))) with | s_ => Some s_ end
+ if string_startswith _s742_ "tdata1" then
+ match (string_drop _s742_ (projT1 (string_length "tdata1"))) with | s_ => Some s_ end
else None.
Definition _s736_ (_s737_ : string) : option string :=
let _s738_ := _s737_ in
- if string_startswith _s738_ "tdata1" then
- match (string_drop _s738_ (projT1 (string_length "tdata1"))) with | s_ => Some s_ end
+ if string_startswith _s738_ "tselect" then
+ match (string_drop _s738_ (projT1 (string_length "tselect"))) with | s_ => Some s_ end
else None.
Definition _s732_ (_s733_ : string) : option string :=
let _s734_ := _s733_ in
- if string_startswith _s734_ "tselect" then
- match (string_drop _s734_ (projT1 (string_length "tselect"))) with | s_ => Some s_ end
+ if string_startswith _s734_ "minstreth" then
+ match (string_drop _s734_ (projT1 (string_length "minstreth"))) with | s_ => Some s_ end
else None.
Definition _s728_ (_s729_ : string) : option string :=
let _s730_ := _s729_ in
- if string_startswith _s730_ "minstreth" then
- match (string_drop _s730_ (projT1 (string_length "minstreth"))) with | s_ => Some s_ end
+ if string_startswith _s730_ "mcycleh" then
+ match (string_drop _s730_ (projT1 (string_length "mcycleh"))) with | s_ => Some s_ end
else None.
Definition _s724_ (_s725_ : string) : option string :=
let _s726_ := _s725_ in
- if string_startswith _s726_ "mcycleh" then
- match (string_drop _s726_ (projT1 (string_length "mcycleh"))) with | s_ => Some s_ end
+ if string_startswith _s726_ "minstret" then
+ match (string_drop _s726_ (projT1 (string_length "minstret"))) with | s_ => Some s_ end
else None.
Definition _s720_ (_s721_ : string) : option string :=
let _s722_ := _s721_ in
- if string_startswith _s722_ "minstret" then
- match (string_drop _s722_ (projT1 (string_length "minstret"))) with | s_ => Some s_ end
+ if string_startswith _s722_ "mcycle" then
+ match (string_drop _s722_ (projT1 (string_length "mcycle"))) with | s_ => Some s_ end
else None.
Definition _s716_ (_s717_ : string) : option string :=
let _s718_ := _s717_ in
- if string_startswith _s718_ "mcycle" then
- match (string_drop _s718_ (projT1 (string_length "mcycle"))) with | s_ => Some s_ end
+ if string_startswith _s718_ "pmpaddr15" then
+ match (string_drop _s718_ (projT1 (string_length "pmpaddr15"))) with | s_ => Some s_ end
else None.
Definition _s712_ (_s713_ : string) : option string :=
let _s714_ := _s713_ in
- if string_startswith _s714_ "pmpaddr15" then
- match (string_drop _s714_ (projT1 (string_length "pmpaddr15"))) with | s_ => Some s_ end
+ if string_startswith _s714_ "pmpaddr14" then
+ match (string_drop _s714_ (projT1 (string_length "pmpaddr14"))) with | s_ => Some s_ end
else None.
Definition _s708_ (_s709_ : string) : option string :=
let _s710_ := _s709_ in
- if string_startswith _s710_ "pmpaddr14" then
- match (string_drop _s710_ (projT1 (string_length "pmpaddr14"))) with | s_ => Some s_ end
+ if string_startswith _s710_ "pmpaddr13" then
+ match (string_drop _s710_ (projT1 (string_length "pmpaddr13"))) with | s_ => Some s_ end
else None.
Definition _s704_ (_s705_ : string) : option string :=
let _s706_ := _s705_ in
- if string_startswith _s706_ "pmpaddr13" then
- match (string_drop _s706_ (projT1 (string_length "pmpaddr13"))) with | s_ => Some s_ end
+ if string_startswith _s706_ "pmpaddr12" then
+ match (string_drop _s706_ (projT1 (string_length "pmpaddr12"))) with | s_ => Some s_ end
else None.
Definition _s700_ (_s701_ : string) : option string :=
let _s702_ := _s701_ in
- if string_startswith _s702_ "pmpaddr12" then
- match (string_drop _s702_ (projT1 (string_length "pmpaddr12"))) with | s_ => Some s_ end
+ if string_startswith _s702_ "pmpaddr11" then
+ match (string_drop _s702_ (projT1 (string_length "pmpaddr11"))) with | s_ => Some s_ end
else None.
Definition _s696_ (_s697_ : string) : option string :=
let _s698_ := _s697_ in
- if string_startswith _s698_ "pmpaddr11" then
- match (string_drop _s698_ (projT1 (string_length "pmpaddr11"))) with | s_ => Some s_ end
+ if string_startswith _s698_ "pmpaddr10" then
+ match (string_drop _s698_ (projT1 (string_length "pmpaddr10"))) with | s_ => Some s_ end
else None.
Definition _s692_ (_s693_ : string) : option string :=
let _s694_ := _s693_ in
- if string_startswith _s694_ "pmpaddr10" then
- match (string_drop _s694_ (projT1 (string_length "pmpaddr10"))) with | s_ => Some s_ end
+ if string_startswith _s694_ "pmpaddr9" then
+ match (string_drop _s694_ (projT1 (string_length "pmpaddr9"))) with | s_ => Some s_ end
else None.
Definition _s688_ (_s689_ : string) : option string :=
let _s690_ := _s689_ in
- if string_startswith _s690_ "pmpaddr9" then
- match (string_drop _s690_ (projT1 (string_length "pmpaddr9"))) with | s_ => Some s_ end
+ if string_startswith _s690_ "pmpaddr8" then
+ match (string_drop _s690_ (projT1 (string_length "pmpaddr8"))) with | s_ => Some s_ end
else None.
Definition _s684_ (_s685_ : string) : option string :=
let _s686_ := _s685_ in
- if string_startswith _s686_ "pmpaddr8" then
- match (string_drop _s686_ (projT1 (string_length "pmpaddr8"))) with | s_ => Some s_ end
+ if string_startswith _s686_ "pmpaddr7" then
+ match (string_drop _s686_ (projT1 (string_length "pmpaddr7"))) with | s_ => Some s_ end
else None.
Definition _s680_ (_s681_ : string) : option string :=
let _s682_ := _s681_ in
- if string_startswith _s682_ "pmpaddr7" then
- match (string_drop _s682_ (projT1 (string_length "pmpaddr7"))) with | s_ => Some s_ end
+ if string_startswith _s682_ "pmpaddr6" then
+ match (string_drop _s682_ (projT1 (string_length "pmpaddr6"))) with | s_ => Some s_ end
else None.
Definition _s676_ (_s677_ : string) : option string :=
let _s678_ := _s677_ in
- if string_startswith _s678_ "pmpaddr6" then
- match (string_drop _s678_ (projT1 (string_length "pmpaddr6"))) with | s_ => Some s_ end
+ if string_startswith _s678_ "pmpaddr5" then
+ match (string_drop _s678_ (projT1 (string_length "pmpaddr5"))) with | s_ => Some s_ end
else None.
Definition _s672_ (_s673_ : string) : option string :=
let _s674_ := _s673_ in
- if string_startswith _s674_ "pmpaddr5" then
- match (string_drop _s674_ (projT1 (string_length "pmpaddr5"))) with | s_ => Some s_ end
+ if string_startswith _s674_ "pmpaddr4" then
+ match (string_drop _s674_ (projT1 (string_length "pmpaddr4"))) with | s_ => Some s_ end
else None.
Definition _s668_ (_s669_ : string) : option string :=
let _s670_ := _s669_ in
- if string_startswith _s670_ "pmpaddr4" then
- match (string_drop _s670_ (projT1 (string_length "pmpaddr4"))) with | s_ => Some s_ end
+ if string_startswith _s670_ "pmpaddr3" then
+ match (string_drop _s670_ (projT1 (string_length "pmpaddr3"))) with | s_ => Some s_ end
else None.
Definition _s664_ (_s665_ : string) : option string :=
let _s666_ := _s665_ in
- if string_startswith _s666_ "pmpaddr3" then
- match (string_drop _s666_ (projT1 (string_length "pmpaddr3"))) with | s_ => Some s_ end
+ if string_startswith _s666_ "pmpaddr2" then
+ match (string_drop _s666_ (projT1 (string_length "pmpaddr2"))) with | s_ => Some s_ end
else None.
Definition _s660_ (_s661_ : string) : option string :=
let _s662_ := _s661_ in
- if string_startswith _s662_ "pmpaddr2" then
- match (string_drop _s662_ (projT1 (string_length "pmpaddr2"))) with | s_ => Some s_ end
+ if string_startswith _s662_ "pmpaddr1" then
+ match (string_drop _s662_ (projT1 (string_length "pmpaddr1"))) with | s_ => Some s_ end
else None.
Definition _s656_ (_s657_ : string) : option string :=
let _s658_ := _s657_ in
- if string_startswith _s658_ "pmpaddr1" then
- match (string_drop _s658_ (projT1 (string_length "pmpaddr1"))) with | s_ => Some s_ end
+ if string_startswith _s658_ "pmpaddr0" then
+ match (string_drop _s658_ (projT1 (string_length "pmpaddr0"))) with | s_ => Some s_ end
else None.
Definition _s652_ (_s653_ : string) : option string :=
let _s654_ := _s653_ in
- if string_startswith _s654_ "pmpaddr0" then
- match (string_drop _s654_ (projT1 (string_length "pmpaddr0"))) with | s_ => Some s_ end
+ if string_startswith _s654_ "pmpcfg3" then
+ match (string_drop _s654_ (projT1 (string_length "pmpcfg3"))) with | s_ => Some s_ end
else None.
Definition _s648_ (_s649_ : string) : option string :=
let _s650_ := _s649_ in
- if string_startswith _s650_ "pmpcfg3" then
- match (string_drop _s650_ (projT1 (string_length "pmpcfg3"))) with | s_ => Some s_ end
+ if string_startswith _s650_ "pmpcfg2" then
+ match (string_drop _s650_ (projT1 (string_length "pmpcfg2"))) with | s_ => Some s_ end
else None.
Definition _s644_ (_s645_ : string) : option string :=
let _s646_ := _s645_ in
- if string_startswith _s646_ "pmpcfg2" then
- match (string_drop _s646_ (projT1 (string_length "pmpcfg2"))) with | s_ => Some s_ end
+ if string_startswith _s646_ "pmpcfg1" then
+ match (string_drop _s646_ (projT1 (string_length "pmpcfg1"))) with | s_ => Some s_ end
else None.
Definition _s640_ (_s641_ : string) : option string :=
let _s642_ := _s641_ in
- if string_startswith _s642_ "pmpcfg1" then
- match (string_drop _s642_ (projT1 (string_length "pmpcfg1"))) with | s_ => Some s_ end
+ if string_startswith _s642_ "pmpcfg0" then
+ match (string_drop _s642_ (projT1 (string_length "pmpcfg0"))) with | s_ => Some s_ end
else None.
Definition _s636_ (_s637_ : string) : option string :=
let _s638_ := _s637_ in
- if string_startswith _s638_ "pmpcfg0" then
- match (string_drop _s638_ (projT1 (string_length "pmpcfg0"))) with | s_ => Some s_ end
+ if string_startswith _s638_ "mip" then
+ match (string_drop _s638_ (projT1 (string_length "mip"))) with | s_ => Some s_ end
else None.
Definition _s632_ (_s633_ : string) : option string :=
let _s634_ := _s633_ in
- if string_startswith _s634_ "mip" then
- match (string_drop _s634_ (projT1 (string_length "mip"))) with | s_ => Some s_ end
+ if string_startswith _s634_ "mtval" then
+ match (string_drop _s634_ (projT1 (string_length "mtval"))) with | s_ => Some s_ end
else None.
Definition _s628_ (_s629_ : string) : option string :=
let _s630_ := _s629_ in
- if string_startswith _s630_ "mtval" then
- match (string_drop _s630_ (projT1 (string_length "mtval"))) with | s_ => Some s_ end
+ if string_startswith _s630_ "mcause" then
+ match (string_drop _s630_ (projT1 (string_length "mcause"))) with | s_ => Some s_ end
else None.
Definition _s624_ (_s625_ : string) : option string :=
let _s626_ := _s625_ in
- if string_startswith _s626_ "mcause" then
- match (string_drop _s626_ (projT1 (string_length "mcause"))) with | s_ => Some s_ end
+ if string_startswith _s626_ "mepc" then
+ match (string_drop _s626_ (projT1 (string_length "mepc"))) with | s_ => Some s_ end
else None.
Definition _s620_ (_s621_ : string) : option string :=
let _s622_ := _s621_ in
- if string_startswith _s622_ "mepc" then
- match (string_drop _s622_ (projT1 (string_length "mepc"))) with | s_ => Some s_ end
+ if string_startswith _s622_ "mscratch" then
+ match (string_drop _s622_ (projT1 (string_length "mscratch"))) with | s_ => Some s_ end
else None.
Definition _s616_ (_s617_ : string) : option string :=
let _s618_ := _s617_ in
- if string_startswith _s618_ "mscratch" then
- match (string_drop _s618_ (projT1 (string_length "mscratch"))) with | s_ => Some s_ end
+ if string_startswith _s618_ "mcountinhibit" then
+ match (string_drop _s618_ (projT1 (string_length "mcountinhibit"))) with | s_ => Some s_ end
else None.
Definition _s612_ (_s613_ : string) : option string :=
@@ -10034,7 +10123,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s616_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"340"
+ (Ox"320"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10045,7 +10134,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s620_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"341"
+ (Ox"340"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10056,7 +10145,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s624_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"342"
+ (Ox"341"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10067,7 +10156,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s628_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"343"
+ (Ox"342"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10078,7 +10167,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s632_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"344"
+ (Ox"343"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10089,7 +10178,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s636_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A0"
+ (Ox"344"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10100,7 +10189,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s640_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A1"
+ (Ox"3A0"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10111,7 +10200,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s644_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A2"
+ (Ox"3A1"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10122,7 +10211,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s648_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3A3"
+ (Ox"3A2"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10133,7 +10222,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s652_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B0"
+ (Ox"3A3"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10144,7 +10233,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s656_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B1"
+ (Ox"3B0"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10155,7 +10244,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s660_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B2"
+ (Ox"3B1"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10166,7 +10255,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s664_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B3"
+ (Ox"3B2"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10177,7 +10266,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s668_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B4"
+ (Ox"3B3"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10188,7 +10277,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s672_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B5"
+ (Ox"3B4"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10199,7 +10288,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s676_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B6"
+ (Ox"3B5"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10210,7 +10299,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s680_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B7"
+ (Ox"3B6"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10221,7 +10310,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s684_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B8"
+ (Ox"3B7"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10232,7 +10321,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s688_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3B9"
+ (Ox"3B8"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10243,7 +10332,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s692_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BA"
+ (Ox"3B9"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10254,7 +10343,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s696_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BB"
+ (Ox"3BA"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10265,7 +10354,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s700_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BC"
+ (Ox"3BB"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10276,7 +10365,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s704_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BD"
+ (Ox"3BC"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10287,7 +10376,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s708_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BE"
+ (Ox"3BD"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10298,7 +10387,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s712_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"3BF"
+ (Ox"3BE"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10309,7 +10398,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s716_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B00"
+ (Ox"3BF"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10320,7 +10409,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s720_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B02"
+ (Ox"B00"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10331,7 +10420,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s724_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B80"
+ (Ox"B02"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10342,7 +10431,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s728_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"B82"
+ (Ox"B80"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10353,7 +10442,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s732_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A0"
+ (Ox"B82"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10364,7 +10453,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s736_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A1"
+ (Ox"7A0"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10375,7 +10464,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s740_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A2"
+ (Ox"7A1"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
@@ -10386,15 +10475,26 @@ Definition csr_name_map_matches_prefix (arg_ : string)
(match (_s744_ _s459_) with
| Some s_ =>
returnm (Some
- (Ox"7A3"
+ (Ox"7A2"
: mword 12, build_ex
(projT1
(sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
| _ => exit tt : M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s748_ _s459_) with | Some (reg, s_) => true | _ => false end then
+ else if match (_s748_ _s459_) with | Some s_ => true | _ => false end then
(match (_s748_ _s459_) with
+ | Some s_ =>
+ returnm (Some
+ (Ox"7A3"
+ : mword 12, build_ex
+ (projT1
+ (sub_nat (projT1 (string_length arg_)) (projT1 (string_length s_))))))
+ | _ => exit tt : M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
+ end)
+ : M (option ((mword 12 * {n : Z & ArithFact (n >=? 0)})))
+ else if match (_s752_ _s459_) with | Some (reg, s_) => true | _ => false end then
+ (match (_s752_ _s459_) with
| Some (reg, s_) =>
returnm (Some
(reg, build_ex
@@ -10408,7 +10508,7 @@ Definition csr_name_map_matches_prefix (arg_ : string)
Definition csr_name (csr : mword 12) : string := csr_name_map_forwards csr.
-Definition ext_is_CSR_defined (b__0 : mword 12) (g__325 : Privilege) : M (bool) :=
+Definition ext_is_CSR_defined (b__0 : mword 12) (g__337 : Privilege) : M (bool) :=
(if eq_vec b__0 (Ox"000" : mword 12) then
(and_boolM ((haveUsrMode tt) : M (bool)) ((haveNExt tt) : M (bool)))
: M (bool)
@@ -10544,11 +10644,24 @@ Definition is_CSR_defined (csr : mword 12) (p : Privilege) : M (bool) :=
else if eq_vec b__0 (Ox"F14" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"300" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"301" : mword 12) then returnm (generic_eq p Machine)
- else if eq_vec b__0 (Ox"302" : mword 12) then returnm (generic_eq p Machine)
- else if eq_vec b__0 (Ox"303" : mword 12) then returnm (generic_eq p Machine)
+ else if eq_vec b__0 (Ox"302" : mword 12) then
+ (and_boolM (returnm ((generic_eq p Machine) : bool))
+ ((or_boolM ((haveSupMode tt) : M (bool)) ((haveNExt tt) : M (bool)))
+ : M (bool)))
+ : M (bool)
+ else if eq_vec b__0 (Ox"303" : mword 12) then
+ (and_boolM (returnm ((generic_eq p Machine) : bool))
+ ((or_boolM ((haveSupMode tt) : M (bool)) ((haveNExt tt) : M (bool)))
+ : M (bool)))
+ : M (bool)
else if eq_vec b__0 (Ox"304" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"305" : mword 12) then returnm (generic_eq p Machine)
- else if eq_vec b__0 (Ox"306" : mword 12) then returnm (generic_eq p Machine)
+ else if eq_vec b__0 (Ox"306" : mword 12) then
+ (and_boolM (returnm ((generic_eq p Machine) : bool)) ((haveUsrMode tt) : M (bool)))
+ : M (bool)
+ else if eq_vec b__0 (Ox"310" : mword 12) then
+ returnm (andb (generic_eq p Machine) (Z.eqb 64 32))
+ else if eq_vec b__0 (Ox"320" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"340" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"341" : mword 12) then returnm (generic_eq p Machine)
else if eq_vec b__0 (Ox"342" : mword 12) then returnm (generic_eq p Machine)
@@ -10589,11 +10702,15 @@ Definition is_CSR_defined (csr : mword 12) (p : Privilege) : M (bool) :=
: M (bool)
else if eq_vec b__0 (Ox"102" : mword 12) then
(and_boolM ((haveSupMode tt) : M (bool))
- (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ ((and_boolM ((haveNExt tt) : M (bool))
+ (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ : M (bool)))
: M (bool)
else if eq_vec b__0 (Ox"103" : mword 12) then
(and_boolM ((haveSupMode tt) : M (bool))
- (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ ((and_boolM ((haveNExt tt) : M (bool))
+ (returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
+ : M (bool)))
: M (bool)
else if eq_vec b__0 (Ox"104" : mword 12) then
(and_boolM ((haveSupMode tt) : M (bool))
@@ -10631,12 +10748,42 @@ Definition is_CSR_defined (csr : mword 12) (p : Privilege) : M (bool) :=
(and_boolM ((haveSupMode tt) : M (bool))
(returnm ((orb (generic_eq p Machine) (generic_eq p Supervisor)) : bool)))
: M (bool)
- else if eq_vec b__0 (Ox"C00" : mword 12) then returnm (generic_eq p User)
- else if eq_vec b__0 (Ox"C01" : mword 12) then returnm (generic_eq p User)
- else if eq_vec b__0 (Ox"C02" : mword 12) then returnm (generic_eq p User)
- else if eq_vec b__0 (Ox"C80" : mword 12) then returnm (andb (generic_eq p User) (Z.eqb 64 32))
- else if eq_vec b__0 (Ox"C81" : mword 12) then returnm (andb (generic_eq p User) (Z.eqb 64 32))
- else if eq_vec b__0 (Ox"C82" : mword 12) then returnm (andb (generic_eq p User) (Z.eqb 64 32))
+ else if eq_vec b__0 (Ox"C00" : mword 12) then (haveUsrMode tt) : M (bool)
+ else if eq_vec b__0 (Ox"C01" : mword 12) then (haveUsrMode tt) : M (bool)
+ else if eq_vec b__0 (Ox"C02" : mword 12) then (haveUsrMode tt) : M (bool)
+ else if eq_vec b__0 (Ox"C80" : mword 12) then
+ projT1_m
+ ((and_boolMP (build_trivial_ex ((haveUsrMode tt) : M (bool)))
+ ((returnm (build_ex
+ (projT1
+ (build_ex
+ (Z.eqb 64 32)
+ : {_bool : bool & ArithFact (Bool.eqb (64 =? 32) _bool)})))) : M ({_bool : bool & ArithFact (Bool.eqb (64 =?
+ 32) _bool)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (64 =? 32)) _bool = true)}))
+ : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (64 =? 32)) _bool = true)}))
+ else if eq_vec b__0 (Ox"C81" : mword 12) then
+ projT1_m
+ ((and_boolMP (build_trivial_ex ((haveUsrMode tt) : M (bool)))
+ ((returnm (build_ex
+ (projT1
+ (build_ex
+ (Z.eqb 64 32)
+ : {_bool : bool & ArithFact (Bool.eqb (64 =? 32) _bool)})))) : M ({_bool : bool & ArithFact (Bool.eqb (64 =?
+ 32) _bool)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (64 =? 32)) _bool = true)}))
+ : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (64 =? 32)) _bool = true)}))
+ else if eq_vec b__0 (Ox"C82" : mword 12) then
+ projT1_m
+ ((and_boolMP (build_trivial_ex ((haveUsrMode tt) : M (bool)))
+ ((returnm (build_ex
+ (projT1
+ (build_ex
+ (Z.eqb 64 32)
+ : {_bool : bool & ArithFact (Bool.eqb (64 =? 32) _bool)})))) : M ({_bool : bool & ArithFact (Bool.eqb (64 =?
+ 32) _bool)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (64 =? 32)) _bool = true)}))
+ : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (64 =? 32)) _bool = true)}))
else (ext_is_CSR_defined csr p) : M (bool))
: M (bool).
@@ -11125,6 +11272,12 @@ Definition init_sys '(tt : unit) : M (unit) :=
read_reg misa_ref >>= fun w__3 : Misa =>
write_reg mstatus_ref (set_mstatus_UXL w__2 (_get_Misa_MXL w__3)) >>
(_set_Mstatus_SD mstatus_ref ('b"0" : mword 1)) >>
+ read_reg mstatus_ref >>= fun w__4 : Mstatus =>
+ write_reg
+ mstatus_ref
+ (Mk_Mstatus
+ (update_subrange_vec_dec (_get_Mstatus_bits w__4) 37 36 ('b"00" : mword (37 - (36 - 1))))) >>
+ (_set_Mstatush_bits mstatush_ref (EXTZ 32 ('b"0" : mword 1))) >>
(_set_Minterrupts_bits mip_ref (EXTZ 64 ('b"0" : mword 1))) >>
(_set_Minterrupts_bits mie_ref (EXTZ 64 ('b"0" : mword 1))) >>
(_set_Minterrupts_bits mideleg_ref (EXTZ 64 ('b"0" : mword 1))) >>
@@ -11141,10 +11294,10 @@ Definition init_sys '(tt : unit) : M (unit) :=
write_reg minstret_written_ref false >>
(init_pmp tt) >>
(if get_config_print_reg tt then
- read_reg mstatus_ref >>= fun w__4 : Mstatus =>
+ read_reg mstatus_ref >>= fun w__5 : Mstatus =>
returnm (print_endline
(String.append "CSR mstatus <- "
- (String.append (string_of_bits (_get_Mstatus_bits w__4))
+ (String.append (string_of_bits (_get_Mstatus_bits w__5))
(String.append " (input: "
(String.append (string_of_bits ((EXTZ 64 ('b"0" : mword 1)) : xlenbits))
")")))))
@@ -11522,6 +11675,12 @@ Definition _update_htif_cmd_payload (v : htif_cmd) (x : mword 48) : htif_cmd :=
htif_cmd_htif_cmd_chunk_0 :=
(update_subrange_vec_dec v.(htif_cmd_htif_cmd_chunk_0) 47 0 (subrange_vec_dec x 47 0)) ]}.
+Definition reset_htif '(tt : unit) : M (unit) :=
+ write_reg htif_cmd_write_ref B0 >>
+ write_reg htif_payload_writes_ref (Ox"0" : mword 4) >>
+ write_reg htif_tohost_ref (EXTZ 64 ('b"0" : mword 1))
+ : M (unit).
+
Definition htif_load (t : AccessType unit) (paddr : mword 64) (width : Z) `{ArithFact (width >? 0)}
: M (MemoryOpResult (mword (8 * width))) :=
(if get_config_print_platform tt then
@@ -11559,48 +11718,80 @@ Definition htif_store (paddr : mword 64) (width : Z) (data : mword (8 * width))
(String.append (string_of_bits paddr) (String.append "] <- " (string_of_bits data))))
else tt)
: unit in
- (if sumbool_of_bool (Z.eqb width 8) then write_reg htif_tohost_ref (EXTZ 64 data) : M (unit)
+ (if sumbool_of_bool (Z.eqb width 8) then
+ write_reg htif_cmd_write_ref B1 >>
+ ((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__0 : mword 4 =>
+ write_reg htif_payload_writes_ref (add_vec_int w__0 1) >>
+ write_reg htif_tohost_ref (EXTZ 64 data)
+ : M (unit)
else if sumbool_of_bool (andb (Z.eqb width 4) (eq_vec paddr (plat_htif_tohost tt))) then
- ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__0 : mword 64 =>
- write_reg htif_tohost_ref (update_subrange_vec_dec w__0 31 0 (autocast (autocast data)))
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
+ (if eq_vec data (autocast (autocast (subrange_vec_dec w__1 31 0))) then
+ ((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__2 : mword 4 =>
+ write_reg htif_payload_writes_ref (add_vec_int w__2 1)
+ : M (unit)
+ else write_reg htif_payload_writes_ref (Ox"1" : mword 4) : M (unit)) >>
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__3 : mword 64 =>
+ write_reg htif_tohost_ref (update_subrange_vec_dec w__3 31 0 (autocast (autocast data)))
: M (unit)
else if sumbool_of_bool
(andb (Z.eqb width 4) (eq_vec paddr (add_vec_int (plat_htif_tohost tt) 4))) then
- ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
- write_reg htif_tohost_ref (update_subrange_vec_dec w__1 63 32 (autocast (autocast data)))
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__4 : mword 64 =>
+ (if eq_vec (subrange_vec_dec data 15 0) (subrange_vec_dec w__4 47 32) then
+ ((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__5 : mword 4 =>
+ write_reg htif_payload_writes_ref (add_vec_int w__5 1)
+ : M (unit)
+ else write_reg htif_payload_writes_ref (Ox"1" : mword 4) : M (unit)) >>
+ write_reg htif_cmd_write_ref B1 >>
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__6 : mword 64 =>
+ write_reg htif_tohost_ref (update_subrange_vec_dec w__6 63 32 (autocast (autocast data)))
: M (unit)
else write_reg htif_tohost_ref (EXTZ 64 data) : M (unit)) >>
- ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__2 : mword 64 =>
- let cmd := Mk_htif_cmd w__2 in
- let b__0 := _get_htif_cmd_device cmd in
- (if eq_vec b__0 (Ox"00" : mword 8) then
- let '_ :=
- (if get_config_print_platform tt then
- print_endline
- (String.append "htif-syscall-proxy cmd: " (string_of_bits (_get_htif_cmd_payload cmd)))
- else tt)
- : unit in
- (if eq_bit (access_vec_dec (_get_htif_cmd_payload cmd) 0) B1 then
- write_reg htif_done_ref true >>
- write_reg htif_exit_code_ref (shiftr (zero_extend (_get_htif_cmd_payload cmd) 64) 1)
+ (or_boolM
+ ((and_boolM
+ (read_reg htif_cmd_write_ref >>= fun w__7 : bitU => returnm ((eq_bit w__7 B1) : bool))
+ (((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__8 : mword 4 =>
+ returnm ((Z.gtb (projT1 (uint w__8)) 0) : bool)))
+ : M (bool))
+ (((read_reg htif_payload_writes_ref) : M (mword 4)) >>= fun w__10 : mword 4 =>
+ returnm ((Z.gtb (projT1 (uint w__10)) 2) : bool))) >>= fun w__11 : bool =>
+ (if sumbool_of_bool w__11 then
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__12 : mword 64 =>
+ let cmd := Mk_htif_cmd w__12 in
+ let b__0 := _get_htif_cmd_device cmd in
+ (if eq_vec b__0 (Ox"00" : mword 8) then
+ let '_ :=
+ (if get_config_print_platform tt then
+ print_endline
+ (String.append "htif-syscall-proxy cmd: "
+ (string_of_bits (_get_htif_cmd_payload cmd)))
+ else tt)
+ : unit in
+ (if eq_bit (access_vec_dec (_get_htif_cmd_payload cmd) 0) B1 then
+ write_reg htif_done_ref true >>
+ write_reg htif_exit_code_ref (shiftr (zero_extend (_get_htif_cmd_payload cmd) 64) 1)
+ : M (unit)
+ else returnm tt)
: M (unit)
- else returnm tt)
+ else if eq_vec b__0 (Ox"01" : mword 8) then
+ let '_ :=
+ (if get_config_print_platform tt then
+ print_endline
+ (String.append "htif-term cmd: " (string_of_bits (_get_htif_cmd_payload cmd)))
+ else tt)
+ : unit in
+ let b__2 := _get_htif_cmd_cmd cmd in
+ let '_ :=
+ (if eq_vec b__2 (Ox"00" : mword 8) then tt
+ else if eq_vec b__2 (Ox"01" : mword 8) then
+ plat_term_write (subrange_vec_dec (_get_htif_cmd_payload cmd) 7 0)
+ else print_endline (String.append "Unknown term cmd: " (string_of_bits b__2)))
+ : unit in
+ (reset_htif tt)
+ : M (unit)
+ else returnm (print_endline (String.append "htif-???? cmd: " (string_of_bits data))))
: M (unit)
- else
- returnm (if eq_vec b__0 (Ox"01" : mword 8) then
- let '_ :=
- (if get_config_print_platform tt then
- print_endline
- (String.append "htif-term cmd: "
- (string_of_bits (_get_htif_cmd_payload cmd)))
- else tt)
- : unit in
- let b__2 := _get_htif_cmd_cmd cmd in
- if eq_vec b__2 (Ox"00" : mword 8) then tt
- else if eq_vec b__2 (Ox"01" : mword 8) then
- plat_term_write (subrange_vec_dec (_get_htif_cmd_payload cmd) 7 0)
- else print_endline (String.append "Unknown term cmd: " (string_of_bits b__2))
- else print_endline (String.append "htif-???? cmd: " (string_of_bits data)))) >>
+ else returnm tt) >>
returnm (MemValue true).
Definition htif_tick '(tt : unit) : M (unit) :=
@@ -11608,7 +11799,8 @@ Definition htif_tick '(tt : unit) : M (unit) :=
((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__0 : mword 64 =>
returnm (print_endline (String.append "htif::tick " (string_of_bits w__0)))
else returnm tt) >>
- write_reg htif_tohost_ref (EXTZ 64 ('b"0" : mword 1))
+ ((read_reg htif_tohost_ref) : M (mword 64)) >>= fun w__1 : mword 64 =>
+ write_reg htif_tohost_ref w__1
: M (unit).
Definition within_mmio_readable (addr : mword 64) (width : Z)
@@ -11655,7 +11847,9 @@ Definition mmio_write (paddr : mword 64) (width : Z) (data : mword (8 * width))
Definition init_platform '(tt : unit) : M (unit) :=
write_reg htif_tohost_ref (EXTZ 64 ('b"0" : mword 1)) >>
write_reg htif_done_ref false >>
- write_reg htif_exit_code_ref (EXTZ 64 ('b"0" : mword 1))
+ write_reg htif_exit_code_ref (EXTZ 64 ('b"0" : mword 1)) >>
+ write_reg htif_cmd_write_ref B0 >>
+ write_reg htif_payload_writes_ref (EXTZ 4 ('b"0" : mword 1))
: M (unit).
Definition tick_platform '(tt : unit) : M (unit) := (htif_tick tt) : M (unit).
@@ -11739,7 +11933,12 @@ Definition checked_mem_read
(mmio_read t paddr width) >>= fun w__0 : MemoryOpResult (mword (8 * width)) =>
returnm (MemoryOpResult_add_meta w__0 default_meta)
else if within_phys_mem paddr width then
- (phys_mem_read t paddr width aq rl res meta)
+ (match (ext_check_phys_mem_read t paddr width aq rl res meta) with
+ | Ext_PhysAddr_OK tt =>
+ (phys_mem_read t paddr width aq rl res meta)
+ : M (MemoryOpResult ((mword (8 * width) * unit)))
+ | Ext_PhysAddr_Error e => returnm (MemException e)
+ end)
: M (MemoryOpResult ((mword (8 * width) * unit)))
else
returnm (match t with
@@ -11750,18 +11949,15 @@ Definition checked_mem_read
: M (MemoryOpResult ((mword (8 * width) * unit))).
Definition pmp_mem_read
-(t : AccessType unit) (paddr : mword 64) (width : Z) (aq : bool) (rl : bool) (res : bool)
-(meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+(t : AccessType unit) (p : Privilege) (paddr : mword 64) (width : Z) (aq : bool) (rl : bool)
+(res : bool) (meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult ((mword (8 * width) * unit))) :=
(if negb (plat_enable_pmp tt) then
(checked_mem_read t paddr width aq rl res meta)
: M (MemoryOpResult ((mword (8 * width) * unit)))
else
- read_reg mstatus_ref >>= fun w__1 : Mstatus =>
- read_reg cur_privilege_ref >>= fun w__2 : Privilege =>
- (effectivePrivilege t w__1 w__2) >>= fun w__3 : Privilege =>
- (pmpCheck paddr width t w__3) >>= fun w__4 : option ExceptionType =>
- (match w__4 with
+ (pmpCheck paddr width t p) >>= fun w__1 : option ExceptionType =>
+ (match w__1 with
| None =>
(checked_mem_read t paddr width aq rl res meta)
: M (MemoryOpResult ((mword (8 * width) * unit)))
@@ -11770,14 +11966,15 @@ Definition pmp_mem_read
: M (MemoryOpResult ((mword (8 * width) * unit))))
: M (MemoryOpResult ((mword (8 * width) * unit))).
-Definition rvfi_read (addr : mword 64) (width : Z) (value : MemoryOpResult (mword (8 * width)))
+Definition rvfi_read
+(addr : mword 64) (width : Z) (result : MemoryOpResult ((mword (8 * width) * unit)))
`{ArithFact (width >? 0)}
: unit :=
tt.
-Definition mem_read_meta
-(typ : AccessType unit) (paddr : mword 64) (width : Z) (aq : bool) (rl : bool) (res : bool)
-(meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+Definition mem_read_priv_meta
+(typ : AccessType unit) (priv : Privilege) (paddr : mword 64) (width : Z) (aq : bool) (rl : bool)
+(res : bool) (meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult ((mword (8 * width) * unit))) :=
(if sumbool_of_bool (andb (orb aq res) (negb (is_aligned_addr paddr width))) then
returnm (MemException (E_Load_Addr_Align tt))
@@ -11786,20 +11983,40 @@ Definition mem_read_meta
| (false, true, false) => throw (Error_not_implemented "load.rl")
| (false, true, true) => throw (Error_not_implemented "lr.rl")
| (_, _, _) =>
- (pmp_mem_read typ paddr width aq rl res meta)
+ (pmp_mem_read typ priv paddr width aq rl res meta)
: M (MemoryOpResult ((mword (8 * width) * unit)))
end)
: M (MemoryOpResult ((mword (8 * width) * unit)))) >>= fun result : MemoryOpResult ((bits (8 * width) * mem_meta)) =>
- let '_ := (rvfi_read paddr width (MemoryOpResult_drop_meta result)) : unit in
+ let '_ := (rvfi_read paddr width result) : unit in
returnm result.
-Definition mem_read
+Definition mem_read_meta
(typ : AccessType unit) (paddr : mword 64) (width : Z) (aq : bool) (rl : bool) (res : bool)
-`{ArithFact ((0 <? width) && (width <=? 16))}
+(meta : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult ((mword (8 * width) * unit))) :=
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege typ w__0 w__1) >>= fun w__2 : Privilege =>
+ (mem_read_priv_meta typ w__2 paddr width aq rl res meta)
+ : M (MemoryOpResult ((mword (8 * width) * unit))).
+
+Definition mem_read_priv
+(typ : AccessType unit) (priv : Privilege) (paddr : mword 64) (width : Z) (aq : bool) (rl : bool)
+(res : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult (mword (8 * width))) :=
- (mem_read_meta typ paddr width aq rl res false) >>= fun w__0 : MemoryOpResult ((mword (8 * width) * unit)) =>
+ (mem_read_priv_meta typ priv paddr width aq rl res false) >>= fun w__0 : MemoryOpResult ((mword (8 * width) * unit)) =>
returnm (MemoryOpResult_drop_meta w__0).
+Definition mem_read
+(typ : AccessType unit) (paddr : mword 64) (width : Z) (aq : bool) (rel : bool) (res : bool)
+`{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult (mword (8 * width))) :=
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege typ w__0 w__1) >>= fun w__2 : Privilege =>
+ (mem_read_priv typ w__2 paddr width aq rel res)
+ : M (MemoryOpResult (mword (8 * width))).
+
Definition mem_write_ea (addr : mword 64) (width : Z) (aq : bool) (rl : bool) (con : bool)
`{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult unit) :=
@@ -11824,7 +12041,7 @@ Definition mem_write_ea (addr : mword 64) (width : Z) (aq : bool) (rl : bool) (c
: M (MemoryOpResult unit))
: M (MemoryOpResult unit).
-Definition rvfi_write (addr : mword 64) (width : Z) (value : mword (8 * width))
+Definition rvfi_write (addr : mword 64) (width : Z) (value : mword (8 * width)) (meta : unit)
`{ArithFact (width >? 0)}
: unit :=
tt.
@@ -11833,7 +12050,7 @@ Definition phys_mem_write
(wk : write_kind) (paddr : mword 64) (width : Z) (data : mword (8 * width)) (meta : unit)
`{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult bool) :=
- let '_ := (rvfi_write paddr width data) : unit in
+ let '_ := (rvfi_write paddr width data meta) : unit in
(write_ram wk paddr width data meta) >>= fun w__0 : bool =>
let result := MemValue w__0 in
let '_ :=
@@ -11853,63 +12070,72 @@ Definition checked_mem_write
(mmio_write paddr width data)
: M (MemoryOpResult bool)
else if within_phys_mem paddr width then
- (phys_mem_write wk paddr width data meta)
+ (match (ext_check_phys_mem_write wk paddr width data meta) with
+ | Ext_PhysAddr_OK tt => (phys_mem_write wk paddr width data meta) : M (MemoryOpResult bool)
+ | Ext_PhysAddr_Error e => returnm (MemException e)
+ end)
: M (MemoryOpResult bool)
else returnm (MemException (E_SAMO_Access_Fault tt)))
: M (MemoryOpResult bool).
Definition pmp_mem_write
-(wk : write_kind) (paddr : mword 64) (width : Z) (data : mword (8 * width)) (ext_acc : unit)
-(meta : unit) `{ArithFact ((0 <? width) && (width <=? 16))}
+(wk : write_kind) (paddr : mword 64) (width : Z) (data : mword (8 * width)) (typ : AccessType unit)
+(priv : Privilege) (meta : unit) `{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult bool) :=
(if negb (plat_enable_pmp tt) then
(checked_mem_write wk paddr width data meta)
: M (MemoryOpResult bool)
else
- let typ : AccessType ext_access_type := Write ext_acc in
- read_reg mstatus_ref >>= fun w__1 : Mstatus =>
- read_reg cur_privilege_ref >>= fun w__2 : Privilege =>
- (effectivePrivilege typ w__1 w__2) >>= fun w__3 : Privilege =>
- (pmpCheck paddr width typ w__3) >>= fun w__4 : option ExceptionType =>
- (match w__4 with
+ (pmpCheck paddr width typ priv) >>= fun w__1 : option ExceptionType =>
+ (match w__1 with
| None => (checked_mem_write wk paddr width data meta) : M (MemoryOpResult bool)
| Some e => returnm (MemException e)
end)
: M (MemoryOpResult bool))
: M (MemoryOpResult bool).
-Definition mem_write_value_meta
-(paddr : mword 64) (width : Z) (value : mword (8 * width)) (ext_acc : unit) (meta : unit)
-(aq : bool) (rl : bool) (con : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+Definition mem_write_value_priv_meta
+(paddr : mword 64) (width : Z) (value : mword (8 * width)) (typ : AccessType unit)
+(priv : Privilege) (meta : unit) (aq : bool) (rl : bool) (con : bool)
+`{ArithFact ((0 <? width) && (width <=? 16))}
: M (MemoryOpResult bool) :=
- let '_ := (rvfi_write paddr width value) : unit in
+ let '_ := (rvfi_write paddr width value meta) : unit in
(if sumbool_of_bool (andb (orb rl con) (negb (is_aligned_addr paddr width))) then
returnm (MemException (E_SAMO_Addr_Align tt))
else
(match (aq, rl, con) with
- | (false, false, false) =>
- (pmp_mem_write Write_plain paddr width value ext_acc meta) : M (MemoryOpResult bool)
- | (false, true, false) =>
- (pmp_mem_write Write_RISCV_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (false, false, true) =>
- (pmp_mem_write Write_RISCV_conditional paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (false, true, true) =>
- (pmp_mem_write Write_RISCV_conditional_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (true, true, false) =>
- (pmp_mem_write Write_RISCV_strong_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
- | (true, true, true) =>
- (pmp_mem_write Write_RISCV_conditional_strong_release paddr width value ext_acc meta)
- : M (MemoryOpResult bool)
+ | (false, false, false) => returnm Write_plain
+ | (false, true, false) => returnm Write_RISCV_release
+ | (false, false, true) => returnm Write_RISCV_conditional
+ | (false, true, true) => returnm Write_RISCV_conditional_release
+ | (true, true, false) => returnm Write_RISCV_strong_release
+ | (true, true, true) => returnm Write_RISCV_conditional_strong_release
| (true, false, false) => throw (Error_not_implemented "store.aq")
| (true, false, true) => throw (Error_not_implemented "sc.aq")
- end)
+ end) >>= fun wk : write_kind =>
+ (pmp_mem_write wk paddr width value typ priv meta)
: M (MemoryOpResult bool))
: M (MemoryOpResult bool).
+Definition mem_write_value_priv
+(paddr : mword 64) (width : Z) (value : mword (8 * width)) (priv : Privilege) (aq : bool)
+(rl : bool) (con : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult bool) :=
+ (mem_write_value_priv_meta paddr width value (Write default_write_acc) priv default_meta aq rl
+ con)
+ : M (MemoryOpResult bool).
+
+Definition mem_write_value_meta
+(paddr : mword 64) (width : Z) (value : mword (8 * width)) (ext_acc : unit) (meta : unit)
+(aq : bool) (rl : bool) (con : bool) `{ArithFact ((0 <? width) && (width <=? 16))}
+: M (MemoryOpResult bool) :=
+ let typ := Write ext_acc in
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege typ w__0 w__1) >>= fun ep =>
+ (mem_write_value_priv_meta paddr width value typ ep meta aq rl con)
+ : M (MemoryOpResult bool).
+
Definition mem_write_value
(paddr : mword 64) (width : Z) (value : mword (8 * width)) (aq : bool) (rl : bool) (con : bool)
`{ArithFact ((0 <? width) && (width <=? 16))}
@@ -11917,6 +12143,8 @@ Definition mem_write_value
(mem_write_value_meta paddr width value default_write_acc default_meta aq rl con)
: M (MemoryOpResult bool).
+Definition default_sv32_ext_pte : extPte := zeros_implicit 10.
+Hint Unfold default_sv32_ext_pte : sail.
Definition Mk_PTE_Bits (v : mword 8) : PTE_Bits :=
{| PTE_Bits_PTE_Bits_chunk_0 := (subrange_vec_dec v 7 0) |}.
@@ -12104,23 +12332,23 @@ Definition isInvalidPTE (p : mword 8) (ext : mword 10) : bool :=
(eq_vec (_get_PTE_Bits_R a) ('b"0" : mword 1))).
Definition to_pte_check (b : bool) : PTE_Check :=
- if sumbool_of_bool b then PTE_Check_Success tt else PTE_Check_Failure tt.
+ if sumbool_of_bool b then PTE_Check_Success tt else PTE_Check_Failure (tt, tt).
Definition checkPTEPermission
(ac : AccessType unit) (priv : Privilege) (mxr : bool) (do_sum : bool) (p : PTE_Bits)
(ext : mword 10) (ext_ptw : unit)
: M (PTE_Check) :=
(match (ac, priv) with
- | (Read Data, User) =>
+ | (Read _, User) =>
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(orb (eq_vec (_get_PTE_Bits_R p) ('b"1" : mword 1))
(andb (eq_vec (_get_PTE_Bits_X p) ('b"1" : mword 1)) mxr))))
- | (Write Data, User) =>
+ | (Write _, User) =>
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))))
- | (ReadWrite Data, User) =>
+ | (ReadWrite (_, _), User) =>
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(andb (eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))
@@ -12130,16 +12358,16 @@ Definition checkPTEPermission
returnm (to_pte_check
(andb (eq_vec (_get_PTE_Bits_U p) ('b"1" : mword 1))
(eq_vec (_get_PTE_Bits_X p) ('b"1" : mword 1))))
- | (Read Data, Supervisor) =>
+ | (Read _, Supervisor) =>
returnm (to_pte_check
(andb (orb (eq_vec (_get_PTE_Bits_U p) ('b"0" : mword 1)) do_sum)
(orb (eq_vec (_get_PTE_Bits_R p) ('b"1" : mword 1))
(andb (eq_vec (_get_PTE_Bits_X p) ('b"1" : mword 1)) mxr))))
- | (Write Data, Supervisor) =>
+ | (Write _, Supervisor) =>
returnm (to_pte_check
(andb (orb (eq_vec (_get_PTE_Bits_U p) ('b"0" : mword 1)) do_sum)
(eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))))
- | (ReadWrite Data, Supervisor) =>
+ | (ReadWrite (_, _), Supervisor) =>
returnm (to_pte_check
(andb (orb (eq_vec (_get_PTE_Bits_U p) ('b"0" : mword 1)) do_sum)
(andb (eq_vec (_get_PTE_Bits_W p) ('b"1" : mword 1))
@@ -12156,8 +12384,14 @@ Definition checkPTEPermission
Definition update_PTE_Bits (p : PTE_Bits) (a : AccessType unit) (ext : mword 10)
: option ((PTE_Bits * mword 10)) :=
let update_d :=
- andb (orb (generic_eq a (Write Data)) (generic_eq a (ReadWrite Data)))
- (eq_vec (_get_PTE_Bits_D p) ('b"0" : mword 1)) in
+ andb (eq_vec (_get_PTE_Bits_D p) ('b"0" : mword 1))
+ ((match a with
+ | Execute tt => false
+ | Read tt => false
+ | Write _ => true
+ | ReadWrite (_, _) => true
+ end)
+ : bool) in
let update_a := eq_vec (_get_PTE_Bits_A p) ('b"0" : mword 1) in
if sumbool_of_bool (orb update_d update_a) then
let np := _update_PTE_Bits_A p ('b"1" : mword 1) in
@@ -12176,15 +12410,17 @@ Definition ptw_error_to_str (e : PTW_Error) : string :=
| PTW_Ext_Error e => "extension-error"
end.
+Definition ext_get_ptw_error (eptwf : unit) : PTW_Error := PTW_No_Permission tt.
+
Definition translationException (a : AccessType unit) (f : PTW_Error) : ExceptionType :=
match (a, f) with
| (_, PTW_Ext_Error e) => E_Extension (ext_translate_exception e)
- | (ReadWrite Data, PTW_Access tt) => E_SAMO_Access_Fault tt
- | (ReadWrite Data, _) => E_SAMO_Page_Fault tt
- | (Read Data, PTW_Access tt) => E_Load_Access_Fault tt
- | (Read Data, _) => E_Load_Page_Fault tt
- | (Write Data, PTW_Access tt) => E_SAMO_Access_Fault tt
- | (Write Data, _) => E_SAMO_Page_Fault tt
+ | (ReadWrite _, PTW_Access tt) => E_SAMO_Access_Fault tt
+ | (ReadWrite _, _) => E_SAMO_Page_Fault tt
+ | (Read _, PTW_Access tt) => E_Load_Access_Fault tt
+ | (Read _, _) => E_Load_Page_Fault tt
+ | (Write _, PTW_Access tt) => E_SAMO_Access_Fault tt
+ | (Write _, _) => E_SAMO_Page_Fault tt
| (Execute tt, PTW_Access tt) => E_Fetch_Access_Fault tt
| (Execute tt, _) => E_Fetch_Page_Fault tt
end.
@@ -12940,7 +13176,7 @@ exact (
(subrange_vec_dec (shiftr (_get_SV39_Vaddr_VPNi va) (Z.mul level SV39_LEVEL_BITS))
(Z.sub SV39_LEVEL_BITS 1) 0)) PTE39_LOG_SIZE in
let pte_addr := add_vec ptb pt_ofs in
- (mem_read ac (EXTZ 64 pte_addr) 8 false false false) >>= fun w__0 : MemoryOpResult (mword (8 * 8)) =>
+ (mem_read_priv (Read Data) Supervisor (EXTZ 64 pte_addr) 8 false false false) >>= fun w__0 : MemoryOpResult (mword (8 * 8)) =>
(match w__0 with
| MemException _ => returnm (PTW_Failure (PTW_Access tt, ext_ptw))
| MemValue v =>
@@ -12961,7 +13197,8 @@ exact (
else
(checkPTEPermission ac priv mxr do_sum pattr ext_pte ext_ptw) >>= fun w__3 : PTE_Check =>
returnm (match w__3 with
- | PTE_Check_Failure ext_ptw => PTW_Failure (PTW_No_Permission tt, ext_ptw)
+ | PTE_Check_Failure (ext_ptw, ext_ptw_fail) =>
+ PTW_Failure (ext_get_ptw_error ext_ptw_fail, ext_ptw)
| PTE_Check_Success ext_ptw =>
if sumbool_of_bool (Z.gtb level 0) then
let mask :=
@@ -13041,7 +13278,8 @@ Definition translate39
let pteBits := Mk_PTE_Bits (_get_SV39_PTE_BITS pte) in
(checkPTEPermission ac priv mxr do_sum pteBits ext_pte ext_ptw) >>= fun w__1 : PTE_Check =>
(match w__1 with
- | PTE_Check_Failure ext_ptw => returnm (TR_Failure (PTW_No_Permission tt, ext_ptw))
+ | PTE_Check_Failure (ext_ptw, ext_ptw_fail) =>
+ returnm (TR_Failure (ext_get_ptw_error ext_ptw_fail, ext_ptw))
| PTE_Check_Success ext_ptw =>
(match (update_PTE_Bits pteBits ac ext_pte) with
| None =>
@@ -13059,8 +13297,8 @@ Definition translate39
{[ n_ent with TLB_Entry_pte := (_get_SV39_PTE_bits n_pte) ]}
: TLB_Entry 16 39 56 64 in
(write_TLB39 idx n_ent) >>
- (mem_write_value (EXTZ 64 ent.(TLB_Entry_pteAddr)) 8 (_get_SV39_PTE_bits n_pte)
- false false false) >>= fun w__2 : MemoryOpResult bool =>
+ (mem_write_value_priv (EXTZ 64 ent.(TLB_Entry_pteAddr)) 8
+ (_get_SV39_PTE_bits n_pte) Supervisor false false false) >>= fun w__2 : MemoryOpResult bool =>
(match w__2 with
| MemValue _ => returnm tt
| MemException e =>
@@ -13089,7 +13327,8 @@ Definition translate39
else
let w_pte : SV39_PTE := _update_SV39_PTE_BITS pte (_get_PTE_Bits_bits pbits) in
let w_pte : SV39_PTE := (_update_SV39_PTE_Ext w_pte ext) : SV39_PTE in
- (mem_write_value (EXTZ 64 pteAddr) 8 (_get_SV39_PTE_bits w_pte) false false false) >>= fun w__7 : MemoryOpResult bool =>
+ (mem_write_value_priv (EXTZ 64 pteAddr) 8 (_get_SV39_PTE_bits w_pte) Supervisor
+ false false false) >>= fun w__7 : MemoryOpResult bool =>
(match w__7 with
| MemValue _ =>
(add_to_TLB39 asid vAddr pAddr w_pte pteAddr level global) >>
@@ -13121,7 +13360,7 @@ exact (
(subrange_vec_dec (shiftr (_get_SV48_Vaddr_VPNi va) (Z.mul level SV48_LEVEL_BITS))
(Z.sub SV48_LEVEL_BITS 1) 0)) PTE48_LOG_SIZE in
let pte_addr := add_vec ptb pt_ofs in
- (mem_read ac (EXTZ 64 pte_addr) 8 false false false) >>= fun w__0 : MemoryOpResult (mword (8 * 8)) =>
+ (mem_read_priv (Read Data) Supervisor (EXTZ 64 pte_addr) 8 false false false) >>= fun w__0 : MemoryOpResult (mword (8 * 8)) =>
(match w__0 with
| MemException _ => returnm (PTW_Failure (PTW_Access tt, ext_ptw))
| MemValue v =>
@@ -13142,7 +13381,8 @@ exact (
else
(checkPTEPermission ac priv mxr do_sum pattr ext_pte ext_ptw) >>= fun w__3 : PTE_Check =>
returnm (match w__3 with
- | PTE_Check_Failure ext_ptw => PTW_Failure (PTW_No_Permission tt, ext_ptw)
+ | PTE_Check_Failure (ext_ptw, ext_ptw_fail) =>
+ PTW_Failure (ext_get_ptw_error ext_ptw_fail, ext_ptw)
| PTE_Check_Success ext_ptw =>
if sumbool_of_bool (Z.gtb level 0) then
let mask :=
@@ -13228,7 +13468,8 @@ Definition translate48
else
let w_pte : SV48_PTE := _update_SV48_PTE_BITS pte (_get_PTE_Bits_bits pbits) in
let w_pte : SV48_PTE := (_update_SV48_PTE_Ext w_pte ext) : SV48_PTE in
- (mem_write_value (EXTZ 64 pteAddr) 8 (_get_SV48_PTE_bits w_pte) false false false) >>= fun w__1 : MemoryOpResult bool =>
+ (mem_write_value_priv (EXTZ 64 pteAddr) 8 (_get_SV48_PTE_bits w_pte) Supervisor false
+ false false) >>= fun w__1 : MemoryOpResult bool =>
(match w__1 with
| MemValue _ =>
(add_to_TLB48 asid vAddr pAddr w_pte pteAddr level global) >>
@@ -13280,28 +13521,25 @@ Definition translationMode (priv : Privilege) : M (SATPMode) :=
: M (SATPMode))
: M (SATPMode).
-Definition translateAddr (vAddr : mword 64) (ac : AccessType unit)
+Definition translateAddr_priv (vAddr : mword 64) (ac : AccessType unit) (effPriv : Privilege)
: M (TR_Result (mword 64) ExceptionType) :=
read_reg mstatus_ref >>= fun w__0 : Mstatus =>
- read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
- (effectivePrivilege ac w__0 w__1) >>= fun effPriv : Privilege =>
- read_reg mstatus_ref >>= fun w__2 : Mstatus =>
- let mxr : bool := eq_vec (_get_Mstatus_MXR w__2) ('b"1" : mword 1) in
- read_reg mstatus_ref >>= fun w__3 : Mstatus =>
- let do_sum : bool := eq_vec (_get_Mstatus_SUM w__3) ('b"1" : mword 1) in
+ let mxr : bool := eq_vec (_get_Mstatus_MXR w__0) ('b"1" : mword 1) in
+ read_reg mstatus_ref >>= fun w__1 : Mstatus =>
+ let do_sum : bool := eq_vec (_get_Mstatus_SUM w__1) ('b"1" : mword 1) in
(translationMode effPriv) >>= fun mode : SATPMode =>
- ((read_reg satp_ref) : M (mword 64)) >>= fun w__4 : mword 64 =>
- let asid := curAsid64 w__4 in
- ((read_reg satp_ref) : M (mword 64)) >>= fun w__5 : mword 64 =>
- let ptb := curPTB64 w__5 in
+ ((read_reg satp_ref) : M (mword 64)) >>= fun w__2 : mword 64 =>
+ let asid := curAsid64 w__2 in
+ ((read_reg satp_ref) : M (mword 64)) >>= fun w__3 : mword 64 =>
+ let ptb := curPTB64 w__3 in
let ext_ptw : ext_ptw := init_ext_ptw in
(match mode with
| Sbare => returnm (TR_Address (vAddr, ext_ptw))
| Sv39 =>
(if isValidSv39Addr vAddr then
(translate39 asid ptb (subrange_vec_dec vAddr 38 0) ac effPriv mxr do_sum
- (Z.sub SV39_LEVELS 1) ext_ptw) >>= fun w__6 : TR_Result (mword 56) PTW_Error =>
- returnm (match w__6 with
+ (Z.sub SV39_LEVELS 1) ext_ptw) >>= fun w__4 : TR_Result (mword 56) PTW_Error =>
+ returnm (match w__4 with
| TR_Address (pa, ext_ptw) => TR_Address (EXTZ 64 pa, ext_ptw)
| TR_Failure (f, ext_ptw) => TR_Failure (translationException ac f, ext_ptw)
end)
@@ -13310,8 +13548,8 @@ Definition translateAddr (vAddr : mword 64) (ac : AccessType unit)
| Sv48 =>
(if isValidSv48Addr vAddr then
(translate48 asid ptb (subrange_vec_dec vAddr 47 0) ac effPriv mxr do_sum
- (Z.sub SV48_LEVELS 1) ext_ptw) >>= fun w__8 : TR_Result (mword 56) PTW_Error =>
- returnm (match w__8 with
+ (Z.sub SV48_LEVELS 1) ext_ptw) >>= fun w__6 : TR_Result (mword 56) PTW_Error =>
+ returnm (match w__6 with
| TR_Address (pa, ext_ptw) => TR_Address (EXTZ 64 pa, ext_ptw)
| TR_Failure (f, ext_ptw) => TR_Failure (translationException ac f, ext_ptw)
end)
@@ -13323,6 +13561,14 @@ Definition translateAddr (vAddr : mword 64) (ac : AccessType unit)
end)
: M (TR_Result (mword 64) ExceptionType).
+Definition translateAddr (vAddr : mword 64) (ac : AccessType unit)
+: M (TR_Result (mword 64) ExceptionType) :=
+ read_reg mstatus_ref >>= fun w__0 : Mstatus =>
+ read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
+ (effectivePrivilege ac w__0 w__1) >>= fun w__2 : Privilege =>
+ (translateAddr_priv vAddr ac w__2)
+ : M (TR_Result (mword 64) ExceptionType).
+
Definition flush_TLB (asid_xlen : option (mword 64)) (addr_xlen : option (mword 64)) : M (unit) :=
let '(addr39, addr48) :=
(match addr_xlen with
@@ -13375,23 +13621,23 @@ Definition utype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "auipc" then true
else false.
-Definition _s757_ (_s758_ : string) : option string :=
- let _s759_ := _s758_ in
- if string_startswith _s759_ "auipc" then
- match (string_drop _s759_ (projT1 (string_length "auipc"))) with | s_ => Some s_ end
+Definition _s761_ (_s762_ : string) : option string :=
+ let _s763_ := _s762_ in
+ if string_startswith _s763_ "auipc" then
+ match (string_drop _s763_ (projT1 (string_length "auipc"))) with | s_ => Some s_ end
else None.
-Definition _s753_ (_s754_ : string) : option string :=
- let _s755_ := _s754_ in
- if string_startswith _s755_ "lui" then
- match (string_drop _s755_ (projT1 (string_length "lui"))) with | s_ => Some s_ end
+Definition _s757_ (_s758_ : string) : option string :=
+ let _s759_ := _s758_ in
+ if string_startswith _s759_ "lui" then
+ match (string_drop _s759_ (projT1 (string_length "lui"))) with | s_ => Some s_ end
else None.
Definition utype_mnemonic_matches_prefix (arg_ : string)
: M (option ((uop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s756_ := arg_ in
- (if match (_s753_ _s756_) with | Some s_ => true | _ => false end then
- (match (_s753_ _s756_) with
+ let _s760_ := arg_ in
+ (if match (_s757_ _s760_) with | Some s_ => true | _ => false end then
+ (match (_s757_ _s760_) with
| Some s_ =>
returnm (Some
(RISCV_LUI, build_ex
@@ -13400,8 +13646,8 @@ Definition utype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((uop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((uop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s757_ _s756_) with | Some s_ => true | _ => false end then
- (match (_s757_ _s756_) with
+ else if match (_s761_ _s760_) with | Some s_ => true | _ => false end then
+ (match (_s761_ _s760_) with
| Some s_ =>
returnm (Some
(RISCV_AUIPC, build_ex
@@ -13495,47 +13741,47 @@ Definition btype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "bgeu" then true
else false.
+Definition _s785_ (_s786_ : string) : option string :=
+ let _s787_ := _s786_ in
+ if string_startswith _s787_ "bgeu" then
+ match (string_drop _s787_ (projT1 (string_length "bgeu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s781_ (_s782_ : string) : option string :=
let _s783_ := _s782_ in
- if string_startswith _s783_ "bgeu" then
- match (string_drop _s783_ (projT1 (string_length "bgeu"))) with | s_ => Some s_ end
+ if string_startswith _s783_ "bltu" then
+ match (string_drop _s783_ (projT1 (string_length "bltu"))) with | s_ => Some s_ end
else None.
Definition _s777_ (_s778_ : string) : option string :=
let _s779_ := _s778_ in
- if string_startswith _s779_ "bltu" then
- match (string_drop _s779_ (projT1 (string_length "bltu"))) with | s_ => Some s_ end
+ if string_startswith _s779_ "bge" then
+ match (string_drop _s779_ (projT1 (string_length "bge"))) with | s_ => Some s_ end
else None.
Definition _s773_ (_s774_ : string) : option string :=
let _s775_ := _s774_ in
- if string_startswith _s775_ "bge" then
- match (string_drop _s775_ (projT1 (string_length "bge"))) with | s_ => Some s_ end
+ if string_startswith _s775_ "blt" then
+ match (string_drop _s775_ (projT1 (string_length "blt"))) with | s_ => Some s_ end
else None.
Definition _s769_ (_s770_ : string) : option string :=
let _s771_ := _s770_ in
- if string_startswith _s771_ "blt" then
- match (string_drop _s771_ (projT1 (string_length "blt"))) with | s_ => Some s_ end
+ if string_startswith _s771_ "bne" then
+ match (string_drop _s771_ (projT1 (string_length "bne"))) with | s_ => Some s_ end
else None.
Definition _s765_ (_s766_ : string) : option string :=
let _s767_ := _s766_ in
- if string_startswith _s767_ "bne" then
- match (string_drop _s767_ (projT1 (string_length "bne"))) with | s_ => Some s_ end
- else None.
-
-Definition _s761_ (_s762_ : string) : option string :=
- let _s763_ := _s762_ in
- if string_startswith _s763_ "beq" then
- match (string_drop _s763_ (projT1 (string_length "beq"))) with | s_ => Some s_ end
+ if string_startswith _s767_ "beq" then
+ match (string_drop _s767_ (projT1 (string_length "beq"))) with | s_ => Some s_ end
else None.
Definition btype_mnemonic_matches_prefix (arg_ : string)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s764_ := arg_ in
- (if match (_s761_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s761_ _s764_) with
+ let _s768_ := arg_ in
+ (if match (_s765_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s765_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BEQ, build_ex
@@ -13544,8 +13790,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s765_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s765_ _s764_) with
+ else if match (_s769_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s769_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BNE, build_ex
@@ -13554,8 +13800,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s769_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s769_ _s764_) with
+ else if match (_s773_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s773_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BLT, build_ex
@@ -13564,8 +13810,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s773_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s773_ _s764_) with
+ else if match (_s777_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s777_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BGE, build_ex
@@ -13574,8 +13820,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s777_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s777_ _s764_) with
+ else if match (_s781_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s781_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BLTU, build_ex
@@ -13584,8 +13830,8 @@ Definition btype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s781_ _s764_) with | Some s_ => true | _ => false end then
- (match (_s781_ _s764_) with
+ else if match (_s785_ _s768_) with | Some s_ => true | _ => false end then
+ (match (_s785_ _s768_) with
| Some s_ =>
returnm (Some
(RISCV_BGEU, build_ex
@@ -13679,47 +13925,47 @@ Definition itype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "andi" then true
else false.
+Definition _s809_ (_s810_ : string) : option string :=
+ let _s811_ := _s810_ in
+ if string_startswith _s811_ "andi" then
+ match (string_drop _s811_ (projT1 (string_length "andi"))) with | s_ => Some s_ end
+ else None.
+
Definition _s805_ (_s806_ : string) : option string :=
let _s807_ := _s806_ in
- if string_startswith _s807_ "andi" then
- match (string_drop _s807_ (projT1 (string_length "andi"))) with | s_ => Some s_ end
+ if string_startswith _s807_ "ori" then
+ match (string_drop _s807_ (projT1 (string_length "ori"))) with | s_ => Some s_ end
else None.
Definition _s801_ (_s802_ : string) : option string :=
let _s803_ := _s802_ in
- if string_startswith _s803_ "ori" then
- match (string_drop _s803_ (projT1 (string_length "ori"))) with | s_ => Some s_ end
+ if string_startswith _s803_ "xori" then
+ match (string_drop _s803_ (projT1 (string_length "xori"))) with | s_ => Some s_ end
else None.
Definition _s797_ (_s798_ : string) : option string :=
let _s799_ := _s798_ in
- if string_startswith _s799_ "xori" then
- match (string_drop _s799_ (projT1 (string_length "xori"))) with | s_ => Some s_ end
+ if string_startswith _s799_ "sltiu" then
+ match (string_drop _s799_ (projT1 (string_length "sltiu"))) with | s_ => Some s_ end
else None.
Definition _s793_ (_s794_ : string) : option string :=
let _s795_ := _s794_ in
- if string_startswith _s795_ "sltiu" then
- match (string_drop _s795_ (projT1 (string_length "sltiu"))) with | s_ => Some s_ end
+ if string_startswith _s795_ "slti" then
+ match (string_drop _s795_ (projT1 (string_length "slti"))) with | s_ => Some s_ end
else None.
Definition _s789_ (_s790_ : string) : option string :=
let _s791_ := _s790_ in
- if string_startswith _s791_ "slti" then
- match (string_drop _s791_ (projT1 (string_length "slti"))) with | s_ => Some s_ end
- else None.
-
-Definition _s785_ (_s786_ : string) : option string :=
- let _s787_ := _s786_ in
- if string_startswith _s787_ "addi" then
- match (string_drop _s787_ (projT1 (string_length "addi"))) with | s_ => Some s_ end
+ if string_startswith _s791_ "addi" then
+ match (string_drop _s791_ (projT1 (string_length "addi"))) with | s_ => Some s_ end
else None.
Definition itype_mnemonic_matches_prefix (arg_ : string)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s788_ := arg_ in
- (if match (_s785_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s785_ _s788_) with
+ let _s792_ := arg_ in
+ (if match (_s789_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s789_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_ADDI, build_ex
@@ -13728,8 +13974,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s789_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s789_ _s788_) with
+ else if match (_s793_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s793_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_SLTI, build_ex
@@ -13738,8 +13984,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s793_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s793_ _s788_) with
+ else if match (_s797_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s797_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_SLTIU, build_ex
@@ -13748,8 +13994,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s797_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s797_ _s788_) with
+ else if match (_s801_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s801_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_XORI, build_ex
@@ -13758,8 +14004,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s801_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s801_ _s788_) with
+ else if match (_s805_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s805_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_ORI, build_ex
@@ -13768,8 +14014,8 @@ Definition itype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((iop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s805_ _s788_) with | Some s_ => true | _ => false end then
- (match (_s805_ _s788_) with
+ else if match (_s809_ _s792_) with | Some s_ => true | _ => false end then
+ (match (_s809_ _s792_) with
| Some s_ =>
returnm (Some
(RISCV_ANDI, build_ex
@@ -13827,29 +14073,29 @@ Definition shiftiop_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "srai" then true
else false.
+Definition _s821_ (_s822_ : string) : option string :=
+ let _s823_ := _s822_ in
+ if string_startswith _s823_ "srai" then
+ match (string_drop _s823_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ else None.
+
Definition _s817_ (_s818_ : string) : option string :=
let _s819_ := _s818_ in
- if string_startswith _s819_ "srai" then
- match (string_drop _s819_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ if string_startswith _s819_ "srli" then
+ match (string_drop _s819_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
else None.
Definition _s813_ (_s814_ : string) : option string :=
let _s815_ := _s814_ in
- if string_startswith _s815_ "srli" then
- match (string_drop _s815_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
- else None.
-
-Definition _s809_ (_s810_ : string) : option string :=
- let _s811_ := _s810_ in
- if string_startswith _s811_ "slli" then
- match (string_drop _s811_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
+ if string_startswith _s815_ "slli" then
+ match (string_drop _s815_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
else None.
Definition shiftiop_mnemonic_matches_prefix (arg_ : string)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s812_ := arg_ in
- (if match (_s809_ _s812_) with | Some s_ => true | _ => false end then
- (match (_s809_ _s812_) with
+ let _s816_ := arg_ in
+ (if match (_s813_ _s816_) with | Some s_ => true | _ => false end then
+ (match (_s813_ _s816_) with
| Some s_ =>
returnm (Some
(RISCV_SLLI, build_ex
@@ -13858,8 +14104,8 @@ Definition shiftiop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s813_ _s812_) with | Some s_ => true | _ => false end then
- (match (_s813_ _s812_) with
+ else if match (_s817_ _s816_) with | Some s_ => true | _ => false end then
+ (match (_s817_ _s816_) with
| Some s_ =>
returnm (Some
(RISCV_SRLI, build_ex
@@ -13868,8 +14114,8 @@ Definition shiftiop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s817_ _s812_) with | Some s_ => true | _ => false end then
- (match (_s817_ _s812_) with
+ else if match (_s821_ _s816_) with | Some s_ => true | _ => false end then
+ (match (_s821_ _s816_) with
| Some s_ =>
returnm (Some
(RISCV_SRAI, build_ex
@@ -13938,71 +14184,71 @@ Definition rtype_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "sra" then true
else false.
+Definition _s861_ (_s862_ : string) : option string :=
+ let _s863_ := _s862_ in
+ if string_startswith _s863_ "sra" then
+ match (string_drop _s863_ (projT1 (string_length "sra"))) with | s_ => Some s_ end
+ else None.
+
Definition _s857_ (_s858_ : string) : option string :=
let _s859_ := _s858_ in
- if string_startswith _s859_ "sra" then
- match (string_drop _s859_ (projT1 (string_length "sra"))) with | s_ => Some s_ end
+ if string_startswith _s859_ "sub" then
+ match (string_drop _s859_ (projT1 (string_length "sub"))) with | s_ => Some s_ end
else None.
Definition _s853_ (_s854_ : string) : option string :=
let _s855_ := _s854_ in
- if string_startswith _s855_ "sub" then
- match (string_drop _s855_ (projT1 (string_length "sub"))) with | s_ => Some s_ end
+ if string_startswith _s855_ "srl" then
+ match (string_drop _s855_ (projT1 (string_length "srl"))) with | s_ => Some s_ end
else None.
Definition _s849_ (_s850_ : string) : option string :=
let _s851_ := _s850_ in
- if string_startswith _s851_ "srl" then
- match (string_drop _s851_ (projT1 (string_length "srl"))) with | s_ => Some s_ end
+ if string_startswith _s851_ "sll" then
+ match (string_drop _s851_ (projT1 (string_length "sll"))) with | s_ => Some s_ end
else None.
Definition _s845_ (_s846_ : string) : option string :=
let _s847_ := _s846_ in
- if string_startswith _s847_ "sll" then
- match (string_drop _s847_ (projT1 (string_length "sll"))) with | s_ => Some s_ end
+ if string_startswith _s847_ "xor" then
+ match (string_drop _s847_ (projT1 (string_length "xor"))) with | s_ => Some s_ end
else None.
Definition _s841_ (_s842_ : string) : option string :=
let _s843_ := _s842_ in
- if string_startswith _s843_ "xor" then
- match (string_drop _s843_ (projT1 (string_length "xor"))) with | s_ => Some s_ end
+ if string_startswith _s843_ "or" then
+ match (string_drop _s843_ (projT1 (string_length "or"))) with | s_ => Some s_ end
else None.
Definition _s837_ (_s838_ : string) : option string :=
let _s839_ := _s838_ in
- if string_startswith _s839_ "or" then
- match (string_drop _s839_ (projT1 (string_length "or"))) with | s_ => Some s_ end
+ if string_startswith _s839_ "and" then
+ match (string_drop _s839_ (projT1 (string_length "and"))) with | s_ => Some s_ end
else None.
Definition _s833_ (_s834_ : string) : option string :=
let _s835_ := _s834_ in
- if string_startswith _s835_ "and" then
- match (string_drop _s835_ (projT1 (string_length "and"))) with | s_ => Some s_ end
+ if string_startswith _s835_ "sltu" then
+ match (string_drop _s835_ (projT1 (string_length "sltu"))) with | s_ => Some s_ end
else None.
Definition _s829_ (_s830_ : string) : option string :=
let _s831_ := _s830_ in
- if string_startswith _s831_ "sltu" then
- match (string_drop _s831_ (projT1 (string_length "sltu"))) with | s_ => Some s_ end
+ if string_startswith _s831_ "slt" then
+ match (string_drop _s831_ (projT1 (string_length "slt"))) with | s_ => Some s_ end
else None.
Definition _s825_ (_s826_ : string) : option string :=
let _s827_ := _s826_ in
- if string_startswith _s827_ "slt" then
- match (string_drop _s827_ (projT1 (string_length "slt"))) with | s_ => Some s_ end
- else None.
-
-Definition _s821_ (_s822_ : string) : option string :=
- let _s823_ := _s822_ in
- if string_startswith _s823_ "add" then
- match (string_drop _s823_ (projT1 (string_length "add"))) with | s_ => Some s_ end
+ if string_startswith _s827_ "add" then
+ match (string_drop _s827_ (projT1 (string_length "add"))) with | s_ => Some s_ end
else None.
Definition rtype_mnemonic_matches_prefix (arg_ : string)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s824_ := arg_ in
- (if match (_s821_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s821_ _s824_) with
+ let _s828_ := arg_ in
+ (if match (_s825_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s825_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_ADD, build_ex
@@ -14011,8 +14257,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s825_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s825_ _s824_) with
+ else if match (_s829_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s829_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SLT, build_ex
@@ -14021,8 +14267,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s829_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s829_ _s824_) with
+ else if match (_s833_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s833_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SLTU, build_ex
@@ -14031,8 +14277,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s833_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s833_ _s824_) with
+ else if match (_s837_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s837_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_AND, build_ex
@@ -14041,8 +14287,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s837_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s837_ _s824_) with
+ else if match (_s841_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s841_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_OR, build_ex
@@ -14051,8 +14297,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s841_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s841_ _s824_) with
+ else if match (_s845_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s845_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_XOR, build_ex
@@ -14061,8 +14307,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s845_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s845_ _s824_) with
+ else if match (_s849_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s849_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SLL, build_ex
@@ -14071,8 +14317,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s849_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s849_ _s824_) with
+ else if match (_s853_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s853_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SRL, build_ex
@@ -14081,8 +14327,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s853_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s853_ _s824_) with
+ else if match (_s857_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s857_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SUB, build_ex
@@ -14091,8 +14337,8 @@ Definition rtype_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s857_ _s824_) with | Some s_ => true | _ => false end then
- (match (_s857_ _s824_) with
+ else if match (_s861_ _s828_) with | Some s_ => true | _ => false end then
+ (match (_s861_ _s828_) with
| Some s_ =>
returnm (Some
(RISCV_SRA, build_ex
@@ -14154,23 +14400,23 @@ Definition maybe_aq_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s865_ (_s866_ : string) : option string :=
- let _s867_ := _s866_ in
- if string_startswith _s867_ "" then
- match (string_drop _s867_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s869_ (_s870_ : string) : option string :=
+ let _s871_ := _s870_ in
+ if string_startswith _s871_ "" then
+ match (string_drop _s871_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s861_ (_s862_ : string) : option string :=
- let _s863_ := _s862_ in
- if string_startswith _s863_ ".aq" then
- match (string_drop _s863_ (projT1 (string_length ".aq"))) with | s_ => Some s_ end
+Definition _s865_ (_s866_ : string) : option string :=
+ let _s867_ := _s866_ in
+ if string_startswith _s867_ ".aq" then
+ match (string_drop _s867_ (projT1 (string_length ".aq"))) with | s_ => Some s_ end
else None.
Definition maybe_aq_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s864_ := arg_ in
- (if match (_s861_ _s864_) with | Some s_ => true | _ => false end then
- (match (_s861_ _s864_) with
+ let _s868_ := arg_ in
+ (if match (_s865_ _s868_) with | Some s_ => true | _ => false end then
+ (match (_s865_ _s868_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -14179,8 +14425,8 @@ Definition maybe_aq_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s865_ _s864_) with | Some s_ => true | _ => false end then
- (match (_s865_ _s864_) with
+ else if match (_s869_ _s868_) with | Some s_ => true | _ => false end then
+ (match (_s869_ _s868_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -14211,23 +14457,23 @@ Definition maybe_rl_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s873_ (_s874_ : string) : option string :=
- let _s875_ := _s874_ in
- if string_startswith _s875_ "" then
- match (string_drop _s875_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s877_ (_s878_ : string) : option string :=
+ let _s879_ := _s878_ in
+ if string_startswith _s879_ "" then
+ match (string_drop _s879_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s869_ (_s870_ : string) : option string :=
- let _s871_ := _s870_ in
- if string_startswith _s871_ ".rl" then
- match (string_drop _s871_ (projT1 (string_length ".rl"))) with | s_ => Some s_ end
+Definition _s873_ (_s874_ : string) : option string :=
+ let _s875_ := _s874_ in
+ if string_startswith _s875_ ".rl" then
+ match (string_drop _s875_ (projT1 (string_length ".rl"))) with | s_ => Some s_ end
else None.
Definition maybe_rl_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s872_ := arg_ in
- (if match (_s869_ _s872_) with | Some s_ => true | _ => false end then
- (match (_s869_ _s872_) with
+ let _s876_ := arg_ in
+ (if match (_s873_ _s876_) with | Some s_ => true | _ => false end then
+ (match (_s873_ _s876_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -14236,8 +14482,8 @@ Definition maybe_rl_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s873_ _s872_) with | Some s_ => true | _ => false end then
- (match (_s873_ _s872_) with
+ else if match (_s877_ _s876_) with | Some s_ => true | _ => false end then
+ (match (_s877_ _s876_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -14268,23 +14514,23 @@ Definition maybe_u_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s881_ (_s882_ : string) : option string :=
- let _s883_ := _s882_ in
- if string_startswith _s883_ "" then
- match (string_drop _s883_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s885_ (_s886_ : string) : option string :=
+ let _s887_ := _s886_ in
+ if string_startswith _s887_ "" then
+ match (string_drop _s887_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s877_ (_s878_ : string) : option string :=
- let _s879_ := _s878_ in
- if string_startswith _s879_ "u" then
- match (string_drop _s879_ (projT1 (string_length "u"))) with | s_ => Some s_ end
+Definition _s881_ (_s882_ : string) : option string :=
+ let _s883_ := _s882_ in
+ if string_startswith _s883_ "u" then
+ match (string_drop _s883_ (projT1 (string_length "u"))) with | s_ => Some s_ end
else None.
Definition maybe_u_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s880_ := arg_ in
- (if match (_s877_ _s880_) with | Some s_ => true | _ => false end then
- (match (_s877_ _s880_) with
+ let _s884_ := arg_ in
+ (if match (_s881_ _s884_) with | Some s_ => true | _ => false end then
+ (match (_s881_ _s884_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -14293,8 +14539,8 @@ Definition maybe_u_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s881_ _s880_) with | Some s_ => true | _ => false end then
- (match (_s881_ _s880_) with
+ else if match (_s885_ _s884_) with | Some s_ => true | _ => false end then
+ (match (_s885_ _s884_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -14327,29 +14573,29 @@ Definition shiftw_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "srai" then true
else false.
+Definition _s897_ (_s898_ : string) : option string :=
+ let _s899_ := _s898_ in
+ if string_startswith _s899_ "srai" then
+ match (string_drop _s899_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ else None.
+
Definition _s893_ (_s894_ : string) : option string :=
let _s895_ := _s894_ in
- if string_startswith _s895_ "srai" then
- match (string_drop _s895_ (projT1 (string_length "srai"))) with | s_ => Some s_ end
+ if string_startswith _s895_ "srli" then
+ match (string_drop _s895_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
else None.
Definition _s889_ (_s890_ : string) : option string :=
let _s891_ := _s890_ in
- if string_startswith _s891_ "srli" then
- match (string_drop _s891_ (projT1 (string_length "srli"))) with | s_ => Some s_ end
- else None.
-
-Definition _s885_ (_s886_ : string) : option string :=
- let _s887_ := _s886_ in
- if string_startswith _s887_ "slli" then
- match (string_drop _s887_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
+ if string_startswith _s891_ "slli" then
+ match (string_drop _s891_ (projT1 (string_length "slli"))) with | s_ => Some s_ end
else None.
Definition shiftw_mnemonic_matches_prefix (arg_ : string)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s888_ := arg_ in
- (if match (_s885_ _s888_) with | Some s_ => true | _ => false end then
- (match (_s885_ _s888_) with
+ let _s892_ := arg_ in
+ (if match (_s889_ _s892_) with | Some s_ => true | _ => false end then
+ (match (_s889_ _s892_) with
| Some s_ =>
returnm (Some
(RISCV_SLLI, build_ex
@@ -14358,8 +14604,8 @@ Definition shiftw_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s889_ _s888_) with | Some s_ => true | _ => false end then
- (match (_s889_ _s888_) with
+ else if match (_s893_ _s892_) with | Some s_ => true | _ => false end then
+ (match (_s893_ _s892_) with
| Some s_ =>
returnm (Some
(RISCV_SRLI, build_ex
@@ -14368,8 +14614,8 @@ Definition shiftw_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s893_ _s888_) with | Some s_ => true | _ => false end then
- (match (_s893_ _s888_) with
+ else if match (_s897_ _s892_) with | Some s_ => true | _ => false end then
+ (match (_s897_ _s892_) with
| Some s_ =>
returnm (Some
(RISCV_SRAI, build_ex
@@ -14418,41 +14664,41 @@ Definition rtypew_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "sraw" then true
else false.
+Definition _s917_ (_s918_ : string) : option string :=
+ let _s919_ := _s918_ in
+ if string_startswith _s919_ "sraw" then
+ match (string_drop _s919_ (projT1 (string_length "sraw"))) with | s_ => Some s_ end
+ else None.
+
Definition _s913_ (_s914_ : string) : option string :=
let _s915_ := _s914_ in
- if string_startswith _s915_ "sraw" then
- match (string_drop _s915_ (projT1 (string_length "sraw"))) with | s_ => Some s_ end
+ if string_startswith _s915_ "srlw" then
+ match (string_drop _s915_ (projT1 (string_length "srlw"))) with | s_ => Some s_ end
else None.
Definition _s909_ (_s910_ : string) : option string :=
let _s911_ := _s910_ in
- if string_startswith _s911_ "srlw" then
- match (string_drop _s911_ (projT1 (string_length "srlw"))) with | s_ => Some s_ end
+ if string_startswith _s911_ "sllw" then
+ match (string_drop _s911_ (projT1 (string_length "sllw"))) with | s_ => Some s_ end
else None.
Definition _s905_ (_s906_ : string) : option string :=
let _s907_ := _s906_ in
- if string_startswith _s907_ "sllw" then
- match (string_drop _s907_ (projT1 (string_length "sllw"))) with | s_ => Some s_ end
+ if string_startswith _s907_ "subw" then
+ match (string_drop _s907_ (projT1 (string_length "subw"))) with | s_ => Some s_ end
else None.
Definition _s901_ (_s902_ : string) : option string :=
let _s903_ := _s902_ in
- if string_startswith _s903_ "subw" then
- match (string_drop _s903_ (projT1 (string_length "subw"))) with | s_ => Some s_ end
- else None.
-
-Definition _s897_ (_s898_ : string) : option string :=
- let _s899_ := _s898_ in
- if string_startswith _s899_ "addw" then
- match (string_drop _s899_ (projT1 (string_length "addw"))) with | s_ => Some s_ end
+ if string_startswith _s903_ "addw" then
+ match (string_drop _s903_ (projT1 (string_length "addw"))) with | s_ => Some s_ end
else None.
Definition rtypew_mnemonic_matches_prefix (arg_ : string)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s900_ := arg_ in
- (if match (_s897_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s897_ _s900_) with
+ let _s904_ := arg_ in
+ (if match (_s901_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s901_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_ADDW, build_ex
@@ -14461,8 +14707,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s901_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s901_ _s900_) with
+ else if match (_s905_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s905_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SUBW, build_ex
@@ -14471,8 +14717,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s905_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s905_ _s900_) with
+ else if match (_s909_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s909_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SLLW, build_ex
@@ -14481,8 +14727,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s909_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s909_ _s900_) with
+ else if match (_s913_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s913_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SRLW, build_ex
@@ -14491,8 +14737,8 @@ Definition rtypew_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ropw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s913_ _s900_) with | Some s_ => true | _ => false end then
- (match (_s913_ _s900_) with
+ else if match (_s917_ _s904_) with | Some s_ => true | _ => false end then
+ (match (_s917_ _s904_) with
| Some s_ =>
returnm (Some
(RISCV_SRAW, build_ex
@@ -14525,29 +14771,29 @@ Definition shiftiwop_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "sraiw" then true
else false.
+Definition _s929_ (_s930_ : string) : option string :=
+ let _s931_ := _s930_ in
+ if string_startswith _s931_ "sraiw" then
+ match (string_drop _s931_ (projT1 (string_length "sraiw"))) with | s_ => Some s_ end
+ else None.
+
Definition _s925_ (_s926_ : string) : option string :=
let _s927_ := _s926_ in
- if string_startswith _s927_ "sraiw" then
- match (string_drop _s927_ (projT1 (string_length "sraiw"))) with | s_ => Some s_ end
+ if string_startswith _s927_ "srliw" then
+ match (string_drop _s927_ (projT1 (string_length "srliw"))) with | s_ => Some s_ end
else None.
Definition _s921_ (_s922_ : string) : option string :=
let _s923_ := _s922_ in
- if string_startswith _s923_ "srliw" then
- match (string_drop _s923_ (projT1 (string_length "srliw"))) with | s_ => Some s_ end
- else None.
-
-Definition _s917_ (_s918_ : string) : option string :=
- let _s919_ := _s918_ in
- if string_startswith _s919_ "slliw" then
- match (string_drop _s919_ (projT1 (string_length "slliw"))) with | s_ => Some s_ end
+ if string_startswith _s923_ "slliw" then
+ match (string_drop _s923_ (projT1 (string_length "slliw"))) with | s_ => Some s_ end
else None.
Definition shiftiwop_mnemonic_matches_prefix (arg_ : string)
: M (option ((sopw * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s920_ := arg_ in
- (if match (_s917_ _s920_) with | Some s_ => true | _ => false end then
- (match (_s917_ _s920_) with
+ let _s924_ := arg_ in
+ (if match (_s921_ _s924_) with | Some s_ => true | _ => false end then
+ (match (_s921_ _s924_) with
| Some s_ =>
returnm (Some
(RISCV_SLLIW, build_ex
@@ -14556,8 +14802,8 @@ Definition shiftiwop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s921_ _s920_) with | Some s_ => true | _ => false end then
- (match (_s921_ _s920_) with
+ else if match (_s925_ _s924_) with | Some s_ => true | _ => false end then
+ (match (_s925_ _s924_) with
| Some s_ =>
returnm (Some
(RISCV_SRLIW, build_ex
@@ -14566,8 +14812,8 @@ Definition shiftiwop_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((sopw * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s925_ _s920_) with | Some s_ => true | _ => false end then
- (match (_s925_ _s920_) with
+ else if match (_s929_ _s924_) with | Some s_ => true | _ => false end then
+ (match (_s929_ _s924_) with
| Some s_ =>
returnm (Some
(RISCV_SRAIW, build_ex
@@ -14605,23 +14851,23 @@ Definition bit_maybe_r_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s933_ (_s934_ : string) : option string :=
- let _s935_ := _s934_ in
- if string_startswith _s935_ "" then
- match (string_drop _s935_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s937_ (_s938_ : string) : option string :=
+ let _s939_ := _s938_ in
+ if string_startswith _s939_ "" then
+ match (string_drop _s939_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s929_ (_s930_ : string) : option string :=
- let _s931_ := _s930_ in
- if string_startswith _s931_ "r" then
- match (string_drop _s931_ (projT1 (string_length "r"))) with | s_ => Some s_ end
+Definition _s933_ (_s934_ : string) : option string :=
+ let _s935_ := _s934_ in
+ if string_startswith _s935_ "r" then
+ match (string_drop _s935_ (projT1 (string_length "r"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_r_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s932_ := arg_ in
- (if match (_s929_ _s932_) with | Some s_ => true | _ => false end then
- (match (_s929_ _s932_) with
+ let _s936_ := arg_ in
+ (if match (_s933_ _s936_) with | Some s_ => true | _ => false end then
+ (match (_s933_ _s936_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14631,8 +14877,8 @@ Definition bit_maybe_r_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s933_ _s932_) with | Some s_ => true | _ => false end then
- (match (_s933_ _s932_) with
+ else if match (_s937_ _s936_) with | Some s_ => true | _ => false end then
+ (match (_s937_ _s936_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14671,23 +14917,23 @@ Definition bit_maybe_w_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s941_ (_s942_ : string) : option string :=
- let _s943_ := _s942_ in
- if string_startswith _s943_ "" then
- match (string_drop _s943_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s945_ (_s946_ : string) : option string :=
+ let _s947_ := _s946_ in
+ if string_startswith _s947_ "" then
+ match (string_drop _s947_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s937_ (_s938_ : string) : option string :=
- let _s939_ := _s938_ in
- if string_startswith _s939_ "w" then
- match (string_drop _s939_ (projT1 (string_length "w"))) with | s_ => Some s_ end
+Definition _s941_ (_s942_ : string) : option string :=
+ let _s943_ := _s942_ in
+ if string_startswith _s943_ "w" then
+ match (string_drop _s943_ (projT1 (string_length "w"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_w_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s940_ := arg_ in
- (if match (_s937_ _s940_) with | Some s_ => true | _ => false end then
- (match (_s937_ _s940_) with
+ let _s944_ := arg_ in
+ (if match (_s941_ _s944_) with | Some s_ => true | _ => false end then
+ (match (_s941_ _s944_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14697,8 +14943,8 @@ Definition bit_maybe_w_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s941_ _s940_) with | Some s_ => true | _ => false end then
- (match (_s941_ _s940_) with
+ else if match (_s945_ _s944_) with | Some s_ => true | _ => false end then
+ (match (_s945_ _s944_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14737,23 +14983,23 @@ Definition bit_maybe_i_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s949_ (_s950_ : string) : option string :=
- let _s951_ := _s950_ in
- if string_startswith _s951_ "" then
- match (string_drop _s951_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s953_ (_s954_ : string) : option string :=
+ let _s955_ := _s954_ in
+ if string_startswith _s955_ "" then
+ match (string_drop _s955_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s945_ (_s946_ : string) : option string :=
- let _s947_ := _s946_ in
- if string_startswith _s947_ "i" then
- match (string_drop _s947_ (projT1 (string_length "i"))) with | s_ => Some s_ end
+Definition _s949_ (_s950_ : string) : option string :=
+ let _s951_ := _s950_ in
+ if string_startswith _s951_ "i" then
+ match (string_drop _s951_ (projT1 (string_length "i"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_i_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s948_ := arg_ in
- (if match (_s945_ _s948_) with | Some s_ => true | _ => false end then
- (match (_s945_ _s948_) with
+ let _s952_ := arg_ in
+ (if match (_s949_ _s952_) with | Some s_ => true | _ => false end then
+ (match (_s949_ _s952_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14763,8 +15009,8 @@ Definition bit_maybe_i_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s949_ _s948_) with | Some s_ => true | _ => false end then
- (match (_s949_ _s948_) with
+ else if match (_s953_ _s952_) with | Some s_ => true | _ => false end then
+ (match (_s953_ _s952_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14803,23 +15049,23 @@ Definition bit_maybe_o_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s957_ (_s958_ : string) : option string :=
- let _s959_ := _s958_ in
- if string_startswith _s959_ "" then
- match (string_drop _s959_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s961_ (_s962_ : string) : option string :=
+ let _s963_ := _s962_ in
+ if string_startswith _s963_ "" then
+ match (string_drop _s963_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s953_ (_s954_ : string) : option string :=
- let _s955_ := _s954_ in
- if string_startswith _s955_ "o" then
- match (string_drop _s955_ (projT1 (string_length "o"))) with | s_ => Some s_ end
+Definition _s957_ (_s958_ : string) : option string :=
+ let _s959_ := _s958_ in
+ if string_startswith _s959_ "o" then
+ match (string_drop _s959_ (projT1 (string_length "o"))) with | s_ => Some s_ end
else None.
Definition bit_maybe_o_matches_prefix (arg_ : string)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s956_ := arg_ in
- (if match (_s953_ _s956_) with | Some s_ => true | _ => false end then
- (match (_s953_ _s956_) with
+ let _s960_ := arg_ in
+ (if match (_s957_ _s960_) with | Some s_ => true | _ => false end then
+ (match (_s957_ _s960_) with
| Some s_ =>
returnm (Some
('b"1"
@@ -14829,8 +15075,8 @@ Definition bit_maybe_o_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((mword 1 * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s957_ _s956_) with | Some s_ => true | _ => false end then
- (match (_s957_ _s956_) with
+ else if match (_s961_ _s960_) with | Some s_ => true | _ => false end then
+ (match (_s961_ _s960_) with
| Some s_ =>
returnm (Some
('b"0"
@@ -14859,32 +15105,32 @@ Definition fence_bits_forwards (arg_ : mword 4) : M (string) :=
end)
: M (string).
-Definition _s961_ (_s962_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
- (match _s962_ with
- | _s963_ =>
- (bit_maybe_i_matches_prefix _s963_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
+Definition _s965_ (_s966_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
+ (match _s966_ with
+ | _s967_ =>
+ (bit_maybe_i_matches_prefix _s967_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (i, existT _ _s964_ _) =>
- (match (string_drop _s963_ _s964_) with
- | _s965_ =>
- (bit_maybe_o_matches_prefix _s965_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (i, existT _ _s968_ _) =>
+ (match (string_drop _s967_ _s968_) with
+ | _s969_ =>
+ (bit_maybe_o_matches_prefix _s969_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (o, existT _ _s966_ _) =>
- (match (string_drop _s965_ _s966_) with
- | _s967_ =>
- (bit_maybe_r_matches_prefix _s967_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (o, existT _ _s970_ _) =>
+ (match (string_drop _s969_ _s970_) with
+ | _s971_ =>
+ (bit_maybe_r_matches_prefix _s971_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (r, existT _ _s968_ _) =>
- (match (string_drop _s967_ _s968_) with
- | _s969_ =>
- (bit_maybe_w_matches_prefix _s969_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (r, existT _ _s972_ _) =>
+ (match (string_drop _s971_ _s972_) with
+ | _s973_ =>
+ (bit_maybe_w_matches_prefix _s973_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (w, existT _ _s970_ _) =>
- let p0_ := string_drop _s969_ _s970_ in
+ | Some (w, existT _ _s974_ _) =>
+ let p0_ := string_drop _s973_ _s974_ in
if generic_eq p0_ "" then Some (i, o, r, w)
else None
| _ => None
@@ -14908,10 +15154,10 @@ Definition _s961_ (_s962_ : string) : M (option ((mword 1 * mword 1 * mword 1 *
: M (option ((mword 1 * mword 1 * mword 1 * mword 1))).
Definition fence_bits_backwards (arg_ : string) : M (mword 4) :=
- let _s971_ := arg_ in
- (_s961_ _s971_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ let _s975_ := arg_ in
+ (_s965_ _s975_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(if match w__0 with | Some (i, o, r, w) => true | _ => false end then
- (_s961_ _s971_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ (_s965_ _s975_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(match w__1 with
| Some (i, o, r, w) =>
returnm (concat_vec (i : bits 1)
@@ -14925,32 +15171,32 @@ Definition fence_bits_backwards (arg_ : string) : M (mword 4) :=
Definition fence_bits_forwards_matches (arg_ : mword 4) : bool :=
match arg_ with | v__1 => true end.
-Definition _s972_ (_s973_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
- (match _s973_ with
- | _s974_ =>
- (bit_maybe_i_matches_prefix _s974_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
+Definition _s976_ (_s977_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1))) :=
+ (match _s977_ with
+ | _s978_ =>
+ (bit_maybe_i_matches_prefix _s978_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (i, existT _ _s975_ _) =>
- (match (string_drop _s974_ _s975_) with
- | _s976_ =>
- (bit_maybe_o_matches_prefix _s976_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (i, existT _ _s979_ _) =>
+ (match (string_drop _s978_ _s979_) with
+ | _s980_ =>
+ (bit_maybe_o_matches_prefix _s980_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (o, existT _ _s977_ _) =>
- (match (string_drop _s976_ _s977_) with
- | _s978_ =>
- (bit_maybe_r_matches_prefix _s978_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (o, existT _ _s981_ _) =>
+ (match (string_drop _s980_ _s981_) with
+ | _s982_ =>
+ (bit_maybe_r_matches_prefix _s982_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (r, existT _ _s979_ _) =>
- (match (string_drop _s978_ _s979_) with
- | _s980_ =>
- (bit_maybe_w_matches_prefix _s980_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (r, existT _ _s983_ _) =>
+ (match (string_drop _s982_ _s983_) with
+ | _s984_ =>
+ (bit_maybe_w_matches_prefix _s984_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (w, existT _ _s981_ _) =>
- let p0_ := string_drop _s980_ _s981_ in
+ | Some (w, existT _ _s985_ _) =>
+ let p0_ := string_drop _s984_ _s985_ in
if generic_eq p0_ "" then Some (i, o, r, w)
else None
| _ => None
@@ -14974,41 +15220,41 @@ Definition _s972_ (_s973_ : string) : M (option ((mword 1 * mword 1 * mword 1 *
: M (option ((mword 1 * mword 1 * mword 1 * mword 1))).
Definition fence_bits_backwards_matches (arg_ : string) : M (bool) :=
- let _s982_ := arg_ in
- (_s972_ _s982_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ let _s986_ := arg_ in
+ (_s976_ _s986_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(if match w__0 with | Some (i, o, r, w) => true | _ => false end then
- (_s972_ _s982_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
+ (_s976_ _s986_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1)) =>
(match w__1 with | Some (i, o, r, w) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else returnm false)
: M (bool).
-Definition _s983_ (_s984_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1 * string))) :=
- (match _s984_ with
- | _s985_ =>
- (bit_maybe_i_matches_prefix _s985_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
+Definition _s987_ (_s988_ : string) : M (option ((mword 1 * mword 1 * mword 1 * mword 1 * string))) :=
+ (match _s988_ with
+ | _s989_ =>
+ (bit_maybe_i_matches_prefix _s989_) >>= fun w__0 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (i, existT _ _s986_ _) =>
- (match (string_drop _s985_ _s986_) with
- | _s987_ =>
- (bit_maybe_o_matches_prefix _s987_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (i, existT _ _s990_ _) =>
+ (match (string_drop _s989_ _s990_) with
+ | _s991_ =>
+ (bit_maybe_o_matches_prefix _s991_) >>= fun w__1 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (o, existT _ _s988_ _) =>
- (match (string_drop _s987_ _s988_) with
- | _s989_ =>
- (bit_maybe_r_matches_prefix _s989_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (o, existT _ _s992_ _) =>
+ (match (string_drop _s991_ _s992_) with
+ | _s993_ =>
+ (bit_maybe_r_matches_prefix _s993_) >>= fun w__2 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (r, existT _ _s990_ _) =>
- (match (string_drop _s989_ _s990_) with
- | _s991_ =>
- (bit_maybe_w_matches_prefix _s991_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
+ | Some (r, existT _ _s994_ _) =>
+ (match (string_drop _s993_ _s994_) with
+ | _s995_ =>
+ (bit_maybe_w_matches_prefix _s995_) >>= fun w__3 : option ((mword 1 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (w, existT _ _s992_ _) =>
- match (string_drop _s991_ _s992_) with
+ | Some (w, existT _ _s996_ _) =>
+ match (string_drop _s995_ _s996_) with
| s_ => Some (i, o, r, w, s_)
end
| _ => None
@@ -15033,10 +15279,10 @@ Definition _s983_ (_s984_ : string) : M (option ((mword 1 * mword 1 * mword 1 *
Definition fence_bits_matches_prefix (arg_ : string)
: M (option ((mword 4 * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s993_ := arg_ in
- (_s983_ _s993_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
+ let _s997_ := arg_ in
+ (_s987_ _s997_) >>= fun w__0 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
(if match w__0 with | Some (i, o, r, w, s_) => true | _ => false end then
- (_s983_ _s993_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
+ (_s987_ _s997_) >>= fun w__1 : option ((mword 1 * mword 1 * mword 1 * mword 1 * string)) =>
(match w__1 with
| Some (i, o, r, w, s_) =>
returnm (Some
@@ -15061,6 +15307,9 @@ Definition aqrl_str (aq : bool) (rl : bool) : string :=
Definition lrsc_width_str (width : word_width) : string :=
match width with | BYTE => ".b" | HALF => ".h" | WORD => ".w" | DOUBLE => ".d" end.
+Definition amo_width_valid (size : word_width) : bool :=
+ match size with | WORD => true | DOUBLE => Z.geb 64 64 | _ => false end.
+
Definition process_loadres {n : Z}
(rd : mword 5) (addr : mword 64) (value : MemoryOpResult (mword (8 * n))) (is_unsigned : bool)
`{ArithFact ((0 <? n) && (n <=? 8))}
@@ -15179,65 +15428,65 @@ Definition amo_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "amomaxu" then true
else false.
+Definition _s1030_ (_s1031_ : string) : option string :=
+ let _s1032_ := _s1031_ in
+ if string_startswith _s1032_ "amomaxu" then
+ match (string_drop _s1032_ (projT1 (string_length "amomaxu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1026_ (_s1027_ : string) : option string :=
let _s1028_ := _s1027_ in
- if string_startswith _s1028_ "amomaxu" then
- match (string_drop _s1028_ (projT1 (string_length "amomaxu"))) with | s_ => Some s_ end
+ if string_startswith _s1028_ "amominu" then
+ match (string_drop _s1028_ (projT1 (string_length "amominu"))) with | s_ => Some s_ end
else None.
Definition _s1022_ (_s1023_ : string) : option string :=
let _s1024_ := _s1023_ in
- if string_startswith _s1024_ "amominu" then
- match (string_drop _s1024_ (projT1 (string_length "amominu"))) with | s_ => Some s_ end
+ if string_startswith _s1024_ "amomax" then
+ match (string_drop _s1024_ (projT1 (string_length "amomax"))) with | s_ => Some s_ end
else None.
Definition _s1018_ (_s1019_ : string) : option string :=
let _s1020_ := _s1019_ in
- if string_startswith _s1020_ "amomax" then
- match (string_drop _s1020_ (projT1 (string_length "amomax"))) with | s_ => Some s_ end
+ if string_startswith _s1020_ "amomin" then
+ match (string_drop _s1020_ (projT1 (string_length "amomin"))) with | s_ => Some s_ end
else None.
Definition _s1014_ (_s1015_ : string) : option string :=
let _s1016_ := _s1015_ in
- if string_startswith _s1016_ "amomin" then
- match (string_drop _s1016_ (projT1 (string_length "amomin"))) with | s_ => Some s_ end
+ if string_startswith _s1016_ "amoor" then
+ match (string_drop _s1016_ (projT1 (string_length "amoor"))) with | s_ => Some s_ end
else None.
Definition _s1010_ (_s1011_ : string) : option string :=
let _s1012_ := _s1011_ in
- if string_startswith _s1012_ "amoor" then
- match (string_drop _s1012_ (projT1 (string_length "amoor"))) with | s_ => Some s_ end
+ if string_startswith _s1012_ "amoand" then
+ match (string_drop _s1012_ (projT1 (string_length "amoand"))) with | s_ => Some s_ end
else None.
Definition _s1006_ (_s1007_ : string) : option string :=
let _s1008_ := _s1007_ in
- if string_startswith _s1008_ "amoand" then
- match (string_drop _s1008_ (projT1 (string_length "amoand"))) with | s_ => Some s_ end
+ if string_startswith _s1008_ "amoxor" then
+ match (string_drop _s1008_ (projT1 (string_length "amoxor"))) with | s_ => Some s_ end
else None.
Definition _s1002_ (_s1003_ : string) : option string :=
let _s1004_ := _s1003_ in
- if string_startswith _s1004_ "amoxor" then
- match (string_drop _s1004_ (projT1 (string_length "amoxor"))) with | s_ => Some s_ end
+ if string_startswith _s1004_ "amoadd" then
+ match (string_drop _s1004_ (projT1 (string_length "amoadd"))) with | s_ => Some s_ end
else None.
Definition _s998_ (_s999_ : string) : option string :=
let _s1000_ := _s999_ in
- if string_startswith _s1000_ "amoadd" then
- match (string_drop _s1000_ (projT1 (string_length "amoadd"))) with | s_ => Some s_ end
- else None.
-
-Definition _s994_ (_s995_ : string) : option string :=
- let _s996_ := _s995_ in
- if string_startswith _s996_ "amoswap" then
- match (string_drop _s996_ (projT1 (string_length "amoswap"))) with | s_ => Some s_ end
+ if string_startswith _s1000_ "amoswap" then
+ match (string_drop _s1000_ (projT1 (string_length "amoswap"))) with | s_ => Some s_ end
else None.
Definition amo_mnemonic_matches_prefix (arg_ : string)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s997_ := arg_ in
- (if match (_s994_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s994_ _s997_) with
+ let _s1001_ := arg_ in
+ (if match (_s998_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s998_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOSWAP, build_ex
@@ -15246,8 +15495,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s998_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s998_ _s997_) with
+ else if match (_s1002_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1002_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOADD, build_ex
@@ -15256,8 +15505,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1002_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1002_ _s997_) with
+ else if match (_s1006_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1006_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOXOR, build_ex
@@ -15266,8 +15515,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1006_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1006_ _s997_) with
+ else if match (_s1010_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1010_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOAND, build_ex
@@ -15276,8 +15525,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1010_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1010_ _s997_) with
+ else if match (_s1014_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1014_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOOR, build_ex
@@ -15286,8 +15535,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1014_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1014_ _s997_) with
+ else if match (_s1018_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1018_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMIN, build_ex
@@ -15296,8 +15545,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1018_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1018_ _s997_) with
+ else if match (_s1022_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1022_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMAX, build_ex
@@ -15306,8 +15555,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1022_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1022_ _s997_) with
+ else if match (_s1026_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1026_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMINU, build_ex
@@ -15316,8 +15565,8 @@ Definition amo_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((amoop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1026_ _s997_) with | Some s_ => true | _ => false end then
- (match (_s1026_ _s997_) with
+ else if match (_s1030_ _s1001_) with | Some s_ => true | _ => false end then
+ (match (_s1030_ _s1001_) with
| Some s_ =>
returnm (Some
(AMOMAXU, build_ex
@@ -15401,35 +15650,35 @@ Definition mul_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "mulhu" then true
else false.
+Definition _s1046_ (_s1047_ : string) : option string :=
+ let _s1048_ := _s1047_ in
+ if string_startswith _s1048_ "mulhu" then
+ match (string_drop _s1048_ (projT1 (string_length "mulhu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1042_ (_s1043_ : string) : option string :=
let _s1044_ := _s1043_ in
- if string_startswith _s1044_ "mulhu" then
- match (string_drop _s1044_ (projT1 (string_length "mulhu"))) with | s_ => Some s_ end
+ if string_startswith _s1044_ "mulhsu" then
+ match (string_drop _s1044_ (projT1 (string_length "mulhsu"))) with | s_ => Some s_ end
else None.
Definition _s1038_ (_s1039_ : string) : option string :=
let _s1040_ := _s1039_ in
- if string_startswith _s1040_ "mulhsu" then
- match (string_drop _s1040_ (projT1 (string_length "mulhsu"))) with | s_ => Some s_ end
+ if string_startswith _s1040_ "mulh" then
+ match (string_drop _s1040_ (projT1 (string_length "mulh"))) with | s_ => Some s_ end
else None.
Definition _s1034_ (_s1035_ : string) : option string :=
let _s1036_ := _s1035_ in
- if string_startswith _s1036_ "mulh" then
- match (string_drop _s1036_ (projT1 (string_length "mulh"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1030_ (_s1031_ : string) : option string :=
- let _s1032_ := _s1031_ in
- if string_startswith _s1032_ "mul" then
- match (string_drop _s1032_ (projT1 (string_length "mul"))) with | s_ => Some s_ end
+ if string_startswith _s1036_ "mul" then
+ match (string_drop _s1036_ (projT1 (string_length "mul"))) with | s_ => Some s_ end
else None.
Definition mul_mnemonic_matches_prefix (arg_ : string)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1033_ := arg_ in
- (if match (_s1030_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1030_ _s1033_) with
+ let _s1037_ := arg_ in
+ (if match (_s1034_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1034_ _s1037_) with
| Some s_ =>
returnm (Some
((false, true, true), build_ex
@@ -15438,8 +15687,8 @@ Definition mul_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1034_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1034_ _s1033_) with
+ else if match (_s1038_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1038_ _s1037_) with
| Some s_ =>
returnm (Some
((true, true, true), build_ex
@@ -15448,8 +15697,8 @@ Definition mul_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1038_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1038_ _s1033_) with
+ else if match (_s1042_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1042_ _s1037_) with
| Some s_ =>
returnm (Some
((true, true, false), build_ex
@@ -15458,8 +15707,8 @@ Definition mul_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option (((bool * bool * bool) * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1042_ _s1033_) with | Some s_ => true | _ => false end then
- (match (_s1042_ _s1033_) with
+ else if match (_s1046_ _s1037_) with | Some s_ => true | _ => false end then
+ (match (_s1046_ _s1037_) with
| Some s_ =>
returnm (Some
((true, false, false), build_ex
@@ -15490,23 +15739,23 @@ Definition maybe_not_u_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s1050_ (_s1051_ : string) : option string :=
- let _s1052_ := _s1051_ in
- if string_startswith _s1052_ "" then
- match (string_drop _s1052_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s1054_ (_s1055_ : string) : option string :=
+ let _s1056_ := _s1055_ in
+ if string_startswith _s1056_ "" then
+ match (string_drop _s1056_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s1046_ (_s1047_ : string) : option string :=
- let _s1048_ := _s1047_ in
- if string_startswith _s1048_ "u" then
- match (string_drop _s1048_ (projT1 (string_length "u"))) with | s_ => Some s_ end
+Definition _s1050_ (_s1051_ : string) : option string :=
+ let _s1052_ := _s1051_ in
+ if string_startswith _s1052_ "u" then
+ match (string_drop _s1052_ (projT1 (string_length "u"))) with | s_ => Some s_ end
else None.
Definition maybe_not_u_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1049_ := arg_ in
- (if match (_s1046_ _s1049_) with | Some s_ => true | _ => false end then
- (match (_s1046_ _s1049_) with
+ let _s1053_ := arg_ in
+ (if match (_s1050_ _s1053_) with | Some s_ => true | _ => false end then
+ (match (_s1050_ _s1053_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -15515,8 +15764,8 @@ Definition maybe_not_u_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1050_ _s1049_) with | Some s_ => true | _ => false end then
- (match (_s1050_ _s1049_) with
+ else if match (_s1054_ _s1053_) with | Some s_ => true | _ => false end then
+ (match (_s1054_ _s1053_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -15555,7 +15804,7 @@ Definition encdec_csrop_backwards_matches (arg_ : mword 2) : bool :=
Definition readCSR (csr : mword 12) : M (mword 64) :=
(match (csr, 64) with
- | (b__0, g__324) =>
+ | (b__0, g__336) =>
(if eq_vec b__0 (Ox"F11" : mword 12) then
((read_reg mvendorid_ref) : M (mword 32)) >>= fun w__0 : mword 32 =>
returnm (EXTZ 64 w__0)
@@ -15720,7 +15969,7 @@ Definition readCSR (csr : mword 12) : M (mword 64) :=
Definition writeCSR (csr : mword 12) (value : mword 64) : M (unit) :=
(match (csr, 64) with
- | (b__0, g__323) =>
+ | (b__0, g__335) =>
(if eq_vec b__0 (Ox"300" : mword 12) then
read_reg mstatus_ref >>= fun w__0 : Mstatus =>
(legalize_mstatus w__0 value) >>= fun w__1 : Mstatus =>
@@ -15995,23 +16244,23 @@ Definition maybe_i_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "" then true
else false.
-Definition _s1058_ (_s1059_ : string) : option string :=
- let _s1060_ := _s1059_ in
- if string_startswith _s1060_ "" then
- match (string_drop _s1060_ (projT1 (string_length ""))) with | s_ => Some s_ end
+Definition _s1062_ (_s1063_ : string) : option string :=
+ let _s1064_ := _s1063_ in
+ if string_startswith _s1064_ "" then
+ match (string_drop _s1064_ (projT1 (string_length ""))) with | s_ => Some s_ end
else None.
-Definition _s1054_ (_s1055_ : string) : option string :=
- let _s1056_ := _s1055_ in
- if string_startswith _s1056_ "i" then
- match (string_drop _s1056_ (projT1 (string_length "i"))) with | s_ => Some s_ end
+Definition _s1058_ (_s1059_ : string) : option string :=
+ let _s1060_ := _s1059_ in
+ if string_startswith _s1060_ "i" then
+ match (string_drop _s1060_ (projT1 (string_length "i"))) with | s_ => Some s_ end
else None.
Definition maybe_i_matches_prefix (arg_ : string)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1057_ := arg_ in
- (if match (_s1054_ _s1057_) with | Some s_ => true | _ => false end then
- (match (_s1054_ _s1057_) with
+ let _s1061_ := arg_ in
+ (if match (_s1058_ _s1061_) with | Some s_ => true | _ => false end then
+ (match (_s1058_ _s1061_) with
| Some s_ =>
returnm (Some
(true, build_ex
@@ -16020,8 +16269,8 @@ Definition maybe_i_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((bool * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1058_ _s1057_) with | Some s_ => true | _ => false end then
- (match (_s1058_ _s1057_) with
+ else if match (_s1062_ _s1061_) with | Some s_ => true | _ => false end then
+ (match (_s1062_ _s1061_) with
| Some s_ =>
returnm (Some
(false, build_ex
@@ -16054,29 +16303,29 @@ Definition csr_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "csrrc" then true
else false.
+Definition _s1074_ (_s1075_ : string) : option string :=
+ let _s1076_ := _s1075_ in
+ if string_startswith _s1076_ "csrrc" then
+ match (string_drop _s1076_ (projT1 (string_length "csrrc"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1070_ (_s1071_ : string) : option string :=
let _s1072_ := _s1071_ in
- if string_startswith _s1072_ "csrrc" then
- match (string_drop _s1072_ (projT1 (string_length "csrrc"))) with | s_ => Some s_ end
+ if string_startswith _s1072_ "csrrs" then
+ match (string_drop _s1072_ (projT1 (string_length "csrrs"))) with | s_ => Some s_ end
else None.
Definition _s1066_ (_s1067_ : string) : option string :=
let _s1068_ := _s1067_ in
- if string_startswith _s1068_ "csrrs" then
- match (string_drop _s1068_ (projT1 (string_length "csrrs"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1062_ (_s1063_ : string) : option string :=
- let _s1064_ := _s1063_ in
- if string_startswith _s1064_ "csrrw" then
- match (string_drop _s1064_ (projT1 (string_length "csrrw"))) with | s_ => Some s_ end
+ if string_startswith _s1068_ "csrrw" then
+ match (string_drop _s1068_ (projT1 (string_length "csrrw"))) with | s_ => Some s_ end
else None.
Definition csr_mnemonic_matches_prefix (arg_ : string)
: M (option ((csrop * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1065_ := arg_ in
- (if match (_s1062_ _s1065_) with | Some s_ => true | _ => false end then
- (match (_s1062_ _s1065_) with
+ let _s1069_ := arg_ in
+ (if match (_s1066_ _s1069_) with | Some s_ => true | _ => false end then
+ (match (_s1066_ _s1069_) with
| Some s_ =>
returnm (Some
(CSRRW, build_ex
@@ -16085,8 +16334,8 @@ Definition csr_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1066_ _s1065_) with | Some s_ => true | _ => false end then
- (match (_s1066_ _s1065_) with
+ else if match (_s1070_ _s1069_) with | Some s_ => true | _ => false end then
+ (match (_s1070_ _s1069_) with
| Some s_ =>
returnm (Some
(CSRRS, build_ex
@@ -16095,8 +16344,8 @@ Definition csr_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((csrop * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1070_ _s1065_) with | Some s_ => true | _ => false end then
- (match (_s1070_ _s1065_) with
+ else if match (_s1074_ _s1069_) with | Some s_ => true | _ => false end then
+ (match (_s1074_ _s1069_) with
| Some s_ =>
returnm (Some
(CSRRC, build_ex
@@ -16190,47 +16439,47 @@ Definition frm_mnemonic_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "dyn" then true
else false.
+Definition _s1098_ (_s1099_ : string) : option string :=
+ let _s1100_ := _s1099_ in
+ if string_startswith _s1100_ "dyn" then
+ match (string_drop _s1100_ (projT1 (string_length "dyn"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1094_ (_s1095_ : string) : option string :=
let _s1096_ := _s1095_ in
- if string_startswith _s1096_ "dyn" then
- match (string_drop _s1096_ (projT1 (string_length "dyn"))) with | s_ => Some s_ end
+ if string_startswith _s1096_ "rmm" then
+ match (string_drop _s1096_ (projT1 (string_length "rmm"))) with | s_ => Some s_ end
else None.
Definition _s1090_ (_s1091_ : string) : option string :=
let _s1092_ := _s1091_ in
- if string_startswith _s1092_ "rmm" then
- match (string_drop _s1092_ (projT1 (string_length "rmm"))) with | s_ => Some s_ end
+ if string_startswith _s1092_ "rup" then
+ match (string_drop _s1092_ (projT1 (string_length "rup"))) with | s_ => Some s_ end
else None.
Definition _s1086_ (_s1087_ : string) : option string :=
let _s1088_ := _s1087_ in
- if string_startswith _s1088_ "rup" then
- match (string_drop _s1088_ (projT1 (string_length "rup"))) with | s_ => Some s_ end
+ if string_startswith _s1088_ "rdn" then
+ match (string_drop _s1088_ (projT1 (string_length "rdn"))) with | s_ => Some s_ end
else None.
Definition _s1082_ (_s1083_ : string) : option string :=
let _s1084_ := _s1083_ in
- if string_startswith _s1084_ "rdn" then
- match (string_drop _s1084_ (projT1 (string_length "rdn"))) with | s_ => Some s_ end
+ if string_startswith _s1084_ "rtz" then
+ match (string_drop _s1084_ (projT1 (string_length "rtz"))) with | s_ => Some s_ end
else None.
Definition _s1078_ (_s1079_ : string) : option string :=
let _s1080_ := _s1079_ in
- if string_startswith _s1080_ "rtz" then
- match (string_drop _s1080_ (projT1 (string_length "rtz"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1074_ (_s1075_ : string) : option string :=
- let _s1076_ := _s1075_ in
- if string_startswith _s1076_ "rne" then
- match (string_drop _s1076_ (projT1 (string_length "rne"))) with | s_ => Some s_ end
+ if string_startswith _s1080_ "rne" then
+ match (string_drop _s1080_ (projT1 (string_length "rne"))) with | s_ => Some s_ end
else None.
Definition frm_mnemonic_matches_prefix (arg_ : string)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1077_ := arg_ in
- (if match (_s1074_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1074_ _s1077_) with
+ let _s1081_ := arg_ in
+ (if match (_s1078_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1078_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RNE, build_ex
@@ -16239,8 +16488,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1078_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1078_ _s1077_) with
+ else if match (_s1082_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1082_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RTZ, build_ex
@@ -16249,8 +16498,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1082_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1082_ _s1077_) with
+ else if match (_s1086_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1086_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RDN, build_ex
@@ -16259,8 +16508,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1086_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1086_ _s1077_) with
+ else if match (_s1090_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1090_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RUP, build_ex
@@ -16269,8 +16518,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1090_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1090_ _s1077_) with
+ else if match (_s1094_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1094_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_RMM, build_ex
@@ -16279,8 +16528,8 @@ Definition frm_mnemonic_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((rounding_mode * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1094_ _s1077_) with | Some s_ => true | _ => false end then
- (match (_s1094_ _s1077_) with
+ else if match (_s1098_ _s1081_) with | Some s_ => true | _ => false end then
+ (match (_s1098_ _s1081_) with
| Some s_ =>
returnm (Some
(RM_DYN, build_ex
@@ -16535,35 +16784,35 @@ Definition f_madd_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fnmadd.s" then true
else false.
+Definition _s1114_ (_s1115_ : string) : option string :=
+ let _s1116_ := _s1115_ in
+ if string_startswith _s1116_ "fnmadd.s" then
+ match (string_drop _s1116_ (projT1 (string_length "fnmadd.s"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1110_ (_s1111_ : string) : option string :=
let _s1112_ := _s1111_ in
- if string_startswith _s1112_ "fnmadd.s" then
- match (string_drop _s1112_ (projT1 (string_length "fnmadd.s"))) with | s_ => Some s_ end
+ if string_startswith _s1112_ "fnmsub.s" then
+ match (string_drop _s1112_ (projT1 (string_length "fnmsub.s"))) with | s_ => Some s_ end
else None.
Definition _s1106_ (_s1107_ : string) : option string :=
let _s1108_ := _s1107_ in
- if string_startswith _s1108_ "fnmsub.s" then
- match (string_drop _s1108_ (projT1 (string_length "fnmsub.s"))) with | s_ => Some s_ end
+ if string_startswith _s1108_ "fmsub.s" then
+ match (string_drop _s1108_ (projT1 (string_length "fmsub.s"))) with | s_ => Some s_ end
else None.
Definition _s1102_ (_s1103_ : string) : option string :=
let _s1104_ := _s1103_ in
- if string_startswith _s1104_ "fmsub.s" then
- match (string_drop _s1104_ (projT1 (string_length "fmsub.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1098_ (_s1099_ : string) : option string :=
- let _s1100_ := _s1099_ in
- if string_startswith _s1100_ "fmadd.s" then
- match (string_drop _s1100_ (projT1 (string_length "fmadd.s"))) with | s_ => Some s_ end
+ if string_startswith _s1104_ "fmadd.s" then
+ match (string_drop _s1104_ (projT1 (string_length "fmadd.s"))) with | s_ => Some s_ end
else None.
Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1101_ := arg_ in
- (if match (_s1098_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1098_ _s1101_) with
+ let _s1105_ := arg_ in
+ (if match (_s1102_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1102_ _s1105_) with
| Some s_ =>
returnm (Some
(FMADD_S, build_ex
@@ -16572,8 +16821,8 @@ Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1102_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1102_ _s1101_) with
+ else if match (_s1106_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1106_ _s1105_) with
| Some s_ =>
returnm (Some
(FMSUB_S, build_ex
@@ -16582,8 +16831,8 @@ Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1106_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1106_ _s1101_) with
+ else if match (_s1110_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1110_ _s1105_) with
| Some s_ =>
returnm (Some
(FNMSUB_S, build_ex
@@ -16592,8 +16841,8 @@ Definition f_madd_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1110_ _s1101_) with | Some s_ => true | _ => false end then
- (match (_s1110_ _s1101_) with
+ else if match (_s1114_ _s1105_) with | Some s_ => true | _ => false end then
+ (match (_s1114_ _s1105_) with
| Some s_ =>
returnm (Some
(FNMADD_S, build_ex
@@ -16633,35 +16882,35 @@ Definition f_bin_rm_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fdiv.s" then true
else false.
+Definition _s1130_ (_s1131_ : string) : option string :=
+ let _s1132_ := _s1131_ in
+ if string_startswith _s1132_ "fdiv.s" then
+ match (string_drop _s1132_ (projT1 (string_length "fdiv.s"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1126_ (_s1127_ : string) : option string :=
let _s1128_ := _s1127_ in
- if string_startswith _s1128_ "fdiv.s" then
- match (string_drop _s1128_ (projT1 (string_length "fdiv.s"))) with | s_ => Some s_ end
+ if string_startswith _s1128_ "fmul.s" then
+ match (string_drop _s1128_ (projT1 (string_length "fmul.s"))) with | s_ => Some s_ end
else None.
Definition _s1122_ (_s1123_ : string) : option string :=
let _s1124_ := _s1123_ in
- if string_startswith _s1124_ "fmul.s" then
- match (string_drop _s1124_ (projT1 (string_length "fmul.s"))) with | s_ => Some s_ end
+ if string_startswith _s1124_ "fsub.s" then
+ match (string_drop _s1124_ (projT1 (string_length "fsub.s"))) with | s_ => Some s_ end
else None.
Definition _s1118_ (_s1119_ : string) : option string :=
let _s1120_ := _s1119_ in
- if string_startswith _s1120_ "fsub.s" then
- match (string_drop _s1120_ (projT1 (string_length "fsub.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1114_ (_s1115_ : string) : option string :=
- let _s1116_ := _s1115_ in
- if string_startswith _s1116_ "fadd.s" then
- match (string_drop _s1116_ (projT1 (string_length "fadd.s"))) with | s_ => Some s_ end
+ if string_startswith _s1120_ "fadd.s" then
+ match (string_drop _s1120_ (projT1 (string_length "fadd.s"))) with | s_ => Some s_ end
else None.
Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1117_ := arg_ in
- (if match (_s1114_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1114_ _s1117_) with
+ let _s1121_ := arg_ in
+ (if match (_s1118_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1118_ _s1121_) with
| Some s_ =>
returnm (Some
(FADD_S, build_ex
@@ -16670,8 +16919,8 @@ Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1118_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1118_ _s1117_) with
+ else if match (_s1122_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1122_ _s1121_) with
| Some s_ =>
returnm (Some
(FSUB_S, build_ex
@@ -16680,8 +16929,8 @@ Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1122_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1122_ _s1117_) with
+ else if match (_s1126_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1126_ _s1121_) with
| Some s_ =>
returnm (Some
(FMUL_S, build_ex
@@ -16690,8 +16939,8 @@ Definition f_bin_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1126_ _s1117_) with | Some s_ => true | _ => false end then
- (match (_s1126_ _s1117_) with
+ else if match (_s1130_ _s1121_) with | Some s_ => true | _ => false end then
+ (match (_s1130_ _s1121_) with
| Some s_ =>
returnm (Some
(FDIV_S, build_ex
@@ -16756,65 +17005,65 @@ Definition f_un_rm_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fcvt.s.lu" then true
else false.
+Definition _s1166_ (_s1167_ : string) : option string :=
+ let _s1168_ := _s1167_ in
+ if string_startswith _s1168_ "fcvt.s.lu" then
+ match (string_drop _s1168_ (projT1 (string_length "fcvt.s.lu"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1162_ (_s1163_ : string) : option string :=
let _s1164_ := _s1163_ in
- if string_startswith _s1164_ "fcvt.s.lu" then
- match (string_drop _s1164_ (projT1 (string_length "fcvt.s.lu"))) with | s_ => Some s_ end
+ if string_startswith _s1164_ "fcvt.s.l" then
+ match (string_drop _s1164_ (projT1 (string_length "fcvt.s.l"))) with | s_ => Some s_ end
else None.
Definition _s1158_ (_s1159_ : string) : option string :=
let _s1160_ := _s1159_ in
- if string_startswith _s1160_ "fcvt.s.l" then
- match (string_drop _s1160_ (projT1 (string_length "fcvt.s.l"))) with | s_ => Some s_ end
+ if string_startswith _s1160_ "fcvt.lu.s" then
+ match (string_drop _s1160_ (projT1 (string_length "fcvt.lu.s"))) with | s_ => Some s_ end
else None.
Definition _s1154_ (_s1155_ : string) : option string :=
let _s1156_ := _s1155_ in
- if string_startswith _s1156_ "fcvt.lu.s" then
- match (string_drop _s1156_ (projT1 (string_length "fcvt.lu.s"))) with | s_ => Some s_ end
+ if string_startswith _s1156_ "fcvt.l.s" then
+ match (string_drop _s1156_ (projT1 (string_length "fcvt.l.s"))) with | s_ => Some s_ end
else None.
Definition _s1150_ (_s1151_ : string) : option string :=
let _s1152_ := _s1151_ in
- if string_startswith _s1152_ "fcvt.l.s" then
- match (string_drop _s1152_ (projT1 (string_length "fcvt.l.s"))) with | s_ => Some s_ end
+ if string_startswith _s1152_ "fcvt.s.wu" then
+ match (string_drop _s1152_ (projT1 (string_length "fcvt.s.wu"))) with | s_ => Some s_ end
else None.
Definition _s1146_ (_s1147_ : string) : option string :=
let _s1148_ := _s1147_ in
- if string_startswith _s1148_ "fcvt.s.wu" then
- match (string_drop _s1148_ (projT1 (string_length "fcvt.s.wu"))) with | s_ => Some s_ end
+ if string_startswith _s1148_ "fcvt.s.w" then
+ match (string_drop _s1148_ (projT1 (string_length "fcvt.s.w"))) with | s_ => Some s_ end
else None.
Definition _s1142_ (_s1143_ : string) : option string :=
let _s1144_ := _s1143_ in
- if string_startswith _s1144_ "fcvt.s.w" then
- match (string_drop _s1144_ (projT1 (string_length "fcvt.s.w"))) with | s_ => Some s_ end
+ if string_startswith _s1144_ "fcvt.wu.s" then
+ match (string_drop _s1144_ (projT1 (string_length "fcvt.wu.s"))) with | s_ => Some s_ end
else None.
Definition _s1138_ (_s1139_ : string) : option string :=
let _s1140_ := _s1139_ in
- if string_startswith _s1140_ "fcvt.wu.s" then
- match (string_drop _s1140_ (projT1 (string_length "fcvt.wu.s"))) with | s_ => Some s_ end
+ if string_startswith _s1140_ "fcvt.w.s" then
+ match (string_drop _s1140_ (projT1 (string_length "fcvt.w.s"))) with | s_ => Some s_ end
else None.
Definition _s1134_ (_s1135_ : string) : option string :=
let _s1136_ := _s1135_ in
- if string_startswith _s1136_ "fcvt.w.s" then
- match (string_drop _s1136_ (projT1 (string_length "fcvt.w.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1130_ (_s1131_ : string) : option string :=
- let _s1132_ := _s1131_ in
- if string_startswith _s1132_ "fsqrt.s" then
- match (string_drop _s1132_ (projT1 (string_length "fsqrt.s"))) with | s_ => Some s_ end
+ if string_startswith _s1136_ "fsqrt.s" then
+ match (string_drop _s1136_ (projT1 (string_length "fsqrt.s"))) with | s_ => Some s_ end
else None.
Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1133_ := arg_ in
- (if match (_s1130_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1130_ _s1133_) with
+ let _s1137_ := arg_ in
+ (if match (_s1134_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1134_ _s1137_) with
| Some s_ =>
returnm (Some
(FSQRT_S, build_ex
@@ -16823,8 +17072,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1134_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1134_ _s1133_) with
+ else if match (_s1138_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1138_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_W_S, build_ex
@@ -16833,8 +17082,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1138_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1138_ _s1133_) with
+ else if match (_s1142_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1142_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_WU_S, build_ex
@@ -16843,8 +17092,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1142_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1142_ _s1133_) with
+ else if match (_s1146_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1146_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_W, build_ex
@@ -16853,8 +17102,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1146_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1146_ _s1133_) with
+ else if match (_s1150_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1150_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_WU, build_ex
@@ -16863,8 +17112,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1150_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1150_ _s1133_) with
+ else if match (_s1154_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1154_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_L_S, build_ex
@@ -16873,8 +17122,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1154_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1154_ _s1133_) with
+ else if match (_s1158_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1158_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_LU_S, build_ex
@@ -16883,8 +17132,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1158_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1158_ _s1133_) with
+ else if match (_s1162_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1162_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_L, build_ex
@@ -16893,8 +17142,8 @@ Definition f_un_rm_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1162_ _s1133_) with | Some s_ => true | _ => false end then
- (match (_s1162_ _s1133_) with
+ else if match (_s1166_ _s1137_) with | Some s_ => true | _ => false end then
+ (match (_s1166_ _s1137_) with
| Some s_ =>
returnm (Some
(FCVT_S_LU, build_ex
@@ -16955,59 +17204,59 @@ Definition f_bin_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fle.s" then true
else false.
+Definition _s1198_ (_s1199_ : string) : option string :=
+ let _s1200_ := _s1199_ in
+ if string_startswith _s1200_ "fle.s" then
+ match (string_drop _s1200_ (projT1 (string_length "fle.s"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1194_ (_s1195_ : string) : option string :=
let _s1196_ := _s1195_ in
- if string_startswith _s1196_ "fle.s" then
- match (string_drop _s1196_ (projT1 (string_length "fle.s"))) with | s_ => Some s_ end
+ if string_startswith _s1196_ "flt.s" then
+ match (string_drop _s1196_ (projT1 (string_length "flt.s"))) with | s_ => Some s_ end
else None.
Definition _s1190_ (_s1191_ : string) : option string :=
let _s1192_ := _s1191_ in
- if string_startswith _s1192_ "flt.s" then
- match (string_drop _s1192_ (projT1 (string_length "flt.s"))) with | s_ => Some s_ end
+ if string_startswith _s1192_ "feq.s" then
+ match (string_drop _s1192_ (projT1 (string_length "feq.s"))) with | s_ => Some s_ end
else None.
Definition _s1186_ (_s1187_ : string) : option string :=
let _s1188_ := _s1187_ in
- if string_startswith _s1188_ "feq.s" then
- match (string_drop _s1188_ (projT1 (string_length "feq.s"))) with | s_ => Some s_ end
+ if string_startswith _s1188_ "fmax.s" then
+ match (string_drop _s1188_ (projT1 (string_length "fmax.s"))) with | s_ => Some s_ end
else None.
Definition _s1182_ (_s1183_ : string) : option string :=
let _s1184_ := _s1183_ in
- if string_startswith _s1184_ "fmax.s" then
- match (string_drop _s1184_ (projT1 (string_length "fmax.s"))) with | s_ => Some s_ end
+ if string_startswith _s1184_ "fmin.s" then
+ match (string_drop _s1184_ (projT1 (string_length "fmin.s"))) with | s_ => Some s_ end
else None.
Definition _s1178_ (_s1179_ : string) : option string :=
let _s1180_ := _s1179_ in
- if string_startswith _s1180_ "fmin.s" then
- match (string_drop _s1180_ (projT1 (string_length "fmin.s"))) with | s_ => Some s_ end
+ if string_startswith _s1180_ "fsgnjx.s" then
+ match (string_drop _s1180_ (projT1 (string_length "fsgnjx.s"))) with | s_ => Some s_ end
else None.
Definition _s1174_ (_s1175_ : string) : option string :=
let _s1176_ := _s1175_ in
- if string_startswith _s1176_ "fsgnjx.s" then
- match (string_drop _s1176_ (projT1 (string_length "fsgnjx.s"))) with | s_ => Some s_ end
+ if string_startswith _s1176_ "fsgnjn.s" then
+ match (string_drop _s1176_ (projT1 (string_length "fsgnjn.s"))) with | s_ => Some s_ end
else None.
Definition _s1170_ (_s1171_ : string) : option string :=
let _s1172_ := _s1171_ in
- if string_startswith _s1172_ "fsgnjn.s" then
- match (string_drop _s1172_ (projT1 (string_length "fsgnjn.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1166_ (_s1167_ : string) : option string :=
- let _s1168_ := _s1167_ in
- if string_startswith _s1168_ "fsgnj.s" then
- match (string_drop _s1168_ (projT1 (string_length "fsgnj.s"))) with | s_ => Some s_ end
+ if string_startswith _s1172_ "fsgnj.s" then
+ match (string_drop _s1172_ (projT1 (string_length "fsgnj.s"))) with | s_ => Some s_ end
else None.
Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1169_ := arg_ in
- (if match (_s1166_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1166_ _s1169_) with
+ let _s1173_ := arg_ in
+ (if match (_s1170_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1170_ _s1173_) with
| Some s_ =>
returnm (Some
(FSGNJ_S, build_ex
@@ -17016,8 +17265,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1170_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1170_ _s1169_) with
+ else if match (_s1174_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1174_ _s1173_) with
| Some s_ =>
returnm (Some
(FSGNJN_S, build_ex
@@ -17026,8 +17275,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1174_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1174_ _s1169_) with
+ else if match (_s1178_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1178_ _s1173_) with
| Some s_ =>
returnm (Some
(FSGNJX_S, build_ex
@@ -17036,8 +17285,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1178_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1178_ _s1169_) with
+ else if match (_s1182_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1182_ _s1173_) with
| Some s_ =>
returnm (Some
(FMIN_S, build_ex
@@ -17046,8 +17295,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1182_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1182_ _s1169_) with
+ else if match (_s1186_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1186_ _s1173_) with
| Some s_ =>
returnm (Some
(FMAX_S, build_ex
@@ -17056,8 +17305,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1186_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1186_ _s1169_) with
+ else if match (_s1190_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1190_ _s1173_) with
| Some s_ =>
returnm (Some
(FEQ_S, build_ex
@@ -17066,8 +17315,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1190_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1190_ _s1169_) with
+ else if match (_s1194_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1194_ _s1173_) with
| Some s_ =>
returnm (Some
(FLT_S, build_ex
@@ -17076,8 +17325,8 @@ Definition f_bin_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1194_ _s1169_) with | Some s_ => true | _ => false end then
- (match (_s1194_ _s1169_) with
+ else if match (_s1198_ _s1173_) with | Some s_ => true | _ => false end then
+ (match (_s1198_ _s1173_) with
| Some s_ =>
returnm (Some
(FLE_S, build_ex
@@ -17110,29 +17359,29 @@ Definition f_un_type_mnemonic_S_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fmv.w.x" then true
else false.
+Definition _s1210_ (_s1211_ : string) : option string :=
+ let _s1212_ := _s1211_ in
+ if string_startswith _s1212_ "fmv.w.x" then
+ match (string_drop _s1212_ (projT1 (string_length "fmv.w.x"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1206_ (_s1207_ : string) : option string :=
let _s1208_ := _s1207_ in
- if string_startswith _s1208_ "fmv.w.x" then
- match (string_drop _s1208_ (projT1 (string_length "fmv.w.x"))) with | s_ => Some s_ end
+ if string_startswith _s1208_ "fclass.s" then
+ match (string_drop _s1208_ (projT1 (string_length "fclass.s"))) with | s_ => Some s_ end
else None.
Definition _s1202_ (_s1203_ : string) : option string :=
let _s1204_ := _s1203_ in
- if string_startswith _s1204_ "fclass.s" then
- match (string_drop _s1204_ (projT1 (string_length "fclass.s"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1198_ (_s1199_ : string) : option string :=
- let _s1200_ := _s1199_ in
- if string_startswith _s1200_ "fmv.x.w" then
- match (string_drop _s1200_ (projT1 (string_length "fmv.x.w"))) with | s_ => Some s_ end
+ if string_startswith _s1204_ "fmv.x.w" then
+ match (string_drop _s1204_ (projT1 (string_length "fmv.x.w"))) with | s_ => Some s_ end
else None.
Definition f_un_type_mnemonic_S_matches_prefix (arg_ : string)
: M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1201_ := arg_ in
- (if match (_s1198_ _s1201_) with | Some s_ => true | _ => false end then
- (match (_s1198_ _s1201_) with
+ let _s1205_ := arg_ in
+ (if match (_s1202_ _s1205_) with | Some s_ => true | _ => false end then
+ (match (_s1202_ _s1205_) with
| Some s_ =>
returnm (Some
(FMV_X_W, build_ex
@@ -17141,8 +17390,8 @@ Definition f_un_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1202_ _s1201_) with | Some s_ => true | _ => false end then
- (match (_s1202_ _s1201_) with
+ else if match (_s1206_ _s1205_) with | Some s_ => true | _ => false end then
+ (match (_s1206_ _s1205_) with
| Some s_ =>
returnm (Some
(FCLASS_S, build_ex
@@ -17151,8 +17400,8 @@ Definition f_un_type_mnemonic_S_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_op_S * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1206_ _s1201_) with | Some s_ => true | _ => false end then
- (match (_s1206_ _s1201_) with
+ else if match (_s1210_ _s1205_) with | Some s_ => true | _ => false end then
+ (match (_s1210_ _s1205_) with
| Some s_ =>
returnm (Some
(FMV_W_X, build_ex
@@ -17308,35 +17557,35 @@ Definition f_madd_type_mnemonic_D_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fnmadd.d" then true
else false.
+Definition _s1226_ (_s1227_ : string) : option string :=
+ let _s1228_ := _s1227_ in
+ if string_startswith _s1228_ "fnmadd.d" then
+ match (string_drop _s1228_ (projT1 (string_length "fnmadd.d"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1222_ (_s1223_ : string) : option string :=
let _s1224_ := _s1223_ in
- if string_startswith _s1224_ "fnmadd.d" then
- match (string_drop _s1224_ (projT1 (string_length "fnmadd.d"))) with | s_ => Some s_ end
+ if string_startswith _s1224_ "fnmsub.d" then
+ match (string_drop _s1224_ (projT1 (string_length "fnmsub.d"))) with | s_ => Some s_ end
else None.
Definition _s1218_ (_s1219_ : string) : option string :=
let _s1220_ := _s1219_ in
- if string_startswith _s1220_ "fnmsub.d" then
- match (string_drop _s1220_ (projT1 (string_length "fnmsub.d"))) with | s_ => Some s_ end
+ if string_startswith _s1220_ "fmsub.d" then
+ match (string_drop _s1220_ (projT1 (string_length "fmsub.d"))) with | s_ => Some s_ end
else None.
Definition _s1214_ (_s1215_ : string) : option string :=
let _s1216_ := _s1215_ in
- if string_startswith _s1216_ "fmsub.d" then
- match (string_drop _s1216_ (projT1 (string_length "fmsub.d"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1210_ (_s1211_ : string) : option string :=
- let _s1212_ := _s1211_ in
- if string_startswith _s1212_ "fmadd.d" then
- match (string_drop _s1212_ (projT1 (string_length "fmadd.d"))) with | s_ => Some s_ end
+ if string_startswith _s1216_ "fmadd.d" then
+ match (string_drop _s1216_ (projT1 (string_length "fmadd.d"))) with | s_ => Some s_ end
else None.
Definition f_madd_type_mnemonic_D_matches_prefix (arg_ : string)
: M (option ((f_madd_op_D * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1213_ := arg_ in
- (if match (_s1210_ _s1213_) with | Some s_ => true | _ => false end then
- (match (_s1210_ _s1213_) with
+ let _s1217_ := arg_ in
+ (if match (_s1214_ _s1217_) with | Some s_ => true | _ => false end then
+ (match (_s1214_ _s1217_) with
| Some s_ =>
returnm (Some
(FMADD_D, build_ex
@@ -17345,8 +17594,8 @@ Definition f_madd_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1214_ _s1213_) with | Some s_ => true | _ => false end then
- (match (_s1214_ _s1213_) with
+ else if match (_s1218_ _s1217_) with | Some s_ => true | _ => false end then
+ (match (_s1218_ _s1217_) with
| Some s_ =>
returnm (Some
(FMSUB_D, build_ex
@@ -17355,8 +17604,8 @@ Definition f_madd_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1218_ _s1213_) with | Some s_ => true | _ => false end then
- (match (_s1218_ _s1213_) with
+ else if match (_s1222_ _s1217_) with | Some s_ => true | _ => false end then
+ (match (_s1222_ _s1217_) with
| Some s_ =>
returnm (Some
(FNMSUB_D, build_ex
@@ -17365,8 +17614,8 @@ Definition f_madd_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_madd_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_madd_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1222_ _s1213_) with | Some s_ => true | _ => false end then
- (match (_s1222_ _s1213_) with
+ else if match (_s1226_ _s1217_) with | Some s_ => true | _ => false end then
+ (match (_s1226_ _s1217_) with
| Some s_ =>
returnm (Some
(FNMADD_D, build_ex
@@ -17406,35 +17655,35 @@ Definition f_bin_rm_type_mnemonic_D_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fdiv.d" then true
else false.
+Definition _s1242_ (_s1243_ : string) : option string :=
+ let _s1244_ := _s1243_ in
+ if string_startswith _s1244_ "fdiv.d" then
+ match (string_drop _s1244_ (projT1 (string_length "fdiv.d"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1238_ (_s1239_ : string) : option string :=
let _s1240_ := _s1239_ in
- if string_startswith _s1240_ "fdiv.d" then
- match (string_drop _s1240_ (projT1 (string_length "fdiv.d"))) with | s_ => Some s_ end
+ if string_startswith _s1240_ "fmul.d" then
+ match (string_drop _s1240_ (projT1 (string_length "fmul.d"))) with | s_ => Some s_ end
else None.
Definition _s1234_ (_s1235_ : string) : option string :=
let _s1236_ := _s1235_ in
- if string_startswith _s1236_ "fmul.d" then
- match (string_drop _s1236_ (projT1 (string_length "fmul.d"))) with | s_ => Some s_ end
+ if string_startswith _s1236_ "fsub.d" then
+ match (string_drop _s1236_ (projT1 (string_length "fsub.d"))) with | s_ => Some s_ end
else None.
Definition _s1230_ (_s1231_ : string) : option string :=
let _s1232_ := _s1231_ in
- if string_startswith _s1232_ "fsub.d" then
- match (string_drop _s1232_ (projT1 (string_length "fsub.d"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1226_ (_s1227_ : string) : option string :=
- let _s1228_ := _s1227_ in
- if string_startswith _s1228_ "fadd.d" then
- match (string_drop _s1228_ (projT1 (string_length "fadd.d"))) with | s_ => Some s_ end
+ if string_startswith _s1232_ "fadd.d" then
+ match (string_drop _s1232_ (projT1 (string_length "fadd.d"))) with | s_ => Some s_ end
else None.
Definition f_bin_rm_type_mnemonic_D_matches_prefix (arg_ : string)
: M (option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1229_ := arg_ in
- (if match (_s1226_ _s1229_) with | Some s_ => true | _ => false end then
- (match (_s1226_ _s1229_) with
+ let _s1233_ := arg_ in
+ (if match (_s1230_ _s1233_) with | Some s_ => true | _ => false end then
+ (match (_s1230_ _s1233_) with
| Some s_ =>
returnm (Some
(FADD_D, build_ex
@@ -17443,8 +17692,8 @@ Definition f_bin_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1230_ _s1229_) with | Some s_ => true | _ => false end then
- (match (_s1230_ _s1229_) with
+ else if match (_s1234_ _s1233_) with | Some s_ => true | _ => false end then
+ (match (_s1234_ _s1233_) with
| Some s_ =>
returnm (Some
(FSUB_D, build_ex
@@ -17453,8 +17702,8 @@ Definition f_bin_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1234_ _s1229_) with | Some s_ => true | _ => false end then
- (match (_s1234_ _s1229_) with
+ else if match (_s1238_ _s1233_) with | Some s_ => true | _ => false end then
+ (match (_s1238_ _s1233_) with
| Some s_ =>
returnm (Some
(FMUL_D, build_ex
@@ -17463,8 +17712,8 @@ Definition f_bin_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1238_ _s1229_) with | Some s_ => true | _ => false end then
- (match (_s1238_ _s1229_) with
+ else if match (_s1242_ _s1233_) with | Some s_ => true | _ => false end then
+ (match (_s1242_ _s1233_) with
| Some s_ =>
returnm (Some
(FDIV_D, build_ex
@@ -17537,77 +17786,77 @@ Definition f_un_rm_type_mnemonic_D_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fcvt.d.s" then true
else false.
+Definition _s1286_ (_s1287_ : string) : option string :=
+ let _s1288_ := _s1287_ in
+ if string_startswith _s1288_ "fcvt.d.s" then
+ match (string_drop _s1288_ (projT1 (string_length "fcvt.d.s"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1282_ (_s1283_ : string) : option string :=
let _s1284_ := _s1283_ in
- if string_startswith _s1284_ "fcvt.d.s" then
- match (string_drop _s1284_ (projT1 (string_length "fcvt.d.s"))) with | s_ => Some s_ end
+ if string_startswith _s1284_ "fcvt.s.d" then
+ match (string_drop _s1284_ (projT1 (string_length "fcvt.s.d"))) with | s_ => Some s_ end
else None.
Definition _s1278_ (_s1279_ : string) : option string :=
let _s1280_ := _s1279_ in
- if string_startswith _s1280_ "fcvt.s.d" then
- match (string_drop _s1280_ (projT1 (string_length "fcvt.s.d"))) with | s_ => Some s_ end
+ if string_startswith _s1280_ "fcvt.d.lu" then
+ match (string_drop _s1280_ (projT1 (string_length "fcvt.d.lu"))) with | s_ => Some s_ end
else None.
Definition _s1274_ (_s1275_ : string) : option string :=
let _s1276_ := _s1275_ in
- if string_startswith _s1276_ "fcvt.d.lu" then
- match (string_drop _s1276_ (projT1 (string_length "fcvt.d.lu"))) with | s_ => Some s_ end
+ if string_startswith _s1276_ "fcvt.d.l" then
+ match (string_drop _s1276_ (projT1 (string_length "fcvt.d.l"))) with | s_ => Some s_ end
else None.
Definition _s1270_ (_s1271_ : string) : option string :=
let _s1272_ := _s1271_ in
- if string_startswith _s1272_ "fcvt.d.l" then
- match (string_drop _s1272_ (projT1 (string_length "fcvt.d.l"))) with | s_ => Some s_ end
+ if string_startswith _s1272_ "fcvt.lu.d" then
+ match (string_drop _s1272_ (projT1 (string_length "fcvt.lu.d"))) with | s_ => Some s_ end
else None.
Definition _s1266_ (_s1267_ : string) : option string :=
let _s1268_ := _s1267_ in
- if string_startswith _s1268_ "fcvt.lu.d" then
- match (string_drop _s1268_ (projT1 (string_length "fcvt.lu.d"))) with | s_ => Some s_ end
+ if string_startswith _s1268_ "fcvt.l.d" then
+ match (string_drop _s1268_ (projT1 (string_length "fcvt.l.d"))) with | s_ => Some s_ end
else None.
Definition _s1262_ (_s1263_ : string) : option string :=
let _s1264_ := _s1263_ in
- if string_startswith _s1264_ "fcvt.l.d" then
- match (string_drop _s1264_ (projT1 (string_length "fcvt.l.d"))) with | s_ => Some s_ end
+ if string_startswith _s1264_ "fcvt.d.wu" then
+ match (string_drop _s1264_ (projT1 (string_length "fcvt.d.wu"))) with | s_ => Some s_ end
else None.
Definition _s1258_ (_s1259_ : string) : option string :=
let _s1260_ := _s1259_ in
- if string_startswith _s1260_ "fcvt.d.wu" then
- match (string_drop _s1260_ (projT1 (string_length "fcvt.d.wu"))) with | s_ => Some s_ end
+ if string_startswith _s1260_ "fcvt.d.w" then
+ match (string_drop _s1260_ (projT1 (string_length "fcvt.d.w"))) with | s_ => Some s_ end
else None.
Definition _s1254_ (_s1255_ : string) : option string :=
let _s1256_ := _s1255_ in
- if string_startswith _s1256_ "fcvt.d.w" then
- match (string_drop _s1256_ (projT1 (string_length "fcvt.d.w"))) with | s_ => Some s_ end
+ if string_startswith _s1256_ "fcvt.wu.d" then
+ match (string_drop _s1256_ (projT1 (string_length "fcvt.wu.d"))) with | s_ => Some s_ end
else None.
Definition _s1250_ (_s1251_ : string) : option string :=
let _s1252_ := _s1251_ in
- if string_startswith _s1252_ "fcvt.wu.d" then
- match (string_drop _s1252_ (projT1 (string_length "fcvt.wu.d"))) with | s_ => Some s_ end
+ if string_startswith _s1252_ "fcvt.w.d" then
+ match (string_drop _s1252_ (projT1 (string_length "fcvt.w.d"))) with | s_ => Some s_ end
else None.
Definition _s1246_ (_s1247_ : string) : option string :=
let _s1248_ := _s1247_ in
- if string_startswith _s1248_ "fcvt.w.d" then
- match (string_drop _s1248_ (projT1 (string_length "fcvt.w.d"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1242_ (_s1243_ : string) : option string :=
- let _s1244_ := _s1243_ in
- if string_startswith _s1244_ "fsqrt.d" then
- match (string_drop _s1244_ (projT1 (string_length "fsqrt.d"))) with | s_ => Some s_ end
+ if string_startswith _s1248_ "fsqrt.d" then
+ match (string_drop _s1248_ (projT1 (string_length "fsqrt.d"))) with | s_ => Some s_ end
else None.
Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1245_ := arg_ in
- (if match (_s1242_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1242_ _s1245_) with
+ let _s1249_ := arg_ in
+ (if match (_s1246_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1246_ _s1249_) with
| Some s_ =>
returnm (Some
(FSQRT_D, build_ex
@@ -17616,8 +17865,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1246_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1246_ _s1245_) with
+ else if match (_s1250_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1250_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_W_D, build_ex
@@ -17626,8 +17875,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1250_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1250_ _s1245_) with
+ else if match (_s1254_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1254_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_WU_D, build_ex
@@ -17636,8 +17885,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1254_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1254_ _s1245_) with
+ else if match (_s1258_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1258_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_D_W, build_ex
@@ -17646,8 +17895,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1258_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1258_ _s1245_) with
+ else if match (_s1262_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1262_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_D_WU, build_ex
@@ -17656,8 +17905,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1262_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1262_ _s1245_) with
+ else if match (_s1266_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1266_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_L_D, build_ex
@@ -17666,8 +17915,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1266_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1266_ _s1245_) with
+ else if match (_s1270_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1270_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_LU_D, build_ex
@@ -17676,8 +17925,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1270_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1270_ _s1245_) with
+ else if match (_s1274_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1274_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_D_L, build_ex
@@ -17686,8 +17935,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1274_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1274_ _s1245_) with
+ else if match (_s1278_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1278_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_D_LU, build_ex
@@ -17696,8 +17945,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1278_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1278_ _s1245_) with
+ else if match (_s1282_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1282_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_S_D, build_ex
@@ -17706,8 +17955,8 @@ Definition f_un_rm_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_rm_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1282_ _s1245_) with | Some s_ => true | _ => false end then
- (match (_s1282_ _s1245_) with
+ else if match (_s1286_ _s1249_) with | Some s_ => true | _ => false end then
+ (match (_s1286_ _s1249_) with
| Some s_ =>
returnm (Some
(FCVT_D_S, build_ex
@@ -17768,59 +18017,59 @@ Definition f_bin_type_mnemonic_D_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fle.d" then true
else false.
+Definition _s1318_ (_s1319_ : string) : option string :=
+ let _s1320_ := _s1319_ in
+ if string_startswith _s1320_ "fle.d" then
+ match (string_drop _s1320_ (projT1 (string_length "fle.d"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1314_ (_s1315_ : string) : option string :=
let _s1316_ := _s1315_ in
- if string_startswith _s1316_ "fle.d" then
- match (string_drop _s1316_ (projT1 (string_length "fle.d"))) with | s_ => Some s_ end
+ if string_startswith _s1316_ "flt.d" then
+ match (string_drop _s1316_ (projT1 (string_length "flt.d"))) with | s_ => Some s_ end
else None.
Definition _s1310_ (_s1311_ : string) : option string :=
let _s1312_ := _s1311_ in
- if string_startswith _s1312_ "flt.d" then
- match (string_drop _s1312_ (projT1 (string_length "flt.d"))) with | s_ => Some s_ end
+ if string_startswith _s1312_ "feq.d" then
+ match (string_drop _s1312_ (projT1 (string_length "feq.d"))) with | s_ => Some s_ end
else None.
Definition _s1306_ (_s1307_ : string) : option string :=
let _s1308_ := _s1307_ in
- if string_startswith _s1308_ "feq.d" then
- match (string_drop _s1308_ (projT1 (string_length "feq.d"))) with | s_ => Some s_ end
+ if string_startswith _s1308_ "fmax.d" then
+ match (string_drop _s1308_ (projT1 (string_length "fmax.d"))) with | s_ => Some s_ end
else None.
Definition _s1302_ (_s1303_ : string) : option string :=
let _s1304_ := _s1303_ in
- if string_startswith _s1304_ "fmax.d" then
- match (string_drop _s1304_ (projT1 (string_length "fmax.d"))) with | s_ => Some s_ end
+ if string_startswith _s1304_ "fmin.d" then
+ match (string_drop _s1304_ (projT1 (string_length "fmin.d"))) with | s_ => Some s_ end
else None.
Definition _s1298_ (_s1299_ : string) : option string :=
let _s1300_ := _s1299_ in
- if string_startswith _s1300_ "fmin.d" then
- match (string_drop _s1300_ (projT1 (string_length "fmin.d"))) with | s_ => Some s_ end
+ if string_startswith _s1300_ "fsgnjx.d" then
+ match (string_drop _s1300_ (projT1 (string_length "fsgnjx.d"))) with | s_ => Some s_ end
else None.
Definition _s1294_ (_s1295_ : string) : option string :=
let _s1296_ := _s1295_ in
- if string_startswith _s1296_ "fsgnjx.d" then
- match (string_drop _s1296_ (projT1 (string_length "fsgnjx.d"))) with | s_ => Some s_ end
+ if string_startswith _s1296_ "fsgnjn.d" then
+ match (string_drop _s1296_ (projT1 (string_length "fsgnjn.d"))) with | s_ => Some s_ end
else None.
Definition _s1290_ (_s1291_ : string) : option string :=
let _s1292_ := _s1291_ in
- if string_startswith _s1292_ "fsgnjn.d" then
- match (string_drop _s1292_ (projT1 (string_length "fsgnjn.d"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1286_ (_s1287_ : string) : option string :=
- let _s1288_ := _s1287_ in
- if string_startswith _s1288_ "fsgnj.d" then
- match (string_drop _s1288_ (projT1 (string_length "fsgnj.d"))) with | s_ => Some s_ end
+ if string_startswith _s1292_ "fsgnj.d" then
+ match (string_drop _s1292_ (projT1 (string_length "fsgnj.d"))) with | s_ => Some s_ end
else None.
Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1289_ := arg_ in
- (if match (_s1286_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1286_ _s1289_) with
+ let _s1293_ := arg_ in
+ (if match (_s1290_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1290_ _s1293_) with
| Some s_ =>
returnm (Some
(FSGNJ_D, build_ex
@@ -17829,8 +18078,8 @@ Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1290_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1290_ _s1289_) with
+ else if match (_s1294_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1294_ _s1293_) with
| Some s_ =>
returnm (Some
(FSGNJN_D, build_ex
@@ -17839,8 +18088,8 @@ Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1294_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1294_ _s1289_) with
+ else if match (_s1298_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1298_ _s1293_) with
| Some s_ =>
returnm (Some
(FSGNJX_D, build_ex
@@ -17849,8 +18098,8 @@ Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1298_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1298_ _s1289_) with
+ else if match (_s1302_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1302_ _s1293_) with
| Some s_ =>
returnm (Some
(FMIN_D, build_ex
@@ -17859,8 +18108,8 @@ Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1302_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1302_ _s1289_) with
+ else if match (_s1306_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1306_ _s1293_) with
| Some s_ =>
returnm (Some
(FMAX_D, build_ex
@@ -17869,8 +18118,8 @@ Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1306_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1306_ _s1289_) with
+ else if match (_s1310_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1310_ _s1293_) with
| Some s_ =>
returnm (Some
(FEQ_D, build_ex
@@ -17879,8 +18128,8 @@ Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1310_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1310_ _s1289_) with
+ else if match (_s1314_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1314_ _s1293_) with
| Some s_ =>
returnm (Some
(FLT_D, build_ex
@@ -17889,8 +18138,8 @@ Definition f_bin_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_bin_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1314_ _s1289_) with | Some s_ => true | _ => false end then
- (match (_s1314_ _s1289_) with
+ else if match (_s1318_ _s1293_) with | Some s_ => true | _ => false end then
+ (match (_s1318_ _s1293_) with
| Some s_ =>
returnm (Some
(FLE_D, build_ex
@@ -17923,29 +18172,29 @@ Definition f_un_type_mnemonic_D_backwards_matches (arg_ : string) : bool :=
else if generic_eq p0_ "fmv.d.x" then true
else false.
+Definition _s1330_ (_s1331_ : string) : option string :=
+ let _s1332_ := _s1331_ in
+ if string_startswith _s1332_ "fmv.d.x" then
+ match (string_drop _s1332_ (projT1 (string_length "fmv.d.x"))) with | s_ => Some s_ end
+ else None.
+
Definition _s1326_ (_s1327_ : string) : option string :=
let _s1328_ := _s1327_ in
- if string_startswith _s1328_ "fmv.d.x" then
- match (string_drop _s1328_ (projT1 (string_length "fmv.d.x"))) with | s_ => Some s_ end
+ if string_startswith _s1328_ "fclass.d" then
+ match (string_drop _s1328_ (projT1 (string_length "fclass.d"))) with | s_ => Some s_ end
else None.
Definition _s1322_ (_s1323_ : string) : option string :=
let _s1324_ := _s1323_ in
- if string_startswith _s1324_ "fclass.d" then
- match (string_drop _s1324_ (projT1 (string_length "fclass.d"))) with | s_ => Some s_ end
- else None.
-
-Definition _s1318_ (_s1319_ : string) : option string :=
- let _s1320_ := _s1319_ in
- if string_startswith _s1320_ "fmv.x.d" then
- match (string_drop _s1320_ (projT1 (string_length "fmv.x.d"))) with | s_ => Some s_ end
+ if string_startswith _s1324_ "fmv.x.d" then
+ match (string_drop _s1324_ (projT1 (string_length "fmv.x.d"))) with | s_ => Some s_ end
else None.
Definition f_un_type_mnemonic_D_matches_prefix (arg_ : string)
: M (option ((f_un_op_D * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s1321_ := arg_ in
- (if match (_s1318_ _s1321_) with | Some s_ => true | _ => false end then
- (match (_s1318_ _s1321_) with
+ let _s1325_ := arg_ in
+ (if match (_s1322_ _s1325_) with | Some s_ => true | _ => false end then
+ (match (_s1322_ _s1325_) with
| Some s_ =>
returnm (Some
(FMV_X_D, build_ex
@@ -17954,8 +18203,8 @@ Definition f_un_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1322_ _s1321_) with | Some s_ => true | _ => false end then
- (match (_s1322_ _s1321_) with
+ else if match (_s1326_ _s1325_) with | Some s_ => true | _ => false end then
+ (match (_s1326_ _s1325_) with
| Some s_ =>
returnm (Some
(FCLASS_D, build_ex
@@ -17964,8 +18213,8 @@ Definition f_un_type_mnemonic_D_matches_prefix (arg_ : string)
| _ => exit tt : M (option ((f_un_op_D * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((f_un_op_D * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s1326_ _s1321_) with | Some s_ => true | _ => false end then
- (match (_s1326_ _s1321_) with
+ else if match (_s1330_ _s1325_) with | Some s_ => true | _ => false end then
+ (match (_s1330_ _s1325_) with
| Some s_ =>
returnm (Some
(FMV_D_X, build_ex
@@ -18285,7 +18534,7 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
(concat_vec ('b"000" : mword 3)
(concat_vec ('b"00000" : mword 5) ('b"1110011" : mword 7))))))
| LOADRES (aq, rl, rs1, size, rd) =>
- (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 8) then
+ (if amo_width_valid size then
returnm (concat_vec ('b"00010" : mword 5)
(concat_vec (bool_bits_forwards aq)
(concat_vec (bool_bits_forwards rl)
@@ -18297,7 +18546,7 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| STORECON (aq, rl, rs2, rs1, size, rd) =>
- (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 8) then
+ (if amo_width_valid size then
returnm (concat_vec ('b"00011" : mword 5)
(concat_vec (bool_bits_forwards aq)
(concat_vec (bool_bits_forwards rl)
@@ -18309,7 +18558,7 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| AMO (op, aq, rl, rs2, rs1, size, rd) =>
- (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 8) then
+ (if amo_width_valid size then
returnm (concat_vec (encdec_amoop_forwards op)
(concat_vec (bool_bits_forwards aq)
(concat_vec (bool_bits_forwards rl)
@@ -18382,9 +18631,28 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
(concat_vec ('b"00000" : mword 5)
(concat_vec ('b"000" : mword 3)
(concat_vec ('b"00000" : mword 5) ('b"1110011" : mword 7))))))
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ (if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5))) then
+ returnm (concat_vec (fm : bits 4)
+ (concat_vec (pred : bits 4)
+ (concat_vec (succ : bits 4)
+ (concat_vec (rs : regidx)
+ (concat_vec ('b"000" : mword 3)
+ (concat_vec (rd : regidx) ('b"0001111" : mword 7)))))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 32)
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ (if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg)) then
+ returnm (concat_vec (imm : bits 12)
+ (concat_vec (rs : regidx)
+ (concat_vec ('b"001" : mword 3)
+ (concat_vec (rd : regidx) ('b"0001111" : mword 7)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 32)
| LOAD_FP (imm, rs1, rd, WORD) =>
- (is_RV32F_or_RV64F tt) >>= fun w__45 : bool =>
- (if sumbool_of_bool w__45 then
+ (is_RV32F_or_RV64F tt) >>= fun w__49 : bool =>
+ (if sumbool_of_bool w__49 then
returnm (concat_vec (imm : mword 12)
(concat_vec (rs1 : mword 5)
(concat_vec ('b"010" : mword 3)
@@ -18392,8 +18660,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| LOAD_FP (imm, rs1, rd, DOUBLE) =>
- (is_RV32D_or_RV64D tt) >>= fun w__48 : bool =>
- (if sumbool_of_bool w__48 then
+ (is_RV32D_or_RV64D tt) >>= fun w__52 : bool =>
+ (if sumbool_of_bool w__52 then
returnm (concat_vec (imm : mword 12)
(concat_vec (rs1 : mword 5)
(concat_vec ('b"011" : mword 3)
@@ -18401,8 +18669,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| STORE_FP (v__7, rs2, rs1, WORD) =>
- (is_RV32F_or_RV64F tt) >>= fun w__51 : bool =>
- (if sumbool_of_bool w__51 then
+ (is_RV32F_or_RV64F tt) >>= fun w__55 : bool =>
+ (if sumbool_of_bool w__55 then
let imm7 : bits 7 := subrange_vec_dec v__7 11 5 in
let imm7 : bits 7 := subrange_vec_dec v__7 11 5 in
let imm5 : bits 5 := subrange_vec_dec v__7 4 0 in
@@ -18414,8 +18682,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| STORE_FP (v__8, rs2, rs1, DOUBLE) =>
- (is_RV32D_or_RV64D tt) >>= fun w__54 : bool =>
- (if sumbool_of_bool w__54 then
+ (is_RV32D_or_RV64D tt) >>= fun w__58 : bool =>
+ (if sumbool_of_bool w__58 then
let imm7 : bits 7 := subrange_vec_dec v__8 11 5 in
let imm7 : bits 7 := subrange_vec_dec v__8 11 5 in
let imm5 : bits 5 := subrange_vec_dec v__8 4 0 in
@@ -18427,8 +18695,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMADD_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__57 : bool =>
- (if sumbool_of_bool w__57 then
+ (is_RV32F_or_RV64F tt) >>= fun w__61 : bool =>
+ (if sumbool_of_bool w__61 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18438,8 +18706,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMSUB_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__60 : bool =>
- (if sumbool_of_bool w__60 then
+ (is_RV32F_or_RV64F tt) >>= fun w__64 : bool =>
+ (if sumbool_of_bool w__64 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18449,8 +18717,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FNMSUB_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__63 : bool =>
- (if sumbool_of_bool w__63 then
+ (is_RV32F_or_RV64F tt) >>= fun w__67 : bool =>
+ (if sumbool_of_bool w__67 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18460,8 +18728,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FNMADD_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__66 : bool =>
- (if sumbool_of_bool w__66 then
+ (is_RV32F_or_RV64F tt) >>= fun w__70 : bool =>
+ (if sumbool_of_bool w__70 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"00" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18471,8 +18739,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FADD_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__69 : bool =>
- (if sumbool_of_bool w__69 then
+ (is_RV32F_or_RV64F tt) >>= fun w__73 : bool =>
+ (if sumbool_of_bool w__73 then
returnm (concat_vec ('b"0000000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18481,8 +18749,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FSUB_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__72 : bool =>
- (if sumbool_of_bool w__72 then
+ (is_RV32F_or_RV64F tt) >>= fun w__76 : bool =>
+ (if sumbool_of_bool w__76 then
returnm (concat_vec ('b"0000100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18491,8 +18759,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FMUL_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__75 : bool =>
- (if sumbool_of_bool w__75 then
+ (is_RV32F_or_RV64F tt) >>= fun w__79 : bool =>
+ (if sumbool_of_bool w__79 then
returnm (concat_vec ('b"0001000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18501,8 +18769,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, FDIV_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__78 : bool =>
- (if sumbool_of_bool w__78 then
+ (is_RV32F_or_RV64F tt) >>= fun w__82 : bool =>
+ (if sumbool_of_bool w__82 then
returnm (concat_vec ('b"0001100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18511,8 +18779,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FSQRT_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__81 : bool =>
- (if sumbool_of_bool w__81 then
+ (is_RV32F_or_RV64F tt) >>= fun w__85 : bool =>
+ (if sumbool_of_bool w__85 then
returnm (concat_vec ('b"0101100" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18521,8 +18789,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_W_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__84 : bool =>
- (if sumbool_of_bool w__84 then
+ (is_RV32F_or_RV64F tt) >>= fun w__88 : bool =>
+ (if sumbool_of_bool w__88 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18531,8 +18799,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_WU_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__87 : bool =>
- (if sumbool_of_bool w__87 then
+ (is_RV32F_or_RV64F tt) >>= fun w__91 : bool =>
+ (if sumbool_of_bool w__91 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00001" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18541,8 +18809,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_W) =>
- (is_RV32F_or_RV64F tt) >>= fun w__90 : bool =>
- (if sumbool_of_bool w__90 then
+ (is_RV32F_or_RV64F tt) >>= fun w__94 : bool =>
+ (if sumbool_of_bool w__94 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18551,8 +18819,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_WU) =>
- (is_RV32F_or_RV64F tt) >>= fun w__93 : bool =>
- (if sumbool_of_bool w__93 then
+ (is_RV32F_or_RV64F tt) >>= fun w__97 : bool =>
+ (if sumbool_of_bool w__97 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00001" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18561,8 +18829,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_L_S) =>
- (is_RV64F tt) >>= fun w__96 : bool =>
- (if sumbool_of_bool w__96 then
+ (is_RV64F tt) >>= fun w__100 : bool =>
+ (if sumbool_of_bool w__100 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00010" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18571,8 +18839,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_LU_S) =>
- (is_RV64F tt) >>= fun w__99 : bool =>
- (if sumbool_of_bool w__99 then
+ (is_RV64F tt) >>= fun w__103 : bool =>
+ (if sumbool_of_bool w__103 then
returnm (concat_vec ('b"1100000" : mword 7)
(concat_vec ('b"00011" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18581,8 +18849,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_L) =>
- (is_RV64F tt) >>= fun w__102 : bool =>
- (if sumbool_of_bool w__102 then
+ (is_RV64F tt) >>= fun w__106 : bool =>
+ (if sumbool_of_bool w__106 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00010" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18591,8 +18859,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_LU) =>
- (is_RV64F tt) >>= fun w__105 : bool =>
- (if sumbool_of_bool w__105 then
+ (is_RV64F tt) >>= fun w__109 : bool =>
+ (if sumbool_of_bool w__109 then
returnm (concat_vec ('b"1101000" : mword 7)
(concat_vec ('b"00011" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18601,8 +18869,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJ_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__108 : bool =>
- (if sumbool_of_bool w__108 then
+ (is_RV32F_or_RV64F tt) >>= fun w__112 : bool =>
+ (if sumbool_of_bool w__112 then
returnm (concat_vec ('b"0010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18611,8 +18879,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJN_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__111 : bool =>
- (if sumbool_of_bool w__111 then
+ (is_RV32F_or_RV64F tt) >>= fun w__115 : bool =>
+ (if sumbool_of_bool w__115 then
returnm (concat_vec ('b"0010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18621,8 +18889,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJX_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__114 : bool =>
- (if sumbool_of_bool w__114 then
+ (is_RV32F_or_RV64F tt) >>= fun w__118 : bool =>
+ (if sumbool_of_bool w__118 then
returnm (concat_vec ('b"0010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18631,8 +18899,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FMIN_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__117 : bool =>
- (if sumbool_of_bool w__117 then
+ (is_RV32F_or_RV64F tt) >>= fun w__121 : bool =>
+ (if sumbool_of_bool w__121 then
returnm (concat_vec ('b"0010100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18641,8 +18909,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FMAX_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__120 : bool =>
- (if sumbool_of_bool w__120 then
+ (is_RV32F_or_RV64F tt) >>= fun w__124 : bool =>
+ (if sumbool_of_bool w__124 then
returnm (concat_vec ('b"0010100" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18651,8 +18919,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FEQ_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__123 : bool =>
- (if sumbool_of_bool w__123 then
+ (is_RV32F_or_RV64F tt) >>= fun w__127 : bool =>
+ (if sumbool_of_bool w__127 then
returnm (concat_vec ('b"1010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18661,8 +18929,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FLT_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__126 : bool =>
- (if sumbool_of_bool w__126 then
+ (is_RV32F_or_RV64F tt) >>= fun w__130 : bool =>
+ (if sumbool_of_bool w__130 then
returnm (concat_vec ('b"1010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18671,8 +18939,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_S (rs2, rs1, rd, FLE_S) =>
- (is_RV32F_or_RV64F tt) >>= fun w__129 : bool =>
- (if sumbool_of_bool w__129 then
+ (is_RV32F_or_RV64F tt) >>= fun w__133 : bool =>
+ (if sumbool_of_bool w__133 then
returnm (concat_vec ('b"1010000" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18681,8 +18949,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_S (rs1, rd, FCLASS_S) =>
- (haveFExt tt) >>= fun w__132 : bool =>
- (if sumbool_of_bool w__132 then
+ (haveFExt tt) >>= fun w__136 : bool =>
+ (if sumbool_of_bool w__136 then
returnm (concat_vec ('b"1110000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18691,8 +18959,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_S (rs1, rd, FMV_X_W) =>
- (haveFExt tt) >>= fun w__135 : bool =>
- (if sumbool_of_bool w__135 then
+ (haveFExt tt) >>= fun w__139 : bool =>
+ (if sumbool_of_bool w__139 then
returnm (concat_vec ('b"1110000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18701,8 +18969,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_S (rs1, rd, FMV_W_X) =>
- (haveFExt tt) >>= fun w__138 : bool =>
- (if sumbool_of_bool w__138 then
+ (haveFExt tt) >>= fun w__142 : bool =>
+ (if sumbool_of_bool w__142 then
returnm (concat_vec ('b"1111000" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18711,8 +18979,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_D (rs3, rs2, rs1, rm, rd, FMADD_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__141 : bool =>
- (if sumbool_of_bool w__141 then
+ (is_RV32D_or_RV64D tt) >>= fun w__145 : bool =>
+ (if sumbool_of_bool w__145 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"01" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18722,8 +18990,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_D (rs3, rs2, rs1, rm, rd, FMSUB_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__144 : bool =>
- (if sumbool_of_bool w__144 then
+ (is_RV32D_or_RV64D tt) >>= fun w__148 : bool =>
+ (if sumbool_of_bool w__148 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"01" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18733,8 +19001,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_D (rs3, rs2, rs1, rm, rd, FNMSUB_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__147 : bool =>
- (if sumbool_of_bool w__147 then
+ (is_RV32D_or_RV64D tt) >>= fun w__151 : bool =>
+ (if sumbool_of_bool w__151 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"01" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18744,8 +19012,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_MADD_TYPE_D (rs3, rs2, rs1, rm, rd, FNMADD_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__150 : bool =>
- (if sumbool_of_bool w__150 then
+ (is_RV32D_or_RV64D tt) >>= fun w__154 : bool =>
+ (if sumbool_of_bool w__154 then
returnm (concat_vec (rs3 : mword 5)
(concat_vec ('b"01" : mword 2)
(concat_vec (rs2 : mword 5)
@@ -18755,8 +19023,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_D (rs2, rs1, rm, rd, FADD_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__153 : bool =>
- (if sumbool_of_bool w__153 then
+ (is_RV32D_or_RV64D tt) >>= fun w__157 : bool =>
+ (if sumbool_of_bool w__157 then
returnm (concat_vec ('b"0000001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18765,8 +19033,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_D (rs2, rs1, rm, rd, FSUB_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__156 : bool =>
- (if sumbool_of_bool w__156 then
+ (is_RV32D_or_RV64D tt) >>= fun w__160 : bool =>
+ (if sumbool_of_bool w__160 then
returnm (concat_vec ('b"0000101" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18775,8 +19043,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_D (rs2, rs1, rm, rd, FMUL_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__159 : bool =>
- (if sumbool_of_bool w__159 then
+ (is_RV32D_or_RV64D tt) >>= fun w__163 : bool =>
+ (if sumbool_of_bool w__163 then
returnm (concat_vec ('b"0001001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18785,8 +19053,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_RM_TYPE_D (rs2, rs1, rm, rd, FDIV_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__162 : bool =>
- (if sumbool_of_bool w__162 then
+ (is_RV32D_or_RV64D tt) >>= fun w__166 : bool =>
+ (if sumbool_of_bool w__166 then
returnm (concat_vec ('b"0001101" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18795,8 +19063,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FSQRT_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__165 : bool =>
- (if sumbool_of_bool w__165 then
+ (is_RV32D_or_RV64D tt) >>= fun w__169 : bool =>
+ (if sumbool_of_bool w__169 then
returnm (concat_vec ('b"0101101" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18805,8 +19073,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_W_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__168 : bool =>
- (if sumbool_of_bool w__168 then
+ (is_RV32D_or_RV64D tt) >>= fun w__172 : bool =>
+ (if sumbool_of_bool w__172 then
returnm (concat_vec ('b"1100001" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18815,8 +19083,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_WU_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__171 : bool =>
- (if sumbool_of_bool w__171 then
+ (is_RV32D_or_RV64D tt) >>= fun w__175 : bool =>
+ (if sumbool_of_bool w__175 then
returnm (concat_vec ('b"1100001" : mword 7)
(concat_vec ('b"00001" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18825,8 +19093,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_W) =>
- (is_RV32D_or_RV64D tt) >>= fun w__174 : bool =>
- (if sumbool_of_bool w__174 then
+ (is_RV32D_or_RV64D tt) >>= fun w__178 : bool =>
+ (if sumbool_of_bool w__178 then
returnm (concat_vec ('b"1101001" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18835,8 +19103,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_WU) =>
- (is_RV32D_or_RV64D tt) >>= fun w__177 : bool =>
- (if sumbool_of_bool w__177 then
+ (is_RV32D_or_RV64D tt) >>= fun w__181 : bool =>
+ (if sumbool_of_bool w__181 then
returnm (concat_vec ('b"1101001" : mword 7)
(concat_vec ('b"00001" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18845,8 +19113,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_S_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__180 : bool =>
- (if sumbool_of_bool w__180 then
+ (is_RV32D_or_RV64D tt) >>= fun w__184 : bool =>
+ (if sumbool_of_bool w__184 then
returnm (concat_vec ('b"0100000" : mword 7)
(concat_vec ('b"00001" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18855,8 +19123,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_S) =>
- (is_RV32D_or_RV64D tt) >>= fun w__183 : bool =>
- (if sumbool_of_bool w__183 then
+ (is_RV32D_or_RV64D tt) >>= fun w__187 : bool =>
+ (if sumbool_of_bool w__187 then
returnm (concat_vec ('b"0100001" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18865,8 +19133,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_L_D) =>
- (is_RV64D tt) >>= fun w__186 : bool =>
- (if sumbool_of_bool w__186 then
+ (is_RV64D tt) >>= fun w__190 : bool =>
+ (if sumbool_of_bool w__190 then
returnm (concat_vec ('b"1100001" : mword 7)
(concat_vec ('b"00010" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18875,8 +19143,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_LU_D) =>
- (is_RV64D tt) >>= fun w__189 : bool =>
- (if sumbool_of_bool w__189 then
+ (is_RV64D tt) >>= fun w__193 : bool =>
+ (if sumbool_of_bool w__193 then
returnm (concat_vec ('b"1100001" : mword 7)
(concat_vec ('b"00011" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18885,8 +19153,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_L) =>
- (is_RV64D tt) >>= fun w__192 : bool =>
- (if sumbool_of_bool w__192 then
+ (is_RV64D tt) >>= fun w__196 : bool =>
+ (if sumbool_of_bool w__196 then
returnm (concat_vec ('b"1101001" : mword 7)
(concat_vec ('b"00010" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18895,8 +19163,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_LU) =>
- (is_RV64D tt) >>= fun w__195 : bool =>
- (if sumbool_of_bool w__195 then
+ (is_RV64D tt) >>= fun w__199 : bool =>
+ (if sumbool_of_bool w__199 then
returnm (concat_vec ('b"1101001" : mword 7)
(concat_vec ('b"00011" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18905,8 +19173,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FSGNJ_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__198 : bool =>
- (if sumbool_of_bool w__198 then
+ (is_RV32D_or_RV64D tt) >>= fun w__202 : bool =>
+ (if sumbool_of_bool w__202 then
returnm (concat_vec ('b"0010001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18915,8 +19183,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FSGNJN_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__201 : bool =>
- (if sumbool_of_bool w__201 then
+ (is_RV32D_or_RV64D tt) >>= fun w__205 : bool =>
+ (if sumbool_of_bool w__205 then
returnm (concat_vec ('b"0010001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18925,8 +19193,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FSGNJX_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__204 : bool =>
- (if sumbool_of_bool w__204 then
+ (is_RV32D_or_RV64D tt) >>= fun w__208 : bool =>
+ (if sumbool_of_bool w__208 then
returnm (concat_vec ('b"0010001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18935,8 +19203,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FMIN_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__207 : bool =>
- (if sumbool_of_bool w__207 then
+ (is_RV32D_or_RV64D tt) >>= fun w__211 : bool =>
+ (if sumbool_of_bool w__211 then
returnm (concat_vec ('b"0010101" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18945,8 +19213,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FMAX_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__210 : bool =>
- (if sumbool_of_bool w__210 then
+ (is_RV32D_or_RV64D tt) >>= fun w__214 : bool =>
+ (if sumbool_of_bool w__214 then
returnm (concat_vec ('b"0010101" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18955,8 +19223,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FEQ_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__213 : bool =>
- (if sumbool_of_bool w__213 then
+ (is_RV32D_or_RV64D tt) >>= fun w__217 : bool =>
+ (if sumbool_of_bool w__217 then
returnm (concat_vec ('b"1010001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18965,8 +19233,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FLT_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__216 : bool =>
- (if sumbool_of_bool w__216 then
+ (is_RV32D_or_RV64D tt) >>= fun w__220 : bool =>
+ (if sumbool_of_bool w__220 then
returnm (concat_vec ('b"1010001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18975,8 +19243,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_BIN_TYPE_D (rs2, rs1, rd, FLE_D) =>
- (is_RV32D_or_RV64D tt) >>= fun w__219 : bool =>
- (if sumbool_of_bool w__219 then
+ (is_RV32D_or_RV64D tt) >>= fun w__223 : bool =>
+ (if sumbool_of_bool w__223 then
returnm (concat_vec ('b"1010001" : mword 7)
(concat_vec (rs2 : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18985,8 +19253,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_D (rs1, rd, FCLASS_D) =>
- (haveDExt tt) >>= fun w__222 : bool =>
- (if sumbool_of_bool w__222 then
+ (haveDExt tt) >>= fun w__226 : bool =>
+ (if sumbool_of_bool w__226 then
returnm (concat_vec ('b"1110001" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -18995,8 +19263,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_D (rs1, rd, FMV_X_D) =>
- (is_RV64D tt) >>= fun w__225 : bool =>
- (if sumbool_of_bool w__225 then
+ (is_RV64D tt) >>= fun w__229 : bool =>
+ (if sumbool_of_bool w__229 then
returnm (concat_vec ('b"1110001" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -19005,8 +19273,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 32)
| F_UN_TYPE_D (rs1, rd, FMV_D_X) =>
- (is_RV64D tt) >>= fun w__228 : bool =>
- (if sumbool_of_bool w__228 then
+ (is_RV64D tt) >>= fun w__232 : bool =>
+ (if sumbool_of_bool w__232 then
returnm (concat_vec ('b"1111001" : mword 7)
(concat_vec ('b"00000" : mword 5)
(concat_vec (rs1 : mword 5)
@@ -19021,13 +19289,8 @@ Definition encdec_forwards (arg_ : ast) : M (mword 32) :=
Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
let v__9 := arg_ in
- let _mappingpatterns_59_ : mword 7 := subrange_vec_dec v__9 6 0 in
- (and_boolM (returnm ((encdec_uop_backwards_matches _mappingpatterns_59_) : bool))
- ((if encdec_uop_backwards_matches _mappingpatterns_59_ then
- (encdec_uop_backwards _mappingpatterns_59_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- (if sumbool_of_bool w__1 then
+ (if let _mappingpatterns_59_ : mword 7 := subrange_vec_dec v__9 6 0 in
+ encdec_uop_backwards_matches _mappingpatterns_59_ then
let imm : mword 20 := subrange_vec_dec v__9 31 12 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
let imm : mword 20 := subrange_vec_dec v__9 31 12 in
@@ -19054,1241 +19317,1169 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
let imm : mword 12 := subrange_vec_dec v__9 31 20 in
returnm (RISCV_JALR (imm, rs1, rd))
+ else if andb
+ (let _mappingpatterns_60_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ encdec_bop_backwards_matches _mappingpatterns_60_)
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"1100011" : mword (6 - 0 + 1))) then
+ let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
+ let imm7_5_0 : bits 6 := subrange_vec_dec v__9 30 25 in
+ let imm5_4_1 : bits 4 := subrange_vec_dec v__9 11 8 in
+ let imm5_0 : bits 1 := subrange_vec_dec v__9 7 7 in
+ let _mappingpatterns_60_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ (encdec_bop_backwards _mappingpatterns_60_) >>= fun op =>
+ returnm (BTYPE
+ (concat_vec (imm7_6 : bits 1)
+ (concat_vec (imm5_0 : bits 1)
+ (concat_vec (imm7_5_0 : bits 6)
+ (concat_vec (imm5_4_1 : bits 4) ('b"0" : mword 1)))), rs2, rs1, op))
+ else if andb
+ (let _mappingpatterns_61_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ encdec_iop_backwards_matches _mappingpatterns_61_)
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1))) then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ let _mappingpatterns_61_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ (encdec_iop_backwards _mappingpatterns_61_) >>= fun op => returnm (ITYPE (imm, rs1, rd, op))
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SLLI))
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRLI))
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"010000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRAI))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_ADD))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"010" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SLT))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"011" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SLTU))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"111" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_AND))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"110" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_OR))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"100" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_XOR))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SLL))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SRL))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SUB))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (RTYPE (rs2, rs1, rd, RISCV_SRA))
else
(and_boolM
- (let _mappingpatterns_60_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (and_boolM (returnm ((encdec_bop_backwards_matches _mappingpatterns_60_) : bool))
- ((if encdec_bop_backwards_matches _mappingpatterns_60_ then
- (encdec_bop_backwards _mappingpatterns_60_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_63_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_62_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (if size_bits_backwards_matches _mappingpatterns_63_ then
+ (size_bits_backwards _mappingpatterns_63_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_62_ then
+ (bool_bits_backwards _mappingpatterns_62_) >>= fun is_unsigned =>
+ returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 8)
+ (andb (negb is_unsigned)
+ ((Z.leb (projT1 (word_width_bytes size)) 8)
+ : bool)))
+ : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"1100011" : mword (6 - 0 + 1))) : bool))) >>= fun w__4 : bool =>
- (if sumbool_of_bool w__4 then
- let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"0000011" : mword (6 - 0 + 1))) : bool))) >>= fun w__2 : bool =>
+ (if sumbool_of_bool w__2 then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let imm7_6 : bits 1 := subrange_vec_dec v__9 31 31 in
- let imm7_5_0 : bits 6 := subrange_vec_dec v__9 30 25 in
- let imm5_4_1 : bits 4 := subrange_vec_dec v__9 11 8 in
- let imm5_0 : bits 1 := subrange_vec_dec v__9 7 7 in
- let _mappingpatterns_60_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (encdec_bop_backwards _mappingpatterns_60_) >>= fun op =>
- returnm (BTYPE
- (concat_vec (imm7_6 : bits 1)
- (concat_vec (imm5_0 : bits 1)
- (concat_vec (imm7_5_0 : bits 6)
- (concat_vec (imm5_4_1 : bits 4) ('b"0" : mword 1)))), rs2, rs1, op))
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ let _mappingpatterns_63_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_62_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (size_bits_backwards _mappingpatterns_63_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_62_) >>= fun is_unsigned =>
+ returnm (LOAD (imm, rs1, rd, is_unsigned, size, false, false))
else
(and_boolM
- (let _mappingpatterns_61_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (and_boolM (returnm ((encdec_iop_backwards_matches _mappingpatterns_61_) : bool))
- ((if encdec_iop_backwards_matches _mappingpatterns_61_ then
- (encdec_iop_backwards _mappingpatterns_61_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_64_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ (if size_bits_backwards_matches _mappingpatterns_64_ then
+ (size_bits_backwards _mappingpatterns_64_) >>= fun size =>
+ returnm ((Z.leb (projT1 (word_width_bytes size)) 8) : bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__7 : bool =>
- (if sumbool_of_bool w__7 then
+ (returnm ((andb (eq_vec (subrange_vec_dec v__9 14 14) ('b"0" : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0100011" : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__4 : bool =>
+ (if sumbool_of_bool w__4 then
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_64_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ (size_bits_backwards _mappingpatterns_64_) >>= fun size =>
+ returnm (STORE
+ (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, size, false, false))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))) then
let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- let _mappingpatterns_61_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (encdec_iop_backwards _mappingpatterns_61_) >>= fun op =>
- returnm (ITYPE (imm, rs1, rd, op))
+ returnm (ADDIW (imm, rs1, rd))
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
(andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
- let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SLLI))
+ returnm (SHIFTW (shamt, rs1, rd, RISCV_SLLI))
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
(andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
- let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRLI))
+ returnm (SHIFTW (shamt, rs1, rd, RISCV_SRLI))
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__9 31 26) ('b"010000" : mword (31 - 26 + 1)))
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
(andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
- let shamt : mword 6 := subrange_vec_dec v__9 25 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIOP (shamt, rs1, rd, RISCV_SRAI))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_ADD))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"010" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (SHIFTW (shamt, rs1, rd, RISCV_SRAI))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SLT))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"011" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_ADDW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SLTU))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"111" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SUBW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_AND))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"110" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SLLW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_OR))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"100" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SRLW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1)))))) then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_XOR))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ returnm (RTYPEW (rs2, rs1, rd, RISCV_SRAW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SLL))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SLLIW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SRL))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRLIW))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))) then
+ let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SUB))
- else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRAIW))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"0" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ let succ : mword 4 := subrange_vec_dec v__9 23 20 in
+ let pred : mword 4 := subrange_vec_dec v__9 27 24 in
+ returnm (FENCE (pred, succ))
+ else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"8" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ let succ : mword 4 := subrange_vec_dec v__9 23 20 in
+ let pred : mword 4 := subrange_vec_dec v__9 27 24 in
+ returnm (FENCE_TSO (pred, succ))
+ else if eq_vec v__9 (Ox"0000100F" : mword 32) then returnm (FENCEI tt)
+ else if eq_vec v__9 (Ox"00000073" : mword 32) then returnm (ECALL tt)
+ else if eq_vec v__9 (Ox"30200073" : mword 32) then returnm (MRET tt)
+ else if eq_vec v__9 (Ox"10200073" : mword 32) then returnm (SRET tt)
+ else if eq_vec v__9 (Ox"00100073" : mword 32) then returnm (EBREAK tt)
+ else if eq_vec v__9 (Ox"10500073" : mword 32) then returnm (WFI tt)
+ else if andb (eq_vec (subrange_vec_dec v__9 31 25) ('b"0001001" : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__9 14 0) ('b"000000001110011" : mword (14 - 0 + 1)))
+ then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPE (rs2, rs1, rd, RISCV_SRA))
+ returnm (SFENCE_VMA (rs1, rs2))
else
(and_boolM
- (let _mappingpatterns_63_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_62_ : mword 1 := subrange_vec_dec v__9 14 14 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_63_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_63_ then
- (size_bits_backwards _mappingpatterns_63_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_62_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_62_ then
- (bool_bits_backwards _mappingpatterns_62_) >>= fun is_unsigned =>
- returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 8)
- (andb (negb is_unsigned)
- ((Z.leb (projT1 (word_width_bytes size)) 8)
- : bool)))
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_67_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_66_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_65_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (if size_bits_backwards_matches _mappingpatterns_67_ then
+ (size_bits_backwards _mappingpatterns_67_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_66_ then
+ (bool_bits_backwards _mappingpatterns_66_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_65_ then
+ (bool_bits_backwards _mappingpatterns_65_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0) ('b"0000011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__12 : bool =>
- (if sumbool_of_bool w__12 then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__9 31 27) ('b"00010" : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 24 20)
+ ('b"00000"
+ : mword (24 - 20 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))))
+ : bool))) >>= fun w__8 : bool =>
+ (if sumbool_of_bool w__8 then
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- let _mappingpatterns_63_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_62_ : mword 1 := subrange_vec_dec v__9 14 14 in
- (size_bits_backwards _mappingpatterns_63_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_62_) >>= fun is_unsigned =>
- returnm (LOAD (imm, rs1, rd, is_unsigned, size, false, false))
+ let _mappingpatterns_67_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_66_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_65_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (size_bits_backwards _mappingpatterns_67_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_66_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_65_) >>= fun aq =>
+ returnm (LOADRES (aq, rl, rs1, size, rd))
else
(and_boolM
- (let _mappingpatterns_64_ : mword 2 := subrange_vec_dec v__9 13 12 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_64_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_64_ then
- (size_bits_backwards _mappingpatterns_64_) >>= fun size =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 8) : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_70_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_69_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_68_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (if size_bits_backwards_matches _mappingpatterns_70_ then
+ (size_bits_backwards _mappingpatterns_70_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_69_ then
+ (bool_bits_backwards _mappingpatterns_69_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_68_ then
+ (bool_bits_backwards _mappingpatterns_68_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 14 14) ('b"0" : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0100011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__15 : bool =>
- (if sumbool_of_bool w__15 then
- let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
- let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_64_ : mword 2 := subrange_vec_dec v__9 13 12 in
- (size_bits_backwards _mappingpatterns_64_) >>= fun size =>
- returnm (STORE
- (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, size, false, false))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1)))))
- then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- returnm (ADDIW (imm, rs1, rd))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTW (shamt, rs1, rd, RISCV_SLLI))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTW (shamt, rs1, rd, RISCV_SRLI))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTW (shamt, rs1, rd, RISCV_SRAI))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_ADDW))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SUBW))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SLLW))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
+ (eq_vec (subrange_vec_dec v__9 31 27)
+ ('b"00011"
+ : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__12 : bool =>
+ (if sumbool_of_bool w__12 then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SRLW))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (RTYPEW (rs2, rs1, rd, RISCV_SRAW))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SLLIW))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRLIW))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- let shamt : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (SHIFTIWOP (shamt, rs1, rd, RISCV_SRAIW))
- else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"0" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- let succ : mword 4 := subrange_vec_dec v__9 23 20 in
- let pred : mword 4 := subrange_vec_dec v__9 27 24 in
- returnm (FENCE (pred, succ))
- else if andb (eq_vec (subrange_vec_dec v__9 31 28) (Ox"8" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__9 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- let succ : mword 4 := subrange_vec_dec v__9 23 20 in
- let pred : mword 4 := subrange_vec_dec v__9 27 24 in
- returnm (FENCE_TSO (pred, succ))
- else if eq_vec v__9 (Ox"0000100F" : mword 32) then returnm (FENCEI tt)
- else if eq_vec v__9 (Ox"00000073" : mword 32) then returnm (ECALL tt)
- else if eq_vec v__9 (Ox"30200073" : mword 32) then returnm (MRET tt)
- else if eq_vec v__9 (Ox"10200073" : mword 32) then returnm (SRET tt)
- else if eq_vec v__9 (Ox"00100073" : mword 32) then returnm (EBREAK tt)
- else if eq_vec v__9 (Ox"10500073" : mword 32) then returnm (WFI tt)
- else if andb
- (eq_vec (subrange_vec_dec v__9 31 25) ('b"0001001" : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__9 14 0)
- ('b"000000001110011"
- : mword (14 - 0 + 1))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- returnm (SFENCE_VMA (rs1, rs2))
+ let _mappingpatterns_70_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_69_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_68_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ (size_bits_backwards _mappingpatterns_70_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_69_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_68_) >>= fun aq =>
+ returnm (STORECON (aq, rl, rs2, rs1, size, rd))
else
(and_boolM
- (let _mappingpatterns_67_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_66_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_65_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_67_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_67_ then
- (size_bits_backwards _mappingpatterns_67_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_66_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_66_ then
- (bool_bits_backwards _mappingpatterns_66_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_65_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_65_ then
- (bool_bits_backwards _mappingpatterns_65_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 8)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ let _mappingpatterns_74_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_73_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_72_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ (if size_bits_backwards_matches _mappingpatterns_74_ then
+ (size_bits_backwards _mappingpatterns_74_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_73_ then
+ (bool_bits_backwards _mappingpatterns_73_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_72_ then
+ (bool_bits_backwards _mappingpatterns_72_) >>= fun aq =>
+ (if encdec_amoop_backwards_matches _mappingpatterns_71_ then
+ (encdec_amoop_backwards _mappingpatterns_71_) >>= fun op =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 27)
- ('b"00010"
- : mword (31 - 27 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 24 20)
- ('b"00000"
- : mword (24 - 20 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))))
- : bool))) >>= fun w__22 : bool =>
- (if sumbool_of_bool w__22 then
+ (eq_vec (subrange_vec_dec v__9 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__17 : bool =>
+ (if sumbool_of_bool w__17 then
+ let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_67_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_66_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_65_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (size_bits_backwards _mappingpatterns_67_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_66_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_65_) >>= fun aq =>
- returnm (LOADRES (aq, rl, rs1, size, rd))
+ let _mappingpatterns_74_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_73_ : mword 1 := subrange_vec_dec v__9 25 25 in
+ let _mappingpatterns_72_ : mword 1 := subrange_vec_dec v__9 26 26 in
+ let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ (size_bits_backwards _mappingpatterns_74_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_73_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_72_) >>= fun aq =>
+ (encdec_amoop_backwards _mappingpatterns_71_) >>= fun op =>
+ returnm (AMO (op, aq, rl, rs2, rs1, size, rd))
+ else if andb
+ (let _mappingpatterns_75_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ encdec_mul_op_backwards_matches _mappingpatterns_75_)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1)))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_75_ : mword 3 := subrange_vec_dec v__9 14 12 in
+ (encdec_mul_op_backwards _mappingpatterns_75_) >>= fun '(high, signed1, signed2) =>
+ returnm (MUL (rs2, rs1, rd, high, signed1, signed2))
+ else if andb
+ (let _mappingpatterns_76_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_76_)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_76_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_76_) >>= fun s =>
+ returnm (DIV (rs2, rs1, rd, s))
+ else if andb
+ (let _mappingpatterns_77_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_77_)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_77_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_77_) >>= fun s =>
+ returnm (REM (rs2, rs1, rd, s))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
+ then
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ returnm (MULW (rs2, rs1, rd))
else
(and_boolM
- (let _mappingpatterns_70_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_69_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_68_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_70_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_70_ then
- (size_bits_backwards _mappingpatterns_70_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_69_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_69_ then
- (bool_bits_backwards _mappingpatterns_69_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_68_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_68_ then
- (bool_bits_backwards _mappingpatterns_68_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 8)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_78_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_78_ then
+ (bool_not_bits_backwards _mappingpatterns_78_) >>= fun s =>
+ returnm ((Z.eqb 64 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 27)
- ('b"00011"
- : mword (31 - 27 + 1)))
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
(andb
- (eq_vec (subrange_vec_dec v__9 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
(eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0101111"
+ ('b"0111011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__29 : bool =>
- (if sumbool_of_bool w__29 then
+ : bool))) >>= fun w__19 : bool =>
+ (if sumbool_of_bool w__19 then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_70_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_69_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_68_ : mword 1 := subrange_vec_dec v__9 26 26 in
- (size_bits_backwards _mappingpatterns_70_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_69_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_68_) >>= fun aq =>
- returnm (STORECON (aq, rl, rs2, rs1, size, rd))
+ let _mappingpatterns_78_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_78_) >>= fun s =>
+ returnm (DIVW (rs2, rs1, rd, s))
else
(and_boolM
- (let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
- let _mappingpatterns_74_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_73_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_72_ : mword 1 := subrange_vec_dec v__9 26 26 in
- let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_74_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_74_ then
- (size_bits_backwards _mappingpatterns_74_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_73_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_73_ then
- (bool_bits_backwards _mappingpatterns_73_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_72_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_72_
- then
- (bool_bits_backwards _mappingpatterns_72_) >>= fun aq =>
- (and_boolM
- (returnm ((encdec_amoop_backwards_matches
- _mappingpatterns_71_)
- : bool))
- ((if encdec_amoop_backwards_matches
- _mappingpatterns_71_ then
- (encdec_amoop_backwards _mappingpatterns_71_) >>= fun op =>
- returnm ((Z.leb
- (projT1
- (word_width_bytes size)) 8)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_79_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_79_ then
+ (bool_not_bits_backwards _mappingpatterns_79_) >>= fun s =>
+ returnm ((Z.eqb 64 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__38 : bool =>
- (if sumbool_of_bool w__38 then
- let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
+ (eq_vec (subrange_vec_dec v__9 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0111011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__21 : bool =>
+ (if sumbool_of_bool w__21 then
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_74_ : mword 2 := subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_73_ : mword 1 := subrange_vec_dec v__9 25 25 in
- let _mappingpatterns_72_ : mword 1 := subrange_vec_dec v__9 26 26 in
- let _mappingpatterns_71_ : mword 5 := subrange_vec_dec v__9 31 27 in
- (size_bits_backwards _mappingpatterns_74_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_73_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_72_) >>= fun aq =>
- (encdec_amoop_backwards _mappingpatterns_71_) >>= fun op =>
- returnm (AMO (op, aq, rl, rs2, rs1, size, rd))
+ let _mappingpatterns_79_ : mword 1 := subrange_vec_dec v__9 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_79_) >>= fun s =>
+ returnm (REMW (rs2, rs1, rd, s))
else
(and_boolM
- (let _mappingpatterns_75_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_mul_op_backwards_matches _mappingpatterns_75_)
- : bool))
- ((if encdec_mul_op_backwards_matches _mappingpatterns_75_ then
- (encdec_mul_op_backwards _mappingpatterns_75_) >>= fun '(high, signed1, signed2) =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_81_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_80_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (if encdec_csrop_backwards_matches _mappingpatterns_81_ then
+ (encdec_csrop_backwards _mappingpatterns_81_) >>= fun op =>
+ returnm ((bool_bits_backwards_matches _mappingpatterns_80_)
+ : bool)
+ else returnm false)
: M (bool))
- (returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__41 : bool =>
- (if sumbool_of_bool w__41 then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (returnm ((eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"1110011"
+ : mword (6 - 0 + 1)))
+ : bool))) >>= fun w__23 : bool =>
+ (if sumbool_of_bool w__23 then
+ let csr : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_75_ : mword 3 := subrange_vec_dec v__9 14 12 in
- (encdec_mul_op_backwards _mappingpatterns_75_) >>= fun '(high, signed1, signed2) =>
- returnm (MUL (rs2, rs1, rd, high, signed1, signed2))
+ let csr : mword 12 := subrange_vec_dec v__9 31 20 in
+ let _mappingpatterns_81_ : mword 2 := subrange_vec_dec v__9 13 12 in
+ let _mappingpatterns_80_ : mword 1 := subrange_vec_dec v__9 14 14 in
+ (encdec_csrop_backwards _mappingpatterns_81_) >>= fun op =>
+ (bool_bits_backwards _mappingpatterns_80_) >>= fun is_imm =>
+ returnm (CSR (csr, rs1, rd, is_imm, op))
+ else if eq_vec v__9 (Ox"00200073" : mword 32) then returnm (URET tt)
+ else if andb
+ (let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ orb
+ (andb (neq_vec fm (Ox"0" : mword 4))
+ (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5))
+ (neq_vec rd ('b"00000" : mword 5))))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
+ let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ let succ : bits 4 := subrange_vec_dec v__9 23 20 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let pred : bits 4 := subrange_vec_dec v__9 27 24 in
+ let fm : bits 4 := subrange_vec_dec v__9 31 28 in
+ returnm (FENCE_RESERVED (fm, pred, succ, rs, rd))
+ else if andb
+ (let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ orb (neq_vec imm (Ox"000" : mword 12))
+ (orb (neq_vec rs zreg) (neq_vec rd zreg)))
+ (andb
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
+ let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ let rs : regidx := subrange_vec_dec v__9 19 15 in
+ let rd : regidx := subrange_vec_dec v__9 11 7 in
+ let imm : bits 12 := subrange_vec_dec v__9 31 20 in
+ returnm (FENCEI_RESERVED (imm, rs, rd))
else
- (and_boolM
- (let _mappingpatterns_76_ : mword 1 := subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches _mappingpatterns_76_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_76_ then
- (bool_not_bits_backwards _mappingpatterns_76_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__44 : bool =>
- (if sumbool_of_bool w__44 then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__25 : bool =>
+ (if sumbool_of_bool w__25 then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_76_ : mword 1 := subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_76_) >>= fun s =>
- returnm (DIV (rs2, rs1, rd, s))
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ returnm (LOAD_FP (imm, rs1, rd, WORD))
else
- (and_boolM
- (let _mappingpatterns_77_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_77_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_77_
- then
- (bool_not_bits_backwards _mappingpatterns_77_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__47 : bool =>
- (if sumbool_of_bool w__47 then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
- let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_77_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_77_) >>= fun s =>
- returnm (REM (rs2, rs1, rd, s))
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))) then
- let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__27 : bool =>
+ (if sumbool_of_bool w__27 then
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- returnm (MULW (rs2, rs1, rd))
+ let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ returnm (LOAD_FP (imm, rs1, rd, DOUBLE))
else
- (and_boolM
- (let _mappingpatterns_78_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_78_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_78_
- then
- (bool_not_bits_backwards _mappingpatterns_78_) >>= fun s =>
- returnm ((Z.eqb 64 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__50 : bool =>
- (if sumbool_of_bool w__50 then
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__29 : bool =>
+ (if sumbool_of_bool w__29 then
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_78_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_78_) >>= fun s =>
- returnm (DIVW (rs2, rs1, rd, s))
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
+ returnm (STORE_FP
+ (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, WORD))
else
- (and_boolM
- (let _mappingpatterns_79_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_79_)
- : bool))
- ((if bool_not_bits_backwards_matches
- _mappingpatterns_79_ then
- (bool_not_bits_backwards _mappingpatterns_79_) >>= fun s =>
- returnm ((Z.eqb 64 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__9 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__53 : bool =>
- (if sumbool_of_bool w__53 then
+ (eq_vec (subrange_vec_dec v__9 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__31 : bool =>
+ (if sumbool_of_bool w__31 then
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
- let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_79_ : mword 1 :=
- subrange_vec_dec v__9 12 12 in
- (bool_not_bits_backwards _mappingpatterns_79_) >>= fun s =>
- returnm (REMW (rs2, rs1, rd, s))
+ let imm7 : bits 7 := subrange_vec_dec v__9 31 25 in
+ let imm5 : bits 5 := subrange_vec_dec v__9 11 7 in
+ returnm (STORE_FP
+ (concat_vec (imm7 : bits 7) (imm5 : bits 5), rs2, rs1, DOUBLE))
else
(and_boolM
- (let _mappingpatterns_81_ : mword 2 :=
- subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_80_ : mword 1 :=
- subrange_vec_dec v__9 14 14 in
- (and_boolM
- (returnm ((encdec_csrop_backwards_matches
- _mappingpatterns_81_)
- : bool))
- ((if encdec_csrop_backwards_matches
- _mappingpatterns_81_ then
- (encdec_csrop_backwards _mappingpatterns_81_) >>= fun op =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_80_)
- : bool))
- ((if bool_bits_backwards_matches
- _mappingpatterns_80_ then
- (bool_bits_backwards _mappingpatterns_80_) >>= fun is_imm =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_82_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_82_ then
+ (encdec_rounding_mode_backwards _mappingpatterns_82_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__9 6 0)
- ('b"1110011"
- : mword (6 - 0 + 1)))
- : bool))) >>= fun w__58 : bool =>
- (if sumbool_of_bool w__58 then
- let csr : mword 12 := subrange_vec_dec v__9 31 20 in
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__9 6 0)
+ ('b"1000011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__34 : bool =>
+ (if sumbool_of_bool w__34 then
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let csr : mword 12 := subrange_vec_dec v__9 31 20 in
- let _mappingpatterns_81_ : mword 2 :=
- subrange_vec_dec v__9 13 12 in
- let _mappingpatterns_80_ : mword 1 :=
- subrange_vec_dec v__9 14 14 in
- (encdec_csrop_backwards _mappingpatterns_81_) >>= fun op =>
- (bool_bits_backwards _mappingpatterns_80_) >>= fun is_imm =>
- returnm (CSR (csr, rs1, rd, is_imm, op))
- else if eq_vec v__9 (Ox"00200073" : mword 32) then
- returnm (URET tt)
+ let _mappingpatterns_82_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_82_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMADD_S))
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_83_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_83_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_83_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__9 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0000111"
+ ('b"1000111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__60 : bool =>
- (if sumbool_of_bool w__60 then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ : bool))) >>= fun w__37 : bool =>
+ (if sumbool_of_bool w__37 then
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- returnm (LOAD_FP (imm, rs1, rd, WORD))
+ let _mappingpatterns_83_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_83_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, FMSUB_S))
else
- (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_84_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_84_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_84_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__9 14 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec (subrange_vec_dec v__9 6 0)
- ('b"0000111"
+ ('b"1001011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__62 : bool =>
- (if sumbool_of_bool w__62 then
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
+ : bool))) >>= fun w__40 : bool =>
+ (if sumbool_of_bool w__40 then
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 := subrange_vec_dec v__9 31 27 in
+ let rs2 : mword 5 := subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 := subrange_vec_dec v__9 19 15 in
let rd : mword 5 := subrange_vec_dec v__9 11 7 in
- let imm : mword 12 := subrange_vec_dec v__9 31 20 in
- returnm (LOAD_FP (imm, rs1, rd, DOUBLE))
+ let _mappingpatterns_84_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_84_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, FNMSUB_S))
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_85_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_85_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_85_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__9 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__9 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec
(subrange_vec_dec v__9 6 0)
- ('b"0100111"
+ ('b"1001111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__64 : bool =>
- (if sumbool_of_bool w__64 then
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
+ : bool))) >>= fun w__43 : bool =>
+ (if sumbool_of_bool w__43 then
+ let rs3 : mword 5 :=
+ subrange_vec_dec v__9 31 27 in
+ let rs3 : mword 5 :=
+ subrange_vec_dec v__9 31 27 in
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
- let imm5 : bits 5 :=
- subrange_vec_dec v__9 11 7 in
- returnm (STORE_FP
- (concat_vec (imm7 : bits 7)
- (imm5
- : bits 5), rs2, rs1, WORD))
+ let rd : mword 5 := subrange_vec_dec v__9 11 7 in
+ let _mappingpatterns_85_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_85_) >>= fun rm =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, FNMADD_S))
else
(and_boolM
- ((is_RV32D_or_RV64D tt)
+ (let _mappingpatterns_86_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_86_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_86_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__9 14
- 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__9 31
+ 25)
+ ('b"0000000"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec v__9 6 0)
- ('b"0100111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__66 : bool =>
- (if sumbool_of_bool w__66 then
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
+ : bool))) >>= fun w__46 : bool =>
+ (if sumbool_of_bool w__46 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
- let imm7 : bits 7 :=
- subrange_vec_dec v__9 31 25 in
- let imm5 : bits 5 :=
+ let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- returnm (STORE_FP
- (concat_vec (imm7 : bits 7)
- (imm5
- : bits 5), rs2, rs1, DOUBLE))
+ let _mappingpatterns_86_ : mword 3 :=
+ subrange_vec_dec v__9 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_86_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FADD_S))
else
(and_boolM
- (let _mappingpatterns_82_ : mword 3 :=
+ (let _mappingpatterns_87_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_82_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_82_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_82_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_87_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_87_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec v__9
- 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ 31 25)
+ ('b"0000100"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec v__9 6
0)
- ('b"1000011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__70 : bool =>
- (if sumbool_of_bool w__70 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
+ : bool))) >>= fun w__49 : bool =>
+ (if sumbool_of_bool w__49 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_82_ : mword 3 :=
+ let _mappingpatterns_87_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_82_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FMADD_S))
+ _mappingpatterns_87_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FSUB_S))
else
(and_boolM
- (let _mappingpatterns_83_ : mword 3 :=
+ (let _mappingpatterns_88_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_83_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_83_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_83_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_88_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_88_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__9 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__9 31 25)
+ ('b"0001000"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
- ('b"1000111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__74 : bool =>
- (if sumbool_of_bool w__74 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
+ : bool))) >>= fun w__52 : bool =>
+ (if sumbool_of_bool w__52 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_83_ : mword 3 :=
+ let _mappingpatterns_88_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_83_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FMSUB_S))
+ _mappingpatterns_88_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FMUL_S))
else
(and_boolM
- (let _mappingpatterns_84_ : mword 3 :=
+ (let _mappingpatterns_89_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_84_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_84_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_84_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_89_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_89_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__9 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__9 31 25)
+ ('b"0001100"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
- ('b"1001011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__78 : bool =>
- (if sumbool_of_bool w__78 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
+ : bool))) >>= fun w__55 : bool =>
+ (if sumbool_of_bool w__55 then
let rs2 : mword 5 :=
subrange_vec_dec v__9 24 20 in
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_84_ : mword 3 :=
+ let _mappingpatterns_89_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_84_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FNMSUB_S))
+ _mappingpatterns_89_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, FDIV_S))
else
(and_boolM
- (let _mappingpatterns_85_ : mword 3 :=
+ (let _mappingpatterns_90_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_85_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_85_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_85_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_90_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_90_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__9 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__9 31 20)
+ (Ox"580"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
- ('b"1001111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__82 : bool =>
- (if sumbool_of_bool w__82 then
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec v__9 31 27 in
- let rs2 : mword 5 :=
- subrange_vec_dec v__9 24 20 in
+ : bool))) >>= fun w__58 : bool =>
+ (if sumbool_of_bool w__58 then
let rs1 : mword 5 :=
subrange_vec_dec v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_85_ : mword 3 :=
+ let _mappingpatterns_90_ : mword 3 :=
subrange_vec_dec v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_85_) >>= fun rm =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, FNMADD_S))
+ _mappingpatterns_90_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FSQRT_S))
else
(and_boolM
- (let _mappingpatterns_86_ : mword 3 :=
+ (let _mappingpatterns_91_ : mword 3 :=
subrange_vec_dec v__9 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_86_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_86_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_86_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_91_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_91_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9 31
- 25)
- ('b"0000000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"C00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__86 : bool =>
- (if sumbool_of_bool w__86 then
- let rs2 : mword 5 :=
- subrange_vec_dec v__9 24
- 20 in
+ : bool))) >>= fun w__61 : bool =>
+ (if sumbool_of_bool w__61 then
let rs1 : mword 5 :=
subrange_vec_dec v__9 19
15 in
let rd : mword 5 :=
subrange_vec_dec v__9 11 7 in
- let _mappingpatterns_86_ : mword 3 :=
+ let _mappingpatterns_91_ : mword 3 :=
subrange_vec_dec v__9 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_86_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FADD_S))
+ _mappingpatterns_91_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_W_S))
else
(and_boolM
- (let _mappingpatterns_87_ : mword 3 :=
+ (let _mappingpatterns_92_ : mword 3 :=
subrange_vec_dec v__9
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_87_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_87_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_87_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_92_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_92_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 31 25)
- ('b"0000100"
- : mword (31 - 25 + 1)))
+ 31 20)
+ (Ox"C01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9 6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__90 : bool =>
+ : bool))) >>= fun w__64 : bool =>
(if sumbool_of_bool
- w__90 then
- let rs2 : mword 5 :=
- subrange_vec_dec v__9
- 24 20 in
+ w__64 then
let rs1 : mword 5 :=
subrange_vec_dec v__9
19 15 in
let rd : mword 5 :=
subrange_vec_dec v__9
11 7 in
- let _mappingpatterns_87_ : mword 3 :=
+ let _mappingpatterns_92_ : mword 3 :=
subrange_vec_dec v__9
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_87_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FSUB_S))
+ _mappingpatterns_92_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_WU_S))
else
(and_boolM
- (let _mappingpatterns_88_ : mword 3 :=
+ (let _mappingpatterns_93_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_88_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_88_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_88_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_93_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_93_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0001000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__94 : bool =>
+ : bool))) >>= fun w__67 : bool =>
(if sumbool_of_bool
- w__94 then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9 24 20 in
+ w__67 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_88_ : mword 3 :=
+ let _mappingpatterns_93_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_88_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FMUL_S))
+ _mappingpatterns_93_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_W))
else
(and_boolM
- (let _mappingpatterns_89_ : mword 3 :=
+ (let _mappingpatterns_94_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_89_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_89_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_89_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_94_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_94_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0001100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
@@ -20296,45 +20487,36 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__98 : bool =>
+ : bool))) >>= fun w__70 : bool =>
(if sumbool_of_bool
- w__98 then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9 24 20 in
+ w__70 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_89_ : mword 3 :=
+ let _mappingpatterns_94_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_89_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, FDIV_S))
+ _mappingpatterns_94_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_WU))
else
(and_boolM
- (let _mappingpatterns_90_ : mword 3 :=
+ (let _mappingpatterns_95_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_90_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_90_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_90_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_95_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_95_) >>= fun rm =>
+ (is_RV64F tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -20342,7 +20524,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"580"
+ (Ox"C02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -20351,43 +20533,38 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__102 : bool =>
+ : bool))) >>= fun w__73 : bool =>
(if sumbool_of_bool
- w__102 then
+ w__73 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19 15 in
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_90_ : mword 3 :=
+ let _mappingpatterns_95_ : mword 3 :=
subrange_vec_dec
v__9 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_90_) >>= fun rm =>
+ _mappingpatterns_95_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FSQRT_S))
+ (rs1, rm, rd, FCVT_L_S))
else
(and_boolM
- (let _mappingpatterns_91_ : mword 3 :=
+ (let _mappingpatterns_96_ : mword 3 :=
subrange_vec_dec
v__9 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_91_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_91_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_91_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_96_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_96_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -20395,7 +20572,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"C00"
+ (Ox"C03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -20404,9 +20581,9 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__106 : bool =>
+ : bool))) >>= fun w__76 : bool =>
(if sumbool_of_bool
- w__106 then
+ w__76 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9 19
@@ -20414,35 +20591,30 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
let rd : mword 5 :=
subrange_vec_dec
v__9 11 7 in
- let _mappingpatterns_91_ : mword 3 :=
+ let _mappingpatterns_96_ : mword 3 :=
subrange_vec_dec
v__9 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_91_) >>= fun rm =>
+ _mappingpatterns_96_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_W_S))
+ (rs1, rm, rd, FCVT_LU_S))
else
(and_boolM
- (let _mappingpatterns_92_ : mword 3 :=
+ (let _mappingpatterns_97_ : mword 3 :=
subrange_vec_dec
v__9
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_92_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_92_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_92_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_97_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_97_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -20450,7 +20622,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"C01"
+ (Ox"D02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -20459,10 +20631,9 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__110 : bool =>
+ : bool))) >>= fun w__79 : bool =>
(if sumbool_of_bool
- w__110
- then
+ w__79 then
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -20471,37 +20642,31 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
subrange_vec_dec
v__9
11 7 in
- let _mappingpatterns_92_ : mword 3 :=
+ let _mappingpatterns_97_ : mword 3 :=
subrange_vec_dec
v__9
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_92_) >>= fun rm =>
+ _mappingpatterns_97_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_WU_S))
+ (rs1, rm, rd, FCVT_S_L))
else
(and_boolM
- (let _mappingpatterns_93_ : mword 3 :=
+ (let _mappingpatterns_98_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_93_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_93_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_93_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_98_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_98_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -20509,7 +20674,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"D00"
+ (Ox"D03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -20518,9 +20683,9 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__114 : bool =>
+ : bool))) >>= fun w__82 : bool =>
(if sumbool_of_bool
- w__114
+ w__82
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -20532,58 +20697,52 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_93_ : mword 3 :=
+ let _mappingpatterns_98_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_93_) >>= fun rm =>
+ _mappingpatterns_98_) >>= fun rm =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_W))
+ (rs1, rm, rd, FCVT_S_LU))
else
(and_boolM
- (let _mappingpatterns_94_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_94_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_94_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_94_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D01"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__118 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__84 : bool =>
(if sumbool_of_bool
- w__118
+ w__84
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -20594,58 +20753,45 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_94_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_94_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_WU))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJ_S))
else
(and_boolM
- (let _mappingpatterns_95_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_95_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_95_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_95_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"C02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__122 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__86 : bool =>
(if sumbool_of_bool
- w__122
+ w__86
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -20656,59 +20802,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_95_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_95_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_L_S))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJN_S))
else
(and_boolM
- (let _mappingpatterns_96_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_96_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_96_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_96_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"C03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__126 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__88 : bool =>
(if
sumbool_of_bool
- w__126
+ w__88
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -20719,59 +20852,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_96_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_96_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_LU_S))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJX_S))
else
(and_boolM
- (let _mappingpatterns_97_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_97_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_97_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_97_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__130 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__90 : bool =>
(if
sumbool_of_bool
- w__130
+ w__90
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -20782,59 +20902,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_97_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_97_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_L))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMIN_S))
else
(and_boolM
- (let _mappingpatterns_98_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_98_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_98_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_98_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__134 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__92 : bool =>
(if
sumbool_of_bool
- w__134
+ w__92
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -20845,15 +20952,8 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_98_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_98_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_LU))
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMAX_S))
else
(and_boolM
((is_RV32F_or_RV64F
@@ -20865,7 +20965,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -20873,7 +20973,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
14
12)
- ('b"000"
+ ('b"010"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -20882,10 +20982,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__136 : bool =>
+ : bool))) >>= fun w__94 : bool =>
(if
sumbool_of_bool
- w__136
+ w__94
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -20903,7 +21003,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJ_S))
+ (rs2, rs1, rd, FEQ_S))
else
(and_boolM
((is_RV32F_or_RV64F
@@ -20915,7 +21015,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -20932,10 +21032,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__138 : bool =>
+ : bool))) >>= fun w__96 : bool =>
(if
sumbool_of_bool
- w__138
+ w__96
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -20953,7 +21053,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJN_S))
+ (rs2, rs1, rd, FLT_S))
else
(and_boolM
((is_RV32F_or_RV64F
@@ -20965,7 +21065,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -20973,7 +21073,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -20982,10 +21082,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__140 : bool =>
+ : bool))) >>= fun w__98 : bool =>
(if
sumbool_of_bool
- w__140
+ w__98
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -21003,10 +21103,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJX_S))
+ (rs2, rs1, rd, FLE_S))
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
@@ -21014,16 +21114,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"000"
+ ('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -21032,16 +21132,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__142 : bool =>
+ : bool))) >>= fun w__100 : bool =>
(if
sumbool_of_bool
- w__142
+ w__100
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21052,11 +21147,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMIN_S))
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FCLASS_S))
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
@@ -21064,16 +21159,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"001"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -21082,16 +21177,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__144 : bool =>
+ : bool))) >>= fun w__102 : bool =>
(if
sumbool_of_bool
- w__144
+ w__102
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21102,11 +21192,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMAX_S))
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FMV_X_W))
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
@@ -21114,16 +21204,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"F00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -21132,16 +21222,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__146 : bool =>
+ : bool))) >>= fun w__104 : bool =>
(if
sumbool_of_bool
- w__146
+ w__104
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21152,41 +21237,57 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FEQ_S))
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FMV_W_X))
else
(and_boolM
- ((is_RV32F_or_RV64F
- tt)
+ (let _mappingpatterns_99_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_99_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_99_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 31
+ 26
25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__148 : bool =>
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1000011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__107 : bool =>
(if
sumbool_of_bool
- w__148
+ w__107
then
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
let rs2 : mword 5 :=
subrange_vec_dec
v__9
@@ -21202,41 +21303,64 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLT_S))
+ let _mappingpatterns_99_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_99_) >>= fun rm =>
+ returnm (F_MADD_TYPE_D
+ (rs3, rs2, rs1, rm, rd, FMADD_D))
else
(and_boolM
- ((is_RV32F_or_RV64F
- tt)
+ (let _mappingpatterns_100_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_100_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_100_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 31
+ 26
25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__150 : bool =>
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__110 : bool =>
(if
sumbool_of_bool
- w__150
+ w__110
then
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
let rs2 : mword 5 :=
subrange_vec_dec
v__9
@@ -21252,41 +21376,69 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLE_S))
+ let _mappingpatterns_100_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_100_) >>= fun rm =>
+ returnm (F_MADD_TYPE_D
+ (rs3, rs2, rs1, rm, rd, FMSUB_D))
else
(and_boolM
- ((haveFExt
- tt)
+ (let _mappingpatterns_101_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_101_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_101_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__152 : bool =>
+ 26
+ 25)
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1001011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__113 : bool =>
(if
sumbool_of_bool
- w__152
+ w__113
then
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21297,41 +21449,69 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_UN_TYPE_S
- (rs1, rd, FCLASS_S))
+ let _mappingpatterns_101_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_101_) >>= fun rm =>
+ returnm (F_MADD_TYPE_D
+ (rs3, rs2, rs1, rm, rd, FNMSUB_D))
else
(and_boolM
- ((haveFExt
- tt)
+ (let _mappingpatterns_102_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_102_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_102_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__154 : bool =>
+ 26
+ 25)
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1001111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__116 : bool =>
(if
sumbool_of_bool
- w__154
+ w__116
then
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
+ let rs3 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 31
+ 27 in
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21342,41 +21522,59 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_UN_TYPE_S
- (rs1, rd, FMV_X_W))
+ let _mappingpatterns_102_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_102_) >>= fun rm =>
+ returnm (F_MADD_TYPE_D
+ (rs3, rs2, rs1, rm, rd, FNMADD_D))
else
(and_boolM
- ((haveFExt
- tt)
+ (let _mappingpatterns_103_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_103_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_103_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"F00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__156 : bool =>
+ 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__119 : bool =>
(if
sumbool_of_bool
- w__156
+ w__119
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21387,62 +21585,54 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_UN_TYPE_S
- (rs1, rd, FMV_W_X))
+ let _mappingpatterns_103_ : mword 3 :=
+ subrange_vec_dec
+ v__9
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_103_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_D
+ (rs2, rs1, rm, rd, FADD_D))
else
(and_boolM
- (let _mappingpatterns_99_ : mword 3 :=
+ (let _mappingpatterns_104_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_99_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_99_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_99_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_104_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_104_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 26
+ 31
25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ ('b"0000101"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
v__9
6
0)
- ('b"1000011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__160 : bool =>
+ : bool))) >>= fun w__122 : bool =>
(if
sumbool_of_bool
- w__160
+ w__122
then
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
let rs2 : mword 5 :=
subrange_vec_dec
v__9
@@ -21458,69 +21648,54 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_99_ : mword 3 :=
+ let _mappingpatterns_104_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_99_) >>= fun rm =>
- returnm (F_MADD_TYPE_D
- (rs3, rs2, rs1, rm, rd, FMADD_D))
+ _mappingpatterns_104_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_D
+ (rs2, rs1, rm, rd, FSUB_D))
else
(and_boolM
- (let _mappingpatterns_100_ : mword 3 :=
+ (let _mappingpatterns_105_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_100_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_100_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_100_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_105_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_105_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 26
+ 31
25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ ('b"0001001"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
v__9
6
0)
- ('b"1000111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__164 : bool =>
+ : bool))) >>= fun w__125 : bool =>
(if
sumbool_of_bool
- w__164
+ w__125
then
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
let rs2 : mword 5 :=
subrange_vec_dec
v__9
@@ -21536,69 +21711,54 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_100_ : mword 3 :=
+ let _mappingpatterns_105_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_100_) >>= fun rm =>
- returnm (F_MADD_TYPE_D
- (rs3, rs2, rs1, rm, rd, FMSUB_D))
+ _mappingpatterns_105_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_D
+ (rs2, rs1, rm, rd, FMUL_D))
else
(and_boolM
- (let _mappingpatterns_101_ : mword 3 :=
+ (let _mappingpatterns_106_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_101_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_101_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_101_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_106_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_106_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 26
+ 31
25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ ('b"0001101"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
v__9
6
0)
- ('b"1001011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__168 : bool =>
+ : bool))) >>= fun w__128 : bool =>
(if
sumbool_of_bool
- w__168
+ w__128
then
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
let rs2 : mword 5 :=
subrange_vec_dec
v__9
@@ -21614,74 +21774,54 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_101_ : mword 3 :=
+ let _mappingpatterns_106_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_101_) >>= fun rm =>
- returnm (F_MADD_TYPE_D
- (rs3, rs2, rs1, rm, rd, FNMSUB_D))
+ _mappingpatterns_106_) >>= fun rm =>
+ returnm (F_BIN_RM_TYPE_D
+ (rs2, rs1, rm, rd, FDIV_D))
else
(and_boolM
- (let _mappingpatterns_102_ : mword 3 :=
+ (let _mappingpatterns_107_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_102_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_102_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_102_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_107_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_107_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
- 26
- 25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ 31
+ 20)
+ (Ox"5A0"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
6
0)
- ('b"1001111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__172 : bool =>
+ : bool))) >>= fun w__131 : bool =>
(if
sumbool_of_bool
- w__172
+ w__131
then
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
- let rs3 : mword 5 :=
- subrange_vec_dec
- v__9
- 31
- 27 in
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21692,47 +21832,42 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_102_ : mword 3 :=
+ let _mappingpatterns_107_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_102_) >>= fun rm =>
- returnm (F_MADD_TYPE_D
- (rs3, rs2, rs1, rm, rd, FNMADD_D))
+ _mappingpatterns_107_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FSQRT_D))
else
(and_boolM
- (let _mappingpatterns_103_ : mword 3 :=
+ (let _mappingpatterns_108_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_103_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_103_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_103_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_108_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_108_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"C20"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
@@ -21740,16 +21875,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__176 : bool =>
+ : bool))) >>= fun w__134 : bool =>
(if
sumbool_of_bool
- w__176
+ w__134
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21760,47 +21890,42 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_103_ : mword 3 :=
+ let _mappingpatterns_108_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_103_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_D
- (rs2, rs1, rm, rd, FADD_D))
+ _mappingpatterns_108_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_W_D))
else
(and_boolM
- (let _mappingpatterns_104_ : mword 3 :=
+ (let _mappingpatterns_109_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_104_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_104_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_104_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_109_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_109_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0000101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"C21"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
@@ -21808,16 +21933,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__180 : bool =>
+ : bool))) >>= fun w__137 : bool =>
(if
sumbool_of_bool
- w__180
+ w__137
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21828,47 +21948,42 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_104_ : mword 3 :=
+ let _mappingpatterns_109_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_104_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_D
- (rs2, rs1, rm, rd, FSUB_D))
+ _mappingpatterns_109_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_WU_D))
else
(and_boolM
- (let _mappingpatterns_105_ : mword 3 :=
+ (let _mappingpatterns_110_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_105_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_105_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_105_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_110_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_110_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0001001"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D20"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
@@ -21876,16 +21991,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__184 : bool =>
+ : bool))) >>= fun w__140 : bool =>
(if
sumbool_of_bool
- w__184
+ w__140
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21896,47 +22006,42 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_105_ : mword 3 :=
+ let _mappingpatterns_110_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_105_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_D
- (rs2, rs1, rm, rd, FMUL_D))
+ _mappingpatterns_110_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_W))
else
(and_boolM
- (let _mappingpatterns_106_ : mword 3 :=
+ (let _mappingpatterns_111_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_106_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_106_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_106_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_111_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_111_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 25)
- ('b"0001101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D21"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
v__9
@@ -21944,16 +22049,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__188 : bool =>
+ : bool))) >>= fun w__143 : bool =>
(if
sumbool_of_bool
- w__188
+ w__143
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -21964,38 +22064,33 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_106_ : mword 3 :=
+ let _mappingpatterns_111_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_106_) >>= fun rm =>
- returnm (F_BIN_RM_TYPE_D
- (rs2, rs1, rm, rd, FDIV_D))
+ _mappingpatterns_111_) >>= fun rm =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_WU))
else
(and_boolM
- (let _mappingpatterns_107_ : mword 3 :=
+ (let _mappingpatterns_112_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_107_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_107_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_107_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_112_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_112_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -22003,7 +22098,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"5A0"
+ (Ox"401"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22012,10 +22107,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__192 : bool =>
+ : bool))) >>= fun w__146 : bool =>
(if
sumbool_of_bool
- w__192
+ w__146
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -22027,38 +22122,33 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_107_ : mword 3 :=
+ let _mappingpatterns_112_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_107_) >>= fun rm =>
+ _mappingpatterns_112_) >>= fun rm =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FSQRT_D))
+ (rs1, rm, rd, FCVT_S_D))
else
(and_boolM
- (let _mappingpatterns_108_ : mword 3 :=
+ (let _mappingpatterns_113_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_108_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_108_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_108_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_113_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_113_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -22066,7 +22156,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"C20"
+ (Ox"420"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22075,10 +22165,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__196 : bool =>
+ : bool))) >>= fun w__149 : bool =>
(if
sumbool_of_bool
- w__196
+ w__149
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -22090,38 +22180,33 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_108_ : mword 3 :=
+ let _mappingpatterns_113_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_108_) >>= fun rm =>
+ _mappingpatterns_113_) >>= fun rm =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_W_D))
+ (rs1, rm, rd, FCVT_D_S))
else
(and_boolM
- (let _mappingpatterns_109_ : mword 3 :=
+ (let _mappingpatterns_114_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_109_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_109_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_109_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_114_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_114_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -22129,7 +22214,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"C21"
+ (Ox"C22"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22138,10 +22223,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__200 : bool =>
+ : bool))) >>= fun w__152 : bool =>
(if
sumbool_of_bool
- w__200
+ w__152
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -22153,38 +22238,33 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_109_ : mword 3 :=
+ let _mappingpatterns_114_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_109_) >>= fun rm =>
+ _mappingpatterns_114_) >>= fun rm =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_WU_D))
+ (rs1, rm, rd, FCVT_L_D))
else
(and_boolM
- (let _mappingpatterns_110_ : mword 3 :=
+ (let _mappingpatterns_115_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_110_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_110_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_110_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_115_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_115_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -22192,7 +22272,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"D20"
+ (Ox"C23"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22201,10 +22281,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__204 : bool =>
+ : bool))) >>= fun w__155 : bool =>
(if
sumbool_of_bool
- w__204
+ w__155
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -22216,38 +22296,33 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_110_ : mword 3 :=
+ let _mappingpatterns_115_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_110_) >>= fun rm =>
+ _mappingpatterns_115_) >>= fun rm =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_W))
+ (rs1, rm, rd, FCVT_LU_D))
else
(and_boolM
- (let _mappingpatterns_111_ : mword 3 :=
+ (let _mappingpatterns_116_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_111_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_111_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_111_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_116_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_116_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -22255,7 +22330,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"D21"
+ (Ox"D22"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22264,10 +22339,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__208 : bool =>
+ : bool))) >>= fun w__158 : bool =>
(if
sumbool_of_bool
- w__208
+ w__158
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -22279,38 +22354,33 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_111_ : mword 3 :=
+ let _mappingpatterns_116_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_111_) >>= fun rm =>
+ _mappingpatterns_116_) >>= fun rm =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_WU))
+ (rs1, rm, rd, FCVT_D_L))
else
(and_boolM
- (let _mappingpatterns_112_ : mword 3 :=
+ (let _mappingpatterns_117_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_112_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_112_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_112_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_117_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_117_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
@@ -22318,7 +22388,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
20)
- (Ox"401"
+ (Ox"D23"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22327,10 +22397,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__212 : bool =>
+ : bool))) >>= fun w__161 : bool =>
(if
sumbool_of_bool
- w__212
+ w__161
then
let rs1 : mword 5 :=
subrange_vec_dec
@@ -22342,59 +22412,53 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_112_ : mword 3 :=
+ let _mappingpatterns_117_ : mword 3 :=
subrange_vec_dec
v__9
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_112_) >>= fun rm =>
+ _mappingpatterns_117_) >>= fun rm =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_S_D))
+ (rs1, rm, rd, FCVT_D_LU))
else
(and_boolM
- (let _mappingpatterns_113_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_113_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_113_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_113_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"420"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__216 : bool =>
+ 25)
+ ('b"0010001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__163 : bool =>
(if
sumbool_of_bool
- w__216
+ w__163
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -22405,59 +22469,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_113_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_113_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_S))
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJ_D))
else
(and_boolM
- (let _mappingpatterns_114_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_114_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_114_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_114_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"C22"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__220 : bool =>
+ 25)
+ ('b"0010001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__165 : bool =>
(if
sumbool_of_bool
- w__220
+ w__165
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -22468,59 +22519,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_114_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_114_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_L_D))
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJN_D))
else
(and_boolM
- (let _mappingpatterns_115_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_115_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_115_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_115_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"C23"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__224 : bool =>
+ 25)
+ ('b"0010001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__167 : bool =>
(if
sumbool_of_bool
- w__224
+ w__167
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -22531,59 +22569,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_115_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_115_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_LU_D))
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJX_D))
else
(and_boolM
- (let _mappingpatterns_116_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_116_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_116_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_116_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D22"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__228 : bool =>
+ 25)
+ ('b"0010101"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__169 : bool =>
(if
sumbool_of_bool
- w__228
+ w__169
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -22594,59 +22619,46 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_116_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_116_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_L))
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FMIN_D))
else
(and_boolM
- (let _mappingpatterns_117_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_117_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_117_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_117_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
v__9
31
- 20)
- (Ox"D23"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__232 : bool =>
+ 25)
+ ('b"0010101"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__9
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__171 : bool =>
(if
sumbool_of_bool
- w__232
+ w__171
then
+ let rs2 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 24
+ 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -22657,15 +22669,8 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- let _mappingpatterns_117_ : mword 3 :=
- subrange_vec_dec
- v__9
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_117_) >>= fun rm =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_LU))
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FMAX_D))
else
(and_boolM
((is_RV32D_or_RV64D
@@ -22677,7 +22682,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010001"
+ ('b"1010001"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -22685,7 +22690,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
14
12)
- ('b"000"
+ ('b"010"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22694,10 +22699,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__234 : bool =>
+ : bool))) >>= fun w__173 : bool =>
(if
sumbool_of_bool
- w__234
+ w__173
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -22715,7 +22720,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJ_D))
+ (rs2, rs1, rd, FEQ_D))
else
(and_boolM
((is_RV32D_or_RV64D
@@ -22727,7 +22732,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010001"
+ ('b"1010001"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -22744,10 +22749,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__236 : bool =>
+ : bool))) >>= fun w__175 : bool =>
(if
sumbool_of_bool
- w__236
+ w__175
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -22765,7 +22770,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJN_D))
+ (rs2, rs1, rd, FLT_D))
else
(and_boolM
((is_RV32D_or_RV64D
@@ -22777,7 +22782,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
31
25)
- ('b"0010001"
+ ('b"1010001"
: mword (31 - 25 + 1)))
(andb
(eq_vec
@@ -22785,7 +22790,7 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22794,10 +22799,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__238 : bool =>
+ : bool))) >>= fun w__177 : bool =>
(if
sumbool_of_bool
- w__238
+ w__177
then
let rs2 : mword 5 :=
subrange_vec_dec
@@ -22815,10 +22820,10 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
11
7 in
returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJX_D))
+ (rs2, rs1, rd, FLE_D))
else
(and_boolM
- ((is_RV32D_or_RV64D
+ ((haveDExt
tt)
: M (bool))
(returnm ((andb
@@ -22826,16 +22831,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"0010101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E20"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"000"
+ ('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22844,16 +22849,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__240 : bool =>
+ : bool))) >>= fun w__179 : bool =>
(if
sumbool_of_bool
- w__240
+ w__179
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -22864,11 +22864,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FMIN_D))
+ returnm (F_UN_TYPE_D
+ (rs1, rd, FCLASS_D))
else
(and_boolM
- ((is_RV32D_or_RV64D
+ ((is_RV64D
tt)
: M (bool))
(returnm ((andb
@@ -22876,16 +22876,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"0010101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E20"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"001"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22894,16 +22894,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__242 : bool =>
+ : bool))) >>= fun w__181 : bool =>
(if
sumbool_of_bool
- w__242
+ w__181
then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
let rs1 : mword 5 :=
subrange_vec_dec
v__9
@@ -22914,11 +22909,11 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
v__9
11
7 in
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FMAX_D))
+ returnm (F_UN_TYPE_D
+ (rs1, rd, FMV_X_D))
else
(and_boolM
- ((is_RV32D_or_RV64D
+ ((is_RV64D
tt)
: M (bool))
(returnm ((andb
@@ -22926,16 +22921,16 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
(subrange_vec_dec
v__9
31
- 25)
- ('b"1010001"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"F20"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
v__9
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
@@ -22944,271 +22939,26 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__244 : bool =>
- (if
- sumbool_of_bool
- w__244
- then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FEQ_D))
- else
- (and_boolM
- ((is_RV32D_or_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 25)
- ('b"1010001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__246 : bool =>
- (if
- sumbool_of_bool
- w__246
- then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FLT_D))
- else
- (and_boolM
- ((is_RV32D_or_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 25)
- ('b"1010001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__248 : bool =>
- (if
- sumbool_of_bool
- w__248
- then
- let rs2 : mword 5 :=
- subrange_vec_dec
- v__9
- 24
- 20 in
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FLE_D))
- else
- (and_boolM
- ((haveDExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 20)
- (Ox"E20"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__250 : bool =>
- (if
- sumbool_of_bool
- w__250
- then
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_UN_TYPE_D
- (rs1, rd, FCLASS_D))
- else
- (and_boolM
- ((is_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 20)
- (Ox"E20"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__252 : bool =>
- (if
- sumbool_of_bool
- w__252
- then
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- returnm (F_UN_TYPE_D
- (rs1, rd, FMV_X_D))
- else
- (and_boolM
- ((is_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 31
- 20)
- (Ox"F20"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__9
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__9
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__254 : bool =>
- returnm (if
- sumbool_of_bool
- w__254
- then
- let rs1 : mword 5 :=
- subrange_vec_dec
- v__9
- 19
- 15 in
- let rd : mword 5 :=
- subrange_vec_dec
- v__9
- 11
- 7 in
- F_UN_TYPE_D
- (rs1, rd, FMV_D_X)
- else
- ILLEGAL
- v__9))
- : M (ast))
- : M (ast))
- : M (ast))
- : M (ast))
- : M (ast))
+ : bool))) >>= fun w__183 : bool =>
+ returnm (if
+ sumbool_of_bool
+ w__183
+ then
+ let rs1 : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 19
+ 15 in
+ let rd : mword 5 :=
+ subrange_vec_dec
+ v__9
+ 11
+ 7 in
+ F_UN_TYPE_D
+ (rs1, rd, FMV_D_X)
+ else
+ ILLEGAL
+ v__9))
: M (ast))
: M (ast))
: M (ast))
@@ -23283,12 +23033,12 @@ Definition encdec_backwards (arg_ : mword 32) : M (ast) :=
Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
(match arg_ with
| UTYPE (imm, rd, op) => returnm true
- | RISCV_JAL (v__456, rd) =>
- returnm (if eq_vec (subrange_vec_dec v__456 0 0) ('b"0" : mword (0 - 0 + 1)) then true
+ | RISCV_JAL (v__462, rd) =>
+ returnm (if eq_vec (subrange_vec_dec v__462 0 0) ('b"0" : mword (0 - 0 + 1)) then true
else false)
| RISCV_JALR (imm, rs1, rd) => returnm true
- | BTYPE (v__458, rs2, rs1, op) =>
- returnm (if eq_vec (subrange_vec_dec v__458 0 0) ('b"0" : mword (0 - 0 + 1)) then true
+ | BTYPE (v__464, rs2, rs1, op) =>
+ returnm (if eq_vec (subrange_vec_dec v__464 0 0) ('b"0" : mword (0 - 0 + 1)) then true
else false)
| ITYPE (imm, rs1, rd, op) => returnm true
| SHIFTIOP (shamt, rs1, rd, RISCV_SLLI) => returnm true
@@ -23311,7 +23061,7 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
then
true
else false)
- | STORE (v__460, rs2, rs1, size, false, false) =>
+ | STORE (v__466, rs2, rs1, size, false, false) =>
returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 8) then true else false)
| ADDIW (imm, rs1, rd) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
| SHIFTW (shamt, rs1, rd, RISCV_SLLI) =>
@@ -23345,12 +23095,10 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
| EBREAK tt => returnm true
| WFI tt => returnm true
| SFENCE_VMA (rs1, rs2) => returnm true
- | LOADRES (aq, rl, rs1, size, rd) =>
- returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 8) then true else false)
+ | LOADRES (aq, rl, rs1, size, rd) => returnm (if amo_width_valid size then true else false)
| STORECON (aq, rl, rs2, rs1, size, rd) =>
- returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 8) then true else false)
- | AMO (op, aq, rl, rs2, rs1, size, rd) =>
- returnm (if sumbool_of_bool (Z.leb (projT1 (word_width_bytes size)) 8) then true else false)
+ returnm (if amo_width_valid size then true else false)
+ | AMO (op, aq, rl, rs2, rs1, size, rd) => returnm (if amo_width_valid size then true else false)
| MUL (rs2, rs1, rd, high, signed1, signed2) => returnm true
| DIV (rs2, rs1, rd, s) => returnm true
| REM (rs2, rs1, rd, s) => returnm true
@@ -23359,16 +23107,27 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
| REMW (rs2, rs1, rd, s) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
| CSR (csr, rs1, rd, is_imm, op) => returnm true
| URET tt => returnm true
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ returnm (if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5)))
+ then
+ true
+ else false)
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ returnm (if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg))
+ then
+ true
+ else false)
| LOAD_FP (imm, rs1, rd, WORD) =>
(is_RV32F_or_RV64F tt) >>= fun w__0 : bool =>
returnm (if sumbool_of_bool w__0 then true else false)
| LOAD_FP (imm, rs1, rd, DOUBLE) =>
(is_RV32D_or_RV64D tt) >>= fun w__1 : bool =>
returnm (if sumbool_of_bool w__1 then true else false)
- | STORE_FP (v__461, rs2, rs1, WORD) =>
+ | STORE_FP (v__467, rs2, rs1, WORD) =>
(is_RV32F_or_RV64F tt) >>= fun w__2 : bool =>
returnm (if sumbool_of_bool w__2 then true else false)
- | STORE_FP (v__462, rs2, rs1, DOUBLE) =>
+ | STORE_FP (v__468, rs2, rs1, DOUBLE) =>
(is_RV32D_or_RV64D tt) >>= fun w__3 : bool =>
returnm (if sumbool_of_bool w__3 then true else false)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, FMADD_S) =>
@@ -23537,1487 +23296,1290 @@ Definition encdec_forwards_matches (arg_ : ast) : M (bool) :=
: M (bool).
Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
- let v__463 := arg_ in
- let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__463 6 0 in
- (and_boolM (returnm ((encdec_uop_backwards_matches _mappingpatterns_0_) : bool))
- ((if encdec_uop_backwards_matches _mappingpatterns_0_ then
- (encdec_uop_backwards _mappingpatterns_0_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool))) >>= fun w__1 : bool =>
- (if sumbool_of_bool w__1 then
- let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__463 6 0 in
+ let v__469 := arg_ in
+ (if let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__469 6 0 in
+ encdec_uop_backwards_matches _mappingpatterns_0_ then
+ let _mappingpatterns_0_ : mword 7 := subrange_vec_dec v__469 6 0 in
(encdec_uop_backwards _mappingpatterns_0_) >>= fun op => returnm true
- else if eq_vec (subrange_vec_dec v__463 6 0) ('b"1101111" : mword (6 - 0 + 1)) then
+ else if eq_vec (subrange_vec_dec v__469 6 0) ('b"1101111" : mword (6 - 0 + 1)) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"1100111" : mword (6 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"1100111" : mword (6 - 0 + 1))) then
+ returnm true
+ else if andb
+ (let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__469 14 12 in
+ encdec_bop_backwards_matches _mappingpatterns_1_)
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"1100011" : mword (6 - 0 + 1))) then
+ let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__469 14 12 in
+ (encdec_bop_backwards _mappingpatterns_1_) >>= fun op => returnm true
+ else if andb
+ (let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__469 14 12 in
+ encdec_iop_backwards_matches _mappingpatterns_2_)
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0010011" : mword (6 - 0 + 1))) then
+ let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__469 14 12 in
+ (encdec_iop_backwards _mappingpatterns_2_) >>= fun op => returnm true
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__469 25 20 in
+ orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__469 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ returnm true
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__469 25 20 in
+ orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__469 31 26) ('b"000000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ returnm true
+ else if sumbool_of_bool
+ (andb
+ (let shamt : mword 6 := subrange_vec_dec v__469 25 20 in
+ orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
+ (andb (eq_vec (subrange_vec_dec v__469 31 26) ('b"010000" : mword (31 - 26 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0010011" : mword (6 - 0 + 1)))))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"010" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"011" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"111" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"110" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"100" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0110011" : mword (6 - 0 + 1)))) then
returnm true
else
(and_boolM
- (let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__463 14 12 in
- (and_boolM (returnm ((encdec_bop_backwards_matches _mappingpatterns_1_) : bool))
- ((if encdec_bop_backwards_matches _mappingpatterns_1_ then
- (encdec_bop_backwards _mappingpatterns_1_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__469 14 14 in
+ (if size_bits_backwards_matches _mappingpatterns_4_ then
+ (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_3_ then
+ (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned =>
+ returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 8)
+ (andb (negb is_unsigned)
+ ((Z.leb (projT1 (word_width_bytes size)) 8)
+ : bool)))
+ : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__463 6 0) ('b"1100011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__4 : bool =>
- (if sumbool_of_bool w__4 then
- let _mappingpatterns_1_ : mword 3 := subrange_vec_dec v__463 14 12 in
- (encdec_bop_backwards _mappingpatterns_1_) >>= fun op => returnm true
+ (returnm ((eq_vec (subrange_vec_dec v__469 6 0) ('b"0000011" : mword (6 - 0 + 1)))
+ : bool))) >>= fun w__2 : bool =>
+ (if sumbool_of_bool w__2 then
+ let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__469 14 14 in
+ (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned => returnm true
else
(and_boolM
- (let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__463 14 12 in
- (and_boolM (returnm ((encdec_iop_backwards_matches _mappingpatterns_2_) : bool))
- ((if encdec_iop_backwards_matches _mappingpatterns_2_ then
- (encdec_iop_backwards _mappingpatterns_2_) >>= fun op => returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ (if size_bits_backwards_matches _mappingpatterns_5_ then
+ (size_bits_backwards _mappingpatterns_5_) >>= fun size =>
+ returnm ((Z.leb (projT1 (word_width_bytes size)) 8) : bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__463 6 0) ('b"0010011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__7 : bool =>
- (if sumbool_of_bool w__7 then
- let _mappingpatterns_2_ : mword 3 := subrange_vec_dec v__463 14 12 in
- (encdec_iop_backwards _mappingpatterns_2_) >>= fun op => returnm true
+ (returnm ((andb (eq_vec (subrange_vec_dec v__469 14 14) ('b"0" : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0100011" : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__4 : bool =>
+ (if sumbool_of_bool w__4 then
+ let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ (size_bits_backwards _mappingpatterns_5_) >>= fun size => returnm true
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__463 25 20 in
- orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__463 31 26) ('b"000000" : mword (31 - 26 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0010011" : mword (6 - 0 + 1))))))
- then
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0011011" : mword (6 - 0 + 1))))) then
returnm true
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__463 25 20 in
- orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__463 31 26) ('b"000000" : mword (31 - 26 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0010011" : mword (6 - 0 + 1))))))
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
else if sumbool_of_bool
- (andb
- (let shamt : mword 6 := subrange_vec_dec v__463 25 20 in
- orb (Z.eqb 64 64) (eq_bit (access_vec_dec shamt 5) B0))
- (andb (eq_vec (subrange_vec_dec v__463 31 26) ('b"010000" : mword (31 - 26 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0010011" : mword (6 - 0 + 1))))))
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"010" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"011" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"000" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"111" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"110" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"100" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"001" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0000000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0100000" : mword (31 - 25 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__469 14 12) ('b"101" : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0110011" : mword (6 - 0 + 1))))
- then
+ else if andb (eq_vec (subrange_vec_dec v__469 31 28) (Ox"0" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__469 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 28) (Ox"8" : mword (31 - 28 + 1)))
+ (eq_vec (subrange_vec_dec v__469 19 0) (Ox"0000F" : mword (19 - 0 + 1))) then
+ returnm true
+ else if eq_vec v__469 (Ox"0000100F" : mword 32) then returnm true
+ else if eq_vec v__469 (Ox"00000073" : mword 32) then returnm true
+ else if eq_vec v__469 (Ox"30200073" : mword 32) then returnm true
+ else if eq_vec v__469 (Ox"10200073" : mword 32) then returnm true
+ else if eq_vec v__469 (Ox"00100073" : mword 32) then returnm true
+ else if eq_vec v__469 (Ox"10500073" : mword 32) then returnm true
+ else if andb (eq_vec (subrange_vec_dec v__469 31 25) ('b"0001001" : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__469 14 0)
+ ('b"000000001110011"
+ : mword (14 - 0 + 1))) then
returnm true
else
(and_boolM
- (let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__463 14 14 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_4_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_4_ then
- (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_3_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_3_ then
- (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned =>
- returnm ((orb (Z.ltb (projT1 (word_width_bytes size)) 8)
- (andb (negb is_unsigned)
- ((Z.leb (projT1 (word_width_bytes size)) 8)
- : bool)))
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__469 25 25 in
+ let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__469 26 26 in
+ (if size_bits_backwards_matches _mappingpatterns_8_ then
+ (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_7_ then
+ (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_6_ then
+ (bool_bits_backwards _mappingpatterns_6_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__463 6 0) ('b"0000011" : mword (6 - 0 + 1)))
- : bool))) >>= fun w__12 : bool =>
- (if sumbool_of_bool w__12 then
- let _mappingpatterns_4_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_3_ : mword 1 := subrange_vec_dec v__463 14 14 in
- (size_bits_backwards _mappingpatterns_4_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_3_) >>= fun is_unsigned => returnm true
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__469 31 27)
+ ('b"00010"
+ : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 24 20)
+ ('b"00000"
+ : mword (24 - 20 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))))
+ : bool))) >>= fun w__8 : bool =>
+ (if sumbool_of_bool w__8 then
+ let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__469 25 25 in
+ let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__469 26 26 in
+ (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_6_) >>= fun aq => returnm true
else
(and_boolM
- (let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__463 13 12 in
- (and_boolM (returnm ((size_bits_backwards_matches _mappingpatterns_5_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_5_ then
- (size_bits_backwards _mappingpatterns_5_) >>= fun size =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 8) : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__469 26 26 in
+ let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__469 25 25 in
+ (if size_bits_backwards_matches _mappingpatterns_11_ then
+ (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_10_ then
+ (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_9_ then
+ (bool_bits_backwards _mappingpatterns_9_) >>= fun aq =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0100011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__15 : bool =>
- (if sumbool_of_bool w__15 then
- let _mappingpatterns_5_ : mword 2 := subrange_vec_dec v__463 13 12 in
- (size_bits_backwards _mappingpatterns_5_) >>= fun size => returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__463 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0011011" : mword (6 - 0 + 1)))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"000" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0111011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"001" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0000000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25) ('b"0100000" : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12) ('b"101" : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0) ('b"0011011" : mword (6 - 0 + 1))))))
- then
- returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 28) (Ox"0" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__463 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- returnm true
- else if andb (eq_vec (subrange_vec_dec v__463 31 28) (Ox"8" : mword (31 - 28 + 1)))
- (eq_vec (subrange_vec_dec v__463 19 0) (Ox"0000F" : mword (19 - 0 + 1)))
- then
- returnm true
- else if eq_vec v__463 (Ox"0000100F" : mword 32) then returnm true
- else if eq_vec v__463 (Ox"00000073" : mword 32) then returnm true
- else if eq_vec v__463 (Ox"30200073" : mword 32) then returnm true
- else if eq_vec v__463 (Ox"10200073" : mword 32) then returnm true
- else if eq_vec v__463 (Ox"00100073" : mword 32) then returnm true
- else if eq_vec v__463 (Ox"10500073" : mword 32) then returnm true
- else if andb
- (eq_vec (subrange_vec_dec v__463 31 25)
- ('b"0001001"
- : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__463 14 0)
- ('b"000000001110011"
- : mword (14 - 0 + 1))) then
- returnm true
+ (eq_vec (subrange_vec_dec v__469 31 27)
+ ('b"00011"
+ : mword (31 - 27 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__12 : bool =>
+ (if sumbool_of_bool w__12 then
+ let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__469 26 26 in
+ let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__469 25 25 in
+ (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_9_) >>= fun aq => returnm true
else
(and_boolM
- (let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__463 25 25 in
- let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__463 26 26 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_8_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_8_ then
- (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_7_) : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_7_ then
- (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_6_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_6_ then
- (bool_bits_backwards _mappingpatterns_6_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 8)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__469 31 27 in
+ let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__469 25 25 in
+ let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__469 26 26 in
+ let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__469 31 27 in
+ (if size_bits_backwards_matches _mappingpatterns_15_ then
+ (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
+ (if bool_bits_backwards_matches _mappingpatterns_14_ then
+ (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
+ (if bool_bits_backwards_matches _mappingpatterns_13_ then
+ (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
+ (if encdec_amoop_backwards_matches _mappingpatterns_12_ then
+ (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op =>
+ returnm ((amo_width_valid size) : bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 31 27)
- ('b"00010"
- : mword (31 - 27 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 24 20)
- ('b"00000"
- : mword (24 - 20 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))))
- : bool))) >>= fun w__22 : bool =>
- (if sumbool_of_bool w__22 then
- let _mappingpatterns_8_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_7_ : mword 1 := subrange_vec_dec v__463 25 25 in
- let _mappingpatterns_6_ : mword 1 := subrange_vec_dec v__463 26 26 in
- (size_bits_backwards _mappingpatterns_8_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_7_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_6_) >>= fun aq => returnm true
+ (eq_vec (subrange_vec_dec v__469 14 14)
+ ('b"0"
+ : mword (14 - 14 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0101111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__17 : bool =>
+ (if sumbool_of_bool w__17 then
+ let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__469 31 27 in
+ let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__469 25 25 in
+ let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__469 26 26 in
+ let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__469 31 27 in
+ (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
+ (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
+ (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
+ (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op => returnm true
+ else if andb
+ (let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__469 14 12 in
+ encdec_mul_op_backwards_matches _mappingpatterns_16_)
+ (andb
+ (eq_vec (subrange_vec_dec v__469 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1)))) then
+ let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__469 14 12 in
+ (encdec_mul_op_backwards _mappingpatterns_16_) >>= fun '(high, signed1, signed2) =>
+ returnm true
+ else if andb
+ (let _mappingpatterns_17_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_17_)
+ (andb
+ (eq_vec (subrange_vec_dec v__469 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let _mappingpatterns_17_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_17_) >>= fun s => returnm true
+ else if andb
+ (let _mappingpatterns_18_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ bool_not_bits_backwards_matches _mappingpatterns_18_)
+ (andb
+ (eq_vec (subrange_vec_dec v__469 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0110011"
+ : mword (6 - 0 + 1))))) then
+ let _mappingpatterns_18_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_18_) >>= fun s => returnm true
+ else if sumbool_of_bool
+ (andb (Z.eqb 64 64)
+ (andb
+ (eq_vec (subrange_vec_dec v__469 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0111011"
+ : mword (6 - 0 + 1)))))) then
+ returnm true
else
(and_boolM
- (let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__463 26 26 in
- let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__463 25 25 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_11_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_11_ then
- (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_10_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_10_ then
- (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_9_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_9_ then
- (bool_bits_backwards _mappingpatterns_9_) >>= fun aq =>
- returnm ((Z.leb (projT1 (word_width_bytes size)) 8)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_19_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_19_ then
+ (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s =>
+ returnm ((Z.eqb 64 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 31 27)
- ('b"00011"
- : mword (31 - 27 + 1)))
+ (eq_vec (subrange_vec_dec v__469 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
(andb
- (eq_vec (subrange_vec_dec v__463 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0101111"
+ (eq_vec (subrange_vec_dec v__469 14 13)
+ ('b"10"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0111011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__29 : bool =>
- (if sumbool_of_bool w__29 then
- let _mappingpatterns_9_ : mword 1 := subrange_vec_dec v__463 26 26 in
- let _mappingpatterns_11_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_10_ : mword 1 := subrange_vec_dec v__463 25 25 in
- (size_bits_backwards _mappingpatterns_11_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_10_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_9_) >>= fun aq => returnm true
+ : bool))) >>= fun w__19 : bool =>
+ (if sumbool_of_bool w__19 then
+ let _mappingpatterns_19_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s => returnm true
else
(and_boolM
- (let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__463 31 27 in
- let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__463 25 25 in
- let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__463 26 26 in
- let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__463 31 27 in
- (and_boolM
- (returnm ((size_bits_backwards_matches _mappingpatterns_15_) : bool))
- ((if size_bits_backwards_matches _mappingpatterns_15_ then
- (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches _mappingpatterns_14_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_14_ then
- (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_13_)
- : bool))
- ((if bool_bits_backwards_matches _mappingpatterns_13_
- then
- (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
- (and_boolM
- (returnm ((encdec_amoop_backwards_matches
- _mappingpatterns_12_)
- : bool))
- ((if encdec_amoop_backwards_matches
- _mappingpatterns_12_ then
- (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op =>
- returnm ((Z.leb
- (projT1
- (word_width_bytes size)) 8)
- : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_20_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ (if bool_not_bits_backwards_matches _mappingpatterns_20_ then
+ (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s =>
+ returnm ((Z.eqb 64 64) : bool)
+ else returnm false)
: M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 14 14)
- ('b"0"
- : mword (14 - 14 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0101111"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__38 : bool =>
- (if sumbool_of_bool w__38 then
- let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__463 31 27 in
- let _mappingpatterns_15_ : mword 2 := subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_14_ : mword 1 := subrange_vec_dec v__463 25 25 in
- let _mappingpatterns_13_ : mword 1 := subrange_vec_dec v__463 26 26 in
- let _mappingpatterns_12_ : mword 5 := subrange_vec_dec v__463 31 27 in
- (size_bits_backwards _mappingpatterns_15_) >>= fun size =>
- (bool_bits_backwards _mappingpatterns_14_) >>= fun rl =>
- (bool_bits_backwards _mappingpatterns_13_) >>= fun aq =>
- (encdec_amoop_backwards _mappingpatterns_12_) >>= fun op => returnm true
+ (eq_vec (subrange_vec_dec v__469 31 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 13)
+ ('b"11"
+ : mword (14 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0111011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__21 : bool =>
+ (if sumbool_of_bool w__21 then
+ let _mappingpatterns_20_ : mword 1 := subrange_vec_dec v__469 12 12 in
+ (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s => returnm true
else
(and_boolM
- (let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__463 14 12 in
- (and_boolM
- (returnm ((encdec_mul_op_backwards_matches _mappingpatterns_16_)
- : bool))
- ((if encdec_mul_op_backwards_matches _mappingpatterns_16_ then
- (encdec_mul_op_backwards _mappingpatterns_16_) >>= fun '(high, signed1, signed2) =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_22_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_21_ : mword 1 := subrange_vec_dec v__469 14 14 in
+ (if encdec_csrop_backwards_matches _mappingpatterns_22_ then
+ (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
+ returnm ((bool_bits_backwards_matches _mappingpatterns_21_)
+ : bool)
+ else returnm false)
: M (bool))
- (returnm ((andb
- (eq_vec (subrange_vec_dec v__463 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__41 : bool =>
- (if sumbool_of_bool w__41 then
- let _mappingpatterns_16_ : mword 3 := subrange_vec_dec v__463 14 12 in
- (encdec_mul_op_backwards _mappingpatterns_16_) >>= fun '(high, signed1, signed2) =>
+ (returnm ((eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"1110011"
+ : mword (6 - 0 + 1)))
+ : bool))) >>= fun w__23 : bool =>
+ (if sumbool_of_bool w__23 then
+ let _mappingpatterns_22_ : mword 2 := subrange_vec_dec v__469 13 12 in
+ let _mappingpatterns_21_ : mword 1 := subrange_vec_dec v__469 14 14 in
+ (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
+ (bool_bits_backwards _mappingpatterns_21_) >>= fun is_imm =>
+ returnm true
+ else if eq_vec v__469 (Ox"00200073" : mword 32) then returnm true
+ else if andb
+ (let fm : bits 4 := subrange_vec_dec v__469 31 28 in
+ let rs : regidx := subrange_vec_dec v__469 19 15 in
+ let rd : regidx := subrange_vec_dec v__469 11 7 in
+ let fm : bits 4 := subrange_vec_dec v__469 31 28 in
+ orb
+ (andb (neq_vec fm (Ox"0" : mword 4))
+ (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5))
+ (neq_vec rd ('b"00000" : mword 5))))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let imm : bits 12 := subrange_vec_dec v__469 31 20 in
+ let rs : regidx := subrange_vec_dec v__469 19 15 in
+ let rd : regidx := subrange_vec_dec v__469 11 7 in
+ let imm : bits 12 := subrange_vec_dec v__469 31 20 in
+ orb (neq_vec imm (Ox"000" : mword 12))
+ (orb (neq_vec rs zreg) (neq_vec rd zreg)))
+ (andb
+ (eq_vec (subrange_vec_dec v__469 14 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0001111"
+ : mword (6 - 0 + 1)))) then
returnm true
else
- (and_boolM
- (let _mappingpatterns_17_ : mword 1 :=
- subrange_vec_dec v__463 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches _mappingpatterns_17_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_17_ then
- (bool_not_bits_backwards _mappingpatterns_17_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__44 : bool =>
- (if sumbool_of_bool w__44 then
- let _mappingpatterns_17_ : mword 1 := subrange_vec_dec v__463 12 12 in
- (bool_not_bits_backwards _mappingpatterns_17_) >>= fun s =>
- returnm true
+ (eq_vec (subrange_vec_dec v__469 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__25 : bool =>
+ (if sumbool_of_bool w__25 then returnm true
else
- (and_boolM
- (let _mappingpatterns_18_ : mword 1 :=
- subrange_vec_dec v__463 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_18_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_18_
- then
- (bool_not_bits_backwards _mappingpatterns_18_) >>= fun s =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0110011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__47 : bool =>
- (if sumbool_of_bool w__47 then
- let _mappingpatterns_18_ : mword 1 :=
- subrange_vec_dec v__463 12 12 in
- (bool_not_bits_backwards _mappingpatterns_18_) >>= fun s =>
- returnm true
- else if sumbool_of_bool
- (andb (Z.eqb 64 64)
- (andb
- (eq_vec (subrange_vec_dec v__463 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))) then
- returnm true
+ (eq_vec (subrange_vec_dec v__469 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__27 : bool =>
+ (if sumbool_of_bool w__27 then returnm true
else
- (and_boolM
- (let _mappingpatterns_19_ : mword 1 :=
- subrange_vec_dec v__463 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_19_)
- : bool))
- ((if bool_not_bits_backwards_matches _mappingpatterns_19_
- then
- (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s =>
- returnm ((Z.eqb 64 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 13)
- ('b"10"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__50 : bool =>
- (if sumbool_of_bool w__50 then
- let _mappingpatterns_19_ : mword 1 :=
- subrange_vec_dec v__463 12 12 in
- (bool_not_bits_backwards _mappingpatterns_19_) >>= fun s =>
- returnm true
+ (eq_vec (subrange_vec_dec v__469 14 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__29 : bool =>
+ (if sumbool_of_bool w__29 then returnm true
else
- (and_boolM
- (let _mappingpatterns_20_ : mword 1 :=
- subrange_vec_dec v__463 12 12 in
- (and_boolM
- (returnm ((bool_not_bits_backwards_matches
- _mappingpatterns_20_)
- : bool))
- ((if bool_not_bits_backwards_matches
- _mappingpatterns_20_ then
- (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s =>
- returnm ((Z.eqb 64 64) : bool)
- else returnm false)
- : M (bool)))
- : M (bool))
+ (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 31 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec (subrange_vec_dec v__463 14 13)
- ('b"11"
- : mword (14 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0111011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__53 : bool =>
- (if sumbool_of_bool w__53 then
- let _mappingpatterns_20_ : mword 1 :=
- subrange_vec_dec v__463 12 12 in
- (bool_not_bits_backwards _mappingpatterns_20_) >>= fun s =>
- returnm true
+ (eq_vec (subrange_vec_dec v__469 14 12)
+ ('b"011"
+ : mword (14 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"0100111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__31 : bool =>
+ (if sumbool_of_bool w__31 then returnm true
else
(and_boolM
- (let _mappingpatterns_22_ : mword 2 :=
- subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_21_ : mword 1 :=
- subrange_vec_dec v__463 14 14 in
- (and_boolM
- (returnm ((encdec_csrop_backwards_matches
- _mappingpatterns_22_)
- : bool))
- ((if encdec_csrop_backwards_matches
- _mappingpatterns_22_ then
- (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
- (and_boolM
- (returnm ((bool_bits_backwards_matches
- _mappingpatterns_21_)
- : bool))
- ((if bool_bits_backwards_matches
- _mappingpatterns_21_ then
- (bool_bits_backwards _mappingpatterns_21_) >>= fun is_imm =>
- returnm (true : bool)
- else returnm false)
- : M (bool)))
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_23_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_23_ then
+ (encdec_rounding_mode_backwards _mappingpatterns_23_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
- (returnm ((eq_vec (subrange_vec_dec v__463 6 0)
- ('b"1110011"
- : mword (6 - 0 + 1)))
- : bool))) >>= fun w__58 : bool =>
- (if sumbool_of_bool w__58 then
- let _mappingpatterns_22_ : mword 2 :=
- subrange_vec_dec v__463 13 12 in
- let _mappingpatterns_21_ : mword 1 :=
- subrange_vec_dec v__463 14 14 in
- (encdec_csrop_backwards _mappingpatterns_22_) >>= fun op =>
- (bool_bits_backwards _mappingpatterns_21_) >>= fun is_imm =>
- returnm true
- else if eq_vec v__463 (Ox"00200073" : mword 32) then
+ (returnm ((andb
+ (eq_vec (subrange_vec_dec v__469 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"1000011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__34 : bool =>
+ (if sumbool_of_bool w__34 then
+ let _mappingpatterns_23_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_23_) >>= fun rm =>
returnm true
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_24_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_24_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_24_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
- (eq_vec (subrange_vec_dec v__463 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__463 6 0)
- ('b"0000111"
+ (eq_vec (subrange_vec_dec v__469 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
+ (eq_vec (subrange_vec_dec v__469 6 0)
+ ('b"1000111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__60 : bool =>
- (if sumbool_of_bool w__60 then returnm true
+ : bool))) >>= fun w__37 : bool =>
+ (if sumbool_of_bool w__37 then
+ let _mappingpatterns_24_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (encdec_rounding_mode_backwards _mappingpatterns_24_) >>= fun rm =>
+ returnm true
else
- (and_boolM ((is_RV32D_or_RV64D tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_25_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_25_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_25_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__463 14 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__469 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__463 6 0)
- ('b"0000111"
+ (subrange_vec_dec v__469 6 0)
+ ('b"1001011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__62 : bool =>
- (if sumbool_of_bool w__62 then returnm true
+ : bool))) >>= fun w__40 : bool =>
+ (if sumbool_of_bool w__40 then
+ let _mappingpatterns_25_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_25_) >>= fun rm =>
+ returnm true
else
- (and_boolM ((is_RV32F_or_RV64F tt) : M (bool))
+ (and_boolM
+ (let _mappingpatterns_26_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_26_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_26_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
+ : M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__463 14 12)
- ('b"010"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__469 26 25)
+ ('b"00"
+ : mword (26 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__463 6 0)
- ('b"0100111"
+ (subrange_vec_dec v__469 6 0)
+ ('b"1001111"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__64 : bool =>
- (if sumbool_of_bool w__64 then returnm true
+ : bool))) >>= fun w__43 : bool =>
+ (if sumbool_of_bool w__43 then
+ let _mappingpatterns_26_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_26_) >>= fun rm =>
+ returnm true
else
(and_boolM
- ((is_RV32D_or_RV64D tt)
+ (let _mappingpatterns_27_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_27_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_27_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__463 14
- 12)
- ('b"011"
- : mword (14 - 12 + 1)))
+ (subrange_vec_dec v__469 31
+ 25)
+ ('b"0000000"
+ : mword (31 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__463 6
+ (subrange_vec_dec v__469 6
0)
- ('b"0100111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__66 : bool =>
- (if sumbool_of_bool w__66 then returnm true
+ : bool))) >>= fun w__46 : bool =>
+ (if sumbool_of_bool w__46 then
+ let _mappingpatterns_27_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_27_) >>= fun rm =>
+ returnm true
else
(and_boolM
- (let _mappingpatterns_23_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_23_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_23_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_23_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_28_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_28_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_28_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
- (subrange_vec_dec v__463
- 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ (subrange_vec_dec v__469
+ 31 25)
+ ('b"0000100"
+ : mword (31 - 25 + 1)))
(eq_vec
- (subrange_vec_dec v__463
+ (subrange_vec_dec v__469
6 0)
- ('b"1000011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__70 : bool =>
- (if sumbool_of_bool w__70 then
- let _mappingpatterns_23_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
+ : bool))) >>= fun w__49 : bool =>
+ (if sumbool_of_bool w__49 then
+ let _mappingpatterns_28_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_23_) >>= fun rm =>
+ _mappingpatterns_28_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_24_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_24_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_24_ then
- (encdec_rounding_mode_backwards
- _mappingpatterns_24_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_29_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_29_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_29_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__469 31 25)
+ ('b"0001000"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
- v__463 6 0)
- ('b"1000111"
+ v__469 6 0)
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__74 : bool =>
- (if sumbool_of_bool w__74 then
- let _mappingpatterns_24_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
+ : bool))) >>= fun w__52 : bool =>
+ (if sumbool_of_bool w__52 then
+ let _mappingpatterns_29_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_24_) >>= fun rm =>
+ _mappingpatterns_29_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_25_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_25_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_25_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_25_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_30_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_30_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_30_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__469 31 25)
+ ('b"0001100"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
- v__463 6 0)
- ('b"1001011"
+ v__469 6 0)
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__78 : bool =>
- (if sumbool_of_bool w__78 then
- let _mappingpatterns_25_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
+ : bool))) >>= fun w__55 : bool =>
+ (if sumbool_of_bool w__55 then
+ let _mappingpatterns_30_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_25_) >>= fun rm =>
+ _mappingpatterns_30_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_26_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_26_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_26_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_26_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (let _mappingpatterns_31_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_31_ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_31_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463 26 25)
- ('b"00"
- : mword (26 - 25 + 1)))
+ v__469 31 20)
+ (Ox"580"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463 6 0)
- ('b"1001111"
+ v__469 6 0)
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__82 : bool =>
- (if sumbool_of_bool w__82 then
- let _mappingpatterns_26_ : mword 3 :=
- subrange_vec_dec v__463 14 12 in
+ : bool))) >>= fun w__58 : bool =>
+ (if sumbool_of_bool w__58 then
+ let _mappingpatterns_31_ : mword 3 :=
+ subrange_vec_dec v__469 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_26_) >>= fun rm =>
+ _mappingpatterns_31_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_27_ : mword 3 :=
- subrange_vec_dec v__463 14
+ (let _mappingpatterns_32_ : mword 3 :=
+ subrange_vec_dec v__469 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_27_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_27_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_27_) >>= fun rm =>
- (is_RV32F_or_RV64F tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_32_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_32_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463 31
- 25)
- ('b"0000000"
- : mword (31 - 25 + 1)))
+ v__469 31
+ 20)
+ (Ox"C00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463 6
+ v__469 6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__86 : bool =>
- (if sumbool_of_bool w__86 then
- let _mappingpatterns_27_ : mword 3 :=
- subrange_vec_dec v__463 14
+ : bool))) >>= fun w__61 : bool =>
+ (if sumbool_of_bool w__61 then
+ let _mappingpatterns_32_ : mword 3 :=
+ subrange_vec_dec v__469 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_27_) >>= fun rm =>
+ _mappingpatterns_32_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_28_ : mword 3 :=
- subrange_vec_dec v__463
+ (let _mappingpatterns_33_ : mword 3 :=
+ subrange_vec_dec v__469
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_28_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_28_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_28_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_33_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_33_) >>= fun rm =>
+ (is_RV32F_or_RV64F tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 31 25)
- ('b"0000100"
- : mword (31 - 25 + 1)))
+ v__469
+ 31 20)
+ (Ox"C01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__90 : bool =>
+ : bool))) >>= fun w__64 : bool =>
(if sumbool_of_bool
- w__90 then
- let _mappingpatterns_28_ : mword 3 :=
- subrange_vec_dec v__463
+ w__64 then
+ let _mappingpatterns_33_ : mword 3 :=
+ subrange_vec_dec v__469
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_28_) >>= fun rm =>
+ _mappingpatterns_33_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_29_ : mword 3 :=
+ (let _mappingpatterns_34_ : mword 3 :=
subrange_vec_dec
- v__463 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_29_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_29_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_29_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_34_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_34_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0001000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D00"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6 0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__94 : bool =>
+ : bool))) >>= fun w__67 : bool =>
(if sumbool_of_bool
- w__94 then
- let _mappingpatterns_29_ : mword 3 :=
+ w__67 then
+ let _mappingpatterns_34_ : mword 3 :=
subrange_vec_dec
- v__463 14 12 in
+ v__469 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_29_) >>= fun rm =>
+ _mappingpatterns_34_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_30_ : mword 3 :=
+ (let _mappingpatterns_35_ : mword 3 :=
subrange_vec_dec
- v__463 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_30_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_30_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_30_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_35_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_35_) >>= fun rm =>
+ (is_RV32F_or_RV64F
+ tt)
+ : M (bool)
+ else returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0001100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D01"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__98 : bool =>
+ : bool))) >>= fun w__70 : bool =>
(if sumbool_of_bool
- w__98 then
- let _mappingpatterns_30_ : mword 3 :=
+ w__70 then
+ let _mappingpatterns_35_ : mword 3 :=
subrange_vec_dec
- v__463 14 12 in
+ v__469 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_30_) >>= fun rm =>
+ _mappingpatterns_35_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_31_ : mword 3 :=
+ (let _mappingpatterns_36_ : mword 3 :=
subrange_vec_dec
- v__463 14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_31_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_31_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_31_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ v__469 14 12 in
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_36_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_36_) >>= fun rm =>
+ (is_RV64F tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"580"
+ (Ox"C02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__102 : bool =>
+ : bool))) >>= fun w__73 : bool =>
(if sumbool_of_bool
- w__102 then
- let _mappingpatterns_31_ : mword 3 :=
+ w__73 then
+ let _mappingpatterns_36_ : mword 3 :=
subrange_vec_dec
- v__463 14 12 in
+ v__469 14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_31_) >>= fun rm =>
+ _mappingpatterns_36_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_32_ : mword 3 :=
+ (let _mappingpatterns_37_ : mword 3 :=
subrange_vec_dec
- v__463 14
+ v__469 14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_32_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_32_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_32_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_37_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_37_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"C00"
+ (Ox"C03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__106 : bool =>
+ : bool))) >>= fun w__76 : bool =>
(if sumbool_of_bool
- w__106 then
- let _mappingpatterns_32_ : mword 3 :=
+ w__76 then
+ let _mappingpatterns_37_ : mword 3 :=
subrange_vec_dec
- v__463 14
+ v__469 14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_32_) >>= fun rm =>
+ _mappingpatterns_37_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_33_ : mword 3 :=
+ (let _mappingpatterns_38_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_33_)
- : bool))
- ((if encdec_rounding_mode_backwards_matches
- _mappingpatterns_33_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_33_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_38_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_38_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"C01"
+ (Ox"D02"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__110 : bool =>
+ : bool))) >>= fun w__79 : bool =>
(if sumbool_of_bool
- w__110
- then
- let _mappingpatterns_33_ : mword 3 :=
+ w__79 then
+ let _mappingpatterns_38_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14 12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_33_) >>= fun rm =>
+ _mappingpatterns_38_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_34_ : mword 3 :=
+ (let _mappingpatterns_39_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_34_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_34_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_34_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if encdec_rounding_mode_backwards_matches
+ _mappingpatterns_39_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_39_) >>= fun rm =>
+ (is_RV64F
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"D00"
+ (Ox"D03"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__114 : bool =>
+ : bool))) >>= fun w__82 : bool =>
(if sumbool_of_bool
- w__114
+ w__82
then
- let _mappingpatterns_34_ : mword 3 :=
+ let _mappingpatterns_39_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_34_) >>= fun rm =>
+ _mappingpatterns_39_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_35_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_35_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_35_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_35_) >>= fun rm =>
- (is_RV32F_or_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"D01"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__118 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__84 : bool =>
(if sumbool_of_bool
- w__118
+ w__84
then
- let _mappingpatterns_35_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_35_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_36_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_36_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_36_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_36_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"C02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__122 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__86 : bool =>
(if sumbool_of_bool
- w__122
+ w__86
then
- let _mappingpatterns_36_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_36_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_37_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_37_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_37_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_37_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"C03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__126 : bool =>
+ 25)
+ ('b"0010000"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__88 : bool =>
(if
sumbool_of_bool
- w__126
+ w__88
then
- let _mappingpatterns_37_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_37_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_38_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_38_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_38_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_38_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"D02"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__130 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__90 : bool =>
(if
sumbool_of_bool
- w__130
+ w__90
then
- let _mappingpatterns_38_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_38_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_39_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_39_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_39_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_39_) >>= fun rm =>
- (is_RV64F
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32F_or_RV64F
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"D03"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__134 : bool =>
+ 25)
+ ('b"0010100"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__92 : bool =>
(if
sumbool_of_bool
- w__134
+ w__92
then
- let _mappingpatterns_39_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_39_) >>= fun rm =>
returnm true
else
(and_boolM
@@ -25027,30 +24589,30 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"000"
+ ('b"010"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__136 : bool =>
+ : bool))) >>= fun w__94 : bool =>
(if
sumbool_of_bool
- w__136
+ w__94
then
returnm true
else
@@ -25061,30 +24623,30 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__138 : bool =>
+ : bool))) >>= fun w__96 : bool =>
(if
sumbool_of_bool
- w__138
+ w__96
then
returnm true
else
@@ -25095,1291 +24657,1196 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
25)
- ('b"0010000"
+ ('b"1010000"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__140 : bool =>
+ : bool))) >>= fun w__98 : bool =>
(if
sumbool_of_bool
- w__140
+ w__98
then
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"000"
+ ('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__142 : bool =>
+ : bool))) >>= fun w__100 : bool =>
(if
sumbool_of_bool
- w__142
+ w__100
then
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0010100"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"001"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__144 : bool =>
+ : bool))) >>= fun w__102 : bool =>
(if
sumbool_of_bool
- w__144
+ w__102
then
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
+ ((haveFExt
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"F00"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__146 : bool =>
+ : bool))) >>= fun w__104 : bool =>
(if
sumbool_of_bool
- w__146
+ w__104
then
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
- tt)
+ (let _mappingpatterns_40_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_40_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_40_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 31
+ v__469
+ 26
25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__148 : bool =>
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1000011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__107 : bool =>
(if
sumbool_of_bool
- w__148
+ w__107
then
+ let _mappingpatterns_40_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_40_) >>= fun rm =>
returnm true
else
(and_boolM
- ((is_RV32F_or_RV64F
- tt)
+ (let _mappingpatterns_41_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_41_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_41_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 31
+ v__469
+ 26
25)
- ('b"1010000"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__150 : bool =>
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1000111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__110 : bool =>
(if
sumbool_of_bool
- w__150
+ w__110
then
+ let _mappingpatterns_41_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_41_) >>= fun rm =>
returnm true
else
(and_boolM
- ((haveFExt
- tt)
+ (let _mappingpatterns_42_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_42_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_42_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__152 : bool =>
+ v__469
+ 26
+ 25)
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1001011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__113 : bool =>
(if
sumbool_of_bool
- w__152
+ w__113
then
+ let _mappingpatterns_42_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_42_) >>= fun rm =>
returnm true
else
(and_boolM
- ((haveFExt
- tt)
+ (let _mappingpatterns_43_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_43_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_43_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 31
- 20)
- (Ox"E00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__154 : bool =>
+ v__469
+ 26
+ 25)
+ ('b"01"
+ : mword (26 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1001111"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__116 : bool =>
(if
sumbool_of_bool
- w__154
+ w__116
then
+ let _mappingpatterns_43_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_43_) >>= fun rm =>
returnm true
else
(and_boolM
- ((haveFExt
- tt)
+ (let _mappingpatterns_44_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_44_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_44_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"F00"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__156 : bool =>
+ 25)
+ ('b"0000001"
+ : mword (31 - 25 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1))))
+ : bool))) >>= fun w__119 : bool =>
(if
sumbool_of_bool
- w__156
+ w__119
then
+ let _mappingpatterns_44_ : mword 3 :=
+ subrange_vec_dec
+ v__469
+ 14
+ 12 in
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_44_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_40_ : mword 3 :=
+ (let _mappingpatterns_45_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_40_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_40_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_40_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_45_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_45_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 26
+ v__469
+ 31
25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ ('b"0000101"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
- ('b"1000011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__160 : bool =>
+ : bool))) >>= fun w__122 : bool =>
(if
sumbool_of_bool
- w__160
+ w__122
then
- let _mappingpatterns_40_ : mword 3 :=
+ let _mappingpatterns_45_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_40_) >>= fun rm =>
+ _mappingpatterns_45_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_41_ : mword 3 :=
+ (let _mappingpatterns_46_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_41_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_41_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_41_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_46_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_46_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 26
+ v__469
+ 31
25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ ('b"0001001"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
- ('b"1000111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__164 : bool =>
+ : bool))) >>= fun w__125 : bool =>
(if
sumbool_of_bool
- w__164
+ w__125
then
- let _mappingpatterns_41_ : mword 3 :=
+ let _mappingpatterns_46_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_41_) >>= fun rm =>
+ _mappingpatterns_46_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_42_ : mword 3 :=
+ (let _mappingpatterns_47_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_42_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_42_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_42_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_47_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_47_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 26
+ v__469
+ 31
25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ ('b"0001101"
+ : mword (31 - 25 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
- ('b"1001011"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__168 : bool =>
+ : bool))) >>= fun w__128 : bool =>
(if
sumbool_of_bool
- w__168
+ w__128
then
- let _mappingpatterns_42_ : mword 3 :=
+ let _mappingpatterns_47_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_42_) >>= fun rm =>
+ _mappingpatterns_47_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_43_ : mword 3 :=
+ (let _mappingpatterns_48_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_43_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_43_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_43_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_48_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_48_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
- 26
- 25)
- ('b"01"
- : mword (26 - 25 + 1)))
+ v__469
+ 31
+ 20)
+ (Ox"5A0"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
- ('b"1001111"
+ ('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__172 : bool =>
+ : bool))) >>= fun w__131 : bool =>
(if
sumbool_of_bool
- w__172
+ w__131
then
- let _mappingpatterns_43_ : mword 3 :=
+ let _mappingpatterns_48_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_43_) >>= fun rm =>
+ _mappingpatterns_48_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_44_ : mword 3 :=
+ (let _mappingpatterns_49_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_44_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_44_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_44_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_49_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_49_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0000001"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"C20"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__176 : bool =>
+ : bool))) >>= fun w__134 : bool =>
(if
sumbool_of_bool
- w__176
+ w__134
then
- let _mappingpatterns_44_ : mword 3 :=
+ let _mappingpatterns_49_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_44_) >>= fun rm =>
+ _mappingpatterns_49_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_45_ : mword 3 :=
+ (let _mappingpatterns_50_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_45_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_45_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_45_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_50_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_50_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0000101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"C21"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__180 : bool =>
+ : bool))) >>= fun w__137 : bool =>
(if
sumbool_of_bool
- w__180
+ w__137
then
- let _mappingpatterns_45_ : mword 3 :=
+ let _mappingpatterns_50_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_45_) >>= fun rm =>
+ _mappingpatterns_50_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_46_ : mword 3 :=
+ (let _mappingpatterns_51_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_46_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_46_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_46_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_51_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_51_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0001001"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D20"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__184 : bool =>
+ : bool))) >>= fun w__140 : bool =>
(if
sumbool_of_bool
- w__184
+ w__140
then
- let _mappingpatterns_46_ : mword 3 :=
+ let _mappingpatterns_51_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_46_) >>= fun rm =>
+ _mappingpatterns_51_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_47_ : mword 3 :=
+ (let _mappingpatterns_52_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_47_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_47_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_47_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_52_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_52_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0001101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"D21"
+ : mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__188 : bool =>
+ : bool))) >>= fun w__143 : bool =>
(if
sumbool_of_bool
- w__188
+ w__143
then
- let _mappingpatterns_47_ : mword 3 :=
+ let _mappingpatterns_52_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_47_) >>= fun rm =>
+ _mappingpatterns_52_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_48_ : mword 3 :=
+ (let _mappingpatterns_53_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_48_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_48_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_48_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_53_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_53_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"5A0"
+ (Ox"401"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__192 : bool =>
+ : bool))) >>= fun w__146 : bool =>
(if
sumbool_of_bool
- w__192
+ w__146
then
- let _mappingpatterns_48_ : mword 3 :=
+ let _mappingpatterns_53_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_48_) >>= fun rm =>
+ _mappingpatterns_53_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_49_ : mword 3 :=
+ (let _mappingpatterns_54_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_49_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_49_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_49_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_54_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_54_) >>= fun rm =>
+ (is_RV32D_or_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"C20"
+ (Ox"420"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__196 : bool =>
+ : bool))) >>= fun w__149 : bool =>
(if
sumbool_of_bool
- w__196
+ w__149
then
- let _mappingpatterns_49_ : mword 3 :=
+ let _mappingpatterns_54_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_49_) >>= fun rm =>
+ _mappingpatterns_54_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_50_ : mword 3 :=
+ (let _mappingpatterns_55_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_50_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_50_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_50_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_55_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_55_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"C21"
+ (Ox"C22"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__200 : bool =>
+ : bool))) >>= fun w__152 : bool =>
(if
sumbool_of_bool
- w__200
+ w__152
then
- let _mappingpatterns_50_ : mword 3 :=
+ let _mappingpatterns_55_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_50_) >>= fun rm =>
+ _mappingpatterns_55_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_51_ : mword 3 :=
+ (let _mappingpatterns_56_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_51_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_51_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_51_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_56_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_56_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"D20"
+ (Ox"C23"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__204 : bool =>
+ : bool))) >>= fun w__155 : bool =>
(if
sumbool_of_bool
- w__204
+ w__155
then
- let _mappingpatterns_51_ : mword 3 :=
+ let _mappingpatterns_56_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_51_) >>= fun rm =>
+ _mappingpatterns_56_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_52_ : mword 3 :=
+ (let _mappingpatterns_57_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_52_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_52_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_52_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_57_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_57_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"D21"
+ (Ox"D22"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__208 : bool =>
+ : bool))) >>= fun w__158 : bool =>
(if
sumbool_of_bool
- w__208
+ w__158
then
- let _mappingpatterns_52_ : mword 3 :=
+ let _mappingpatterns_57_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_52_) >>= fun rm =>
+ _mappingpatterns_57_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_53_ : mword 3 :=
+ (let _mappingpatterns_58_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_53_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_53_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_53_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ (if
+ encdec_rounding_mode_backwards_matches
+ _mappingpatterns_58_
+ then
+ (encdec_rounding_mode_backwards
+ _mappingpatterns_58_) >>= fun rm =>
+ (is_RV64D
+ tt)
+ : M (bool)
+ else
+ returnm false)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
20)
- (Ox"401"
+ (Ox"D23"
: mword (31 - 20 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1))))
- : bool))) >>= fun w__212 : bool =>
+ : bool))) >>= fun w__161 : bool =>
(if
sumbool_of_bool
- w__212
+ w__161
then
- let _mappingpatterns_53_ : mword 3 :=
+ let _mappingpatterns_58_ : mword 3 :=
subrange_vec_dec
- v__463
+ v__469
14
12 in
(encdec_rounding_mode_backwards
- _mappingpatterns_53_) >>= fun rm =>
+ _mappingpatterns_58_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_54_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_54_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_54_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_54_) >>= fun rm =>
- (is_RV32D_or_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"420"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__216 : bool =>
+ 25)
+ ('b"0010001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__163 : bool =>
(if
sumbool_of_bool
- w__216
+ w__163
then
- let _mappingpatterns_54_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_54_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_55_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_55_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_55_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_55_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"C22"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__220 : bool =>
+ 25)
+ ('b"0010001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__165 : bool =>
(if
sumbool_of_bool
- w__220
+ w__165
then
- let _mappingpatterns_55_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_55_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_56_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_56_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_56_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_56_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"C23"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__224 : bool =>
+ 25)
+ ('b"0010001"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"010"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__167 : bool =>
(if
sumbool_of_bool
- w__224
+ w__167
then
- let _mappingpatterns_56_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_56_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_57_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_57_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_57_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_57_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"D22"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__228 : bool =>
+ 25)
+ ('b"0010101"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"000"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__169 : bool =>
(if
sumbool_of_bool
- w__228
+ w__169
then
- let _mappingpatterns_57_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_57_) >>= fun rm =>
returnm true
else
(and_boolM
- (let _mappingpatterns_58_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (and_boolM
- (returnm ((encdec_rounding_mode_backwards_matches
- _mappingpatterns_58_)
- : bool))
- ((if
- encdec_rounding_mode_backwards_matches
- _mappingpatterns_58_
- then
- (encdec_rounding_mode_backwards
- _mappingpatterns_58_) >>= fun rm =>
- (is_RV64D
- tt)
- : M (bool)
- else
- returnm false)
- : M (bool)))
+ ((is_RV32D_or_RV64D
+ tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 20)
- (Ox"D23"
- : mword (31 - 20 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1))))
- : bool))) >>= fun w__232 : bool =>
+ 25)
+ ('b"0010101"
+ : mword (31 - 25 + 1)))
+ (andb
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 14
+ 12)
+ ('b"001"
+ : mword (14 - 12 + 1)))
+ (eq_vec
+ (subrange_vec_dec
+ v__469
+ 6
+ 0)
+ ('b"1010011"
+ : mword (6 - 0 + 1)))))
+ : bool))) >>= fun w__171 : bool =>
(if
sumbool_of_bool
- w__232
+ w__171
then
- let _mappingpatterns_58_ : mword 3 :=
- subrange_vec_dec
- v__463
- 14
- 12 in
- (encdec_rounding_mode_backwards
- _mappingpatterns_58_) >>= fun rm =>
returnm true
else
(and_boolM
@@ -26389,30 +25856,30 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
25)
- ('b"0010001"
+ ('b"1010001"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"000"
+ ('b"010"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__234 : bool =>
+ : bool))) >>= fun w__173 : bool =>
(if
sumbool_of_bool
- w__234
+ w__173
then
returnm true
else
@@ -26423,30 +25890,30 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
25)
- ('b"0010001"
+ ('b"1010001"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__236 : bool =>
+ : bool))) >>= fun w__175 : bool =>
(if
sumbool_of_bool
- w__236
+ w__175
then
returnm true
else
@@ -26457,311 +25924,136 @@ Definition encdec_backwards_matches (arg_ : mword 32) : M (bool) :=
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
25)
- ('b"0010001"
+ ('b"1010001"
: mword (31 - 25 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__238 : bool =>
+ : bool))) >>= fun w__177 : bool =>
(if
sumbool_of_bool
- w__238
+ w__177
then
returnm true
else
(and_boolM
- ((is_RV32D_or_RV64D
+ ((haveDExt
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0010101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E20"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"000"
+ ('b"001"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__240 : bool =>
+ : bool))) >>= fun w__179 : bool =>
(if
sumbool_of_bool
- w__240
+ w__179
then
returnm true
else
(and_boolM
- ((is_RV32D_or_RV64D
+ ((is_RV64D
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"0010101"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"E20"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"001"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__242 : bool =>
+ : bool))) >>= fun w__181 : bool =>
(if
sumbool_of_bool
- w__242
+ w__181
then
returnm true
else
(and_boolM
- ((is_RV32D_or_RV64D
+ ((is_RV64D
tt)
: M (bool))
(returnm ((andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
31
- 25)
- ('b"1010001"
- : mword (31 - 25 + 1)))
+ 20)
+ (Ox"F20"
+ : mword (31 - 20 + 1)))
(andb
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
14
12)
- ('b"010"
+ ('b"000"
: mword (14 - 12 + 1)))
(eq_vec
(subrange_vec_dec
- v__463
+ v__469
6
0)
('b"1010011"
: mword (6 - 0 + 1)))))
- : bool))) >>= fun w__244 : bool =>
- (if
- sumbool_of_bool
- w__244
- then
- returnm true
- else
- (and_boolM
- ((is_RV32D_or_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 31
- 25)
- ('b"1010001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__246 : bool =>
- (if
- sumbool_of_bool
- w__246
- then
- returnm true
- else
- (and_boolM
- ((is_RV32D_or_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 31
- 25)
- ('b"1010001"
- : mword (31 - 25 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__248 : bool =>
- (if
- sumbool_of_bool
- w__248
- then
- returnm true
- else
- (and_boolM
- ((haveDExt
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 31
- 20)
- (Ox"E20"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"001"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__250 : bool =>
- (if
- sumbool_of_bool
- w__250
- then
- returnm true
- else
- (and_boolM
- ((is_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 31
- 20)
- (Ox"E20"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__252 : bool =>
- (if
- sumbool_of_bool
- w__252
- then
- returnm true
- else
- (and_boolM
- ((is_RV64D
- tt)
- : M (bool))
- (returnm ((andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 31
- 20)
- (Ox"F20"
- : mword (31 - 20 + 1)))
- (andb
- (eq_vec
- (subrange_vec_dec
- v__463
- 14
- 12)
- ('b"000"
- : mword (14 - 12 + 1)))
- (eq_vec
- (subrange_vec_dec
- v__463
- 6
- 0)
- ('b"1010011"
- : mword (6 - 0 + 1)))))
- : bool))) >>= fun w__254 : bool =>
- returnm (if
- sumbool_of_bool
- w__254
- then
- true
- else
- true))
- : M (bool))
- : M (bool))
- : M (bool))
- : M (bool))
- : M (bool))
+ : bool))) >>= fun w__183 : bool =>
+ returnm (if
+ sumbool_of_bool
+ w__183
+ then
+ true
+ else
+ true))
: M (bool))
: M (bool))
: M (bool))
@@ -26840,20 +26132,20 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec ('b"0" : mword 1)
(concat_vec ('b"00000" : mword 5)
(concat_vec ('b"00000" : mword 5) ('b"01" : mword 2)))))
- | C_ADDI4SPN (rd, v__910) =>
- (if let nz96 : bits 4 := subrange_vec_dec v__910 7 4 in
- let nz96 : bits 4 := subrange_vec_dec v__910 7 4 in
- let nz54 : bits 2 := subrange_vec_dec v__910 3 2 in
- let nz3 : bits 1 := subrange_vec_dec v__910 1 1 in
- let nz2 : bits 1 := subrange_vec_dec v__910 0 0 in
+ | C_ADDI4SPN (rd, v__922) =>
+ (if let nz96 : bits 4 := subrange_vec_dec v__922 7 4 in
+ let nz96 : bits 4 := subrange_vec_dec v__922 7 4 in
+ let nz54 : bits 2 := subrange_vec_dec v__922 3 2 in
+ let nz3 : bits 1 := subrange_vec_dec v__922 1 1 in
+ let nz2 : bits 1 := subrange_vec_dec v__922 0 0 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))) then
- let nz96 : bits 4 := subrange_vec_dec v__910 7 4 in
- let nz96 : bits 4 := subrange_vec_dec v__910 7 4 in
- let nz54 : bits 2 := subrange_vec_dec v__910 3 2 in
- let nz3 : bits 1 := subrange_vec_dec v__910 1 1 in
- let nz2 : bits 1 := subrange_vec_dec v__910 0 0 in
+ let nz96 : bits 4 := subrange_vec_dec v__922 7 4 in
+ let nz96 : bits 4 := subrange_vec_dec v__922 7 4 in
+ let nz54 : bits 2 := subrange_vec_dec v__922 3 2 in
+ let nz3 : bits 1 := subrange_vec_dec v__922 1 1 in
+ let nz2 : bits 1 := subrange_vec_dec v__922 0 0 in
returnm (concat_vec ('b"000" : mword 3)
(concat_vec (nz54 : bits 2)
(concat_vec (nz96 : bits 4)
@@ -26862,22 +26154,22 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rd : cregidx) ('b"00" : mword 2)))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LW (v__911, rs1, rd) =>
- let ui6 : bits 1 := subrange_vec_dec v__911 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__911 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__911 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__911 0 0 in
+ | C_LW (v__923, rs1, rd) =>
+ let ui6 : bits 1 := subrange_vec_dec v__923 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__923 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__923 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__923 0 0 in
returnm (concat_vec ('b"010" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
(concat_vec (ui2 : bits 1)
(concat_vec (ui6 : bits 1)
(concat_vec (rd : cregidx) ('b"00" : mword 2)))))))
- | C_LD (v__912, rs1, rd) =>
+ | C_LD (v__924, rs1, rd) =>
(if sumbool_of_bool (Z.eqb 64 64) then
- let ui76 : bits 2 := subrange_vec_dec v__912 4 3 in
- let ui76 : bits 2 := subrange_vec_dec v__912 4 3 in
- let ui53 : bits 3 := subrange_vec_dec v__912 2 0 in
+ let ui76 : bits 2 := subrange_vec_dec v__924 4 3 in
+ let ui76 : bits 2 := subrange_vec_dec v__924 4 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__924 2 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
@@ -26885,22 +26177,22 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rd : cregidx) ('b"00" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SW (v__913, rs1, rs2) =>
- let ui6 : bits 1 := subrange_vec_dec v__913 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__913 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__913 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__913 0 0 in
+ | C_SW (v__925, rs1, rs2) =>
+ let ui6 : bits 1 := subrange_vec_dec v__925 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__925 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__925 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__925 0 0 in
returnm (concat_vec ('b"110" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
(concat_vec (ui2 : bits 1)
(concat_vec (ui6 : bits 1)
(concat_vec (rs2 : cregidx) ('b"00" : mword 2)))))))
- | C_SD (v__914, rs1, rs2) =>
+ | C_SD (v__926, rs1, rs2) =>
(if sumbool_of_bool (Z.eqb 64 64) then
- let ui76 : bits 2 := subrange_vec_dec v__914 4 3 in
- let ui76 : bits 2 := subrange_vec_dec v__914 4 3 in
- let ui53 : bits 3 := subrange_vec_dec v__914 2 0 in
+ let ui76 : bits 2 := subrange_vec_dec v__926 4 3 in
+ let ui76 : bits 2 := subrange_vec_dec v__926 4 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__926 2 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : bits 3)
@@ -26908,32 +26200,32 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rs2 : bits 3) ('b"00" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ADDI (v__915, rsd) =>
- (if let nzi5 : bits 1 := subrange_vec_dec v__915 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__915 5 5 in
- let nzi40 : bits 5 := subrange_vec_dec v__915 4 0 in
+ | C_ADDI (v__927, rsd) =>
+ (if let nzi5 : bits 1 := subrange_vec_dec v__927 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__927 5 5 in
+ let nzi40 : bits 5 := subrange_vec_dec v__927 4 0 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5))) (neq_vec rsd zreg)
then
- let nzi5 : bits 1 := subrange_vec_dec v__915 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__915 5 5 in
- let nzi40 : bits 5 := subrange_vec_dec v__915 4 0 in
+ let nzi5 : bits 1 := subrange_vec_dec v__927 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__927 5 5 in
+ let nzi40 : bits 5 := subrange_vec_dec v__927 4 0 in
returnm (concat_vec ('b"000" : mword 3)
(concat_vec (nzi5 : bits 1)
(concat_vec (rsd : regidx)
(concat_vec (nzi40 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_JAL v__916 =>
+ | C_JAL v__928 =>
(if sumbool_of_bool (Z.eqb 64 32) then
- let i11 : bits 1 := subrange_vec_dec v__916 10 10 in
- let i98 : bits 2 := subrange_vec_dec v__916 8 7 in
- let i7 : bits 1 := subrange_vec_dec v__916 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__916 5 5 in
- let i5 : bits 1 := subrange_vec_dec v__916 4 4 in
- let i4 : bits 1 := subrange_vec_dec v__916 3 3 in
- let i31 : bits 3 := subrange_vec_dec v__916 2 0 in
- let i11 : bits 1 := subrange_vec_dec v__916 10 10 in
- let i10 : bits 1 := subrange_vec_dec v__916 9 9 in
+ let i11 : bits 1 := subrange_vec_dec v__928 10 10 in
+ let i98 : bits 2 := subrange_vec_dec v__928 8 7 in
+ let i7 : bits 1 := subrange_vec_dec v__928 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__928 5 5 in
+ let i5 : bits 1 := subrange_vec_dec v__928 4 4 in
+ let i4 : bits 1 := subrange_vec_dec v__928 3 3 in
+ let i31 : bits 3 := subrange_vec_dec v__928 2 0 in
+ let i11 : bits 1 := subrange_vec_dec v__928 10 10 in
+ let i10 : bits 1 := subrange_vec_dec v__928 9 9 in
returnm (concat_vec ('b"001" : mword 3)
(concat_vec (i11 : bits 1)
(concat_vec (i4 : bits 1)
@@ -26945,44 +26237,44 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ADDIW (v__917, rsd) =>
+ | C_ADDIW (v__929, rsd) =>
(if sumbool_of_bool (andb (neq_vec rsd zreg) (Z.eqb 64 64)) then
- let imm5 : bits 1 := subrange_vec_dec v__917 5 5 in
- let imm5 : bits 1 := subrange_vec_dec v__917 5 5 in
- let imm40 : bits 5 := subrange_vec_dec v__917 4 0 in
+ let imm5 : bits 1 := subrange_vec_dec v__929 5 5 in
+ let imm5 : bits 1 := subrange_vec_dec v__929 5 5 in
+ let imm40 : bits 5 := subrange_vec_dec v__929 4 0 in
returnm (concat_vec ('b"001" : mword 3)
(concat_vec (imm5 : bits 1)
(concat_vec (rsd : regidx)
(concat_vec (imm40 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LI (v__918, rd) =>
+ | C_LI (v__930, rd) =>
(if neq_vec rd zreg then
- let imm5 : bits 1 := subrange_vec_dec v__918 5 5 in
- let imm5 : bits 1 := subrange_vec_dec v__918 5 5 in
- let imm40 : bits 5 := subrange_vec_dec v__918 4 0 in
+ let imm5 : bits 1 := subrange_vec_dec v__930 5 5 in
+ let imm5 : bits 1 := subrange_vec_dec v__930 5 5 in
+ let imm40 : bits 5 := subrange_vec_dec v__930 4 0 in
returnm (concat_vec ('b"010" : mword 3)
(concat_vec (imm5 : bits 1)
(concat_vec (rd : regidx)
(concat_vec (imm40 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ADDI16SP v__919 =>
- (if let nzi9 : bits 1 := subrange_vec_dec v__919 5 5 in
- let nzi9 : bits 1 := subrange_vec_dec v__919 5 5 in
- let nzi87 : bits 2 := subrange_vec_dec v__919 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__919 2 2 in
- let nzi5 : bits 1 := subrange_vec_dec v__919 1 1 in
- let nzi4 : bits 1 := subrange_vec_dec v__919 0 0 in
+ | C_ADDI16SP v__931 =>
+ (if let nzi9 : bits 1 := subrange_vec_dec v__931 5 5 in
+ let nzi9 : bits 1 := subrange_vec_dec v__931 5 5 in
+ let nzi87 : bits 2 := subrange_vec_dec v__931 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__931 2 2 in
+ let nzi5 : bits 1 := subrange_vec_dec v__931 1 1 in
+ let nzi4 : bits 1 := subrange_vec_dec v__931 0 0 in
neq_vec (concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))) then
- let nzi9 : bits 1 := subrange_vec_dec v__919 5 5 in
- let nzi9 : bits 1 := subrange_vec_dec v__919 5 5 in
- let nzi87 : bits 2 := subrange_vec_dec v__919 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__919 2 2 in
- let nzi5 : bits 1 := subrange_vec_dec v__919 1 1 in
- let nzi4 : bits 1 := subrange_vec_dec v__919 0 0 in
+ let nzi9 : bits 1 := subrange_vec_dec v__931 5 5 in
+ let nzi9 : bits 1 := subrange_vec_dec v__931 5 5 in
+ let nzi87 : bits 2 := subrange_vec_dec v__931 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__931 2 2 in
+ let nzi5 : bits 1 := subrange_vec_dec v__931 1 1 in
+ let nzi4 : bits 1 := subrange_vec_dec v__931 0 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (nzi9 : bits 1)
(concat_vec ('b"00010" : mword 5)
@@ -26992,30 +26284,30 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (nzi5 : bits 1) ('b"01" : mword 2))))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LUI (v__920, rd) =>
- (if let imm17 : bits 1 := subrange_vec_dec v__920 5 5 in
- let imm17 : bits 1 := subrange_vec_dec v__920 5 5 in
- let imm1612 : bits 5 := subrange_vec_dec v__920 4 0 in
+ | C_LUI (v__932, rd) =>
+ (if let imm17 : bits 1 := subrange_vec_dec v__932 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__932 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__932 4 0 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp) (neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5))))
then
- let imm17 : bits 1 := subrange_vec_dec v__920 5 5 in
- let imm17 : bits 1 := subrange_vec_dec v__920 5 5 in
- let imm1612 : bits 5 := subrange_vec_dec v__920 4 0 in
+ let imm17 : bits 1 := subrange_vec_dec v__932 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__932 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__932 4 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (imm17 : bits 1)
(concat_vec (rd : regidx)
(concat_vec (imm1612 : bits 5) ('b"01" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SRLI (v__921, rsd) =>
- (if let nzui5 : bits 1 := subrange_vec_dec v__921 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__921 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__921 4 0 in
+ | C_SRLI (v__933, rsd) =>
+ (if let nzui5 : bits 1 := subrange_vec_dec v__933 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__933 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__933 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
- let nzui5 : bits 1 := subrange_vec_dec v__921 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__921 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__921 4 0 in
+ let nzui5 : bits 1 := subrange_vec_dec v__933 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__933 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__933 4 0 in
returnm (concat_vec ('b"100" : mword 3)
(concat_vec (nzui5 : bits 1)
(concat_vec ('b"00" : mword 2)
@@ -27023,14 +26315,14 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (nzui40 : bits 5) ('b"01" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SRAI (v__922, rsd) =>
- (if let nzui5 : bits 1 := subrange_vec_dec v__922 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__922 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__922 4 0 in
+ | C_SRAI (v__934, rsd) =>
+ (if let nzui5 : bits 1 := subrange_vec_dec v__934 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__934 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__934 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
- let nzui5 : bits 1 := subrange_vec_dec v__922 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__922 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__922 4 0 in
+ let nzui5 : bits 1 := subrange_vec_dec v__934 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__934 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__934 4 0 in
returnm (concat_vec ('b"100" : mword 3)
(concat_vec (nzui5 : bits 1)
(concat_vec ('b"01" : mword 2)
@@ -27038,10 +26330,10 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (nzui40 : bits 5) ('b"01" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_ANDI (v__923, rsd) =>
- let i5 : bits 1 := subrange_vec_dec v__923 5 5 in
- let i5 : bits 1 := subrange_vec_dec v__923 5 5 in
- let i40 : bits 5 := subrange_vec_dec v__923 4 0 in
+ | C_ANDI (v__935, rsd) =>
+ let i5 : bits 1 := subrange_vec_dec v__935 5 5 in
+ let i5 : bits 1 := subrange_vec_dec v__935 5 5 in
+ let i40 : bits 5 := subrange_vec_dec v__935 4 0 in
returnm (concat_vec ('b"100" : mword 3)
(concat_vec (i5 : bits 1)
(concat_vec ('b"10" : mword 2)
@@ -27095,16 +26387,16 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rs2 : cregidx) ('b"01" : mword 2)))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_J v__924 =>
- let i11 : bits 1 := subrange_vec_dec v__924 10 10 in
- let i98 : bits 2 := subrange_vec_dec v__924 8 7 in
- let i7 : bits 1 := subrange_vec_dec v__924 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__924 5 5 in
- let i5 : bits 1 := subrange_vec_dec v__924 4 4 in
- let i4 : bits 1 := subrange_vec_dec v__924 3 3 in
- let i31 : bits 3 := subrange_vec_dec v__924 2 0 in
- let i11 : bits 1 := subrange_vec_dec v__924 10 10 in
- let i10 : bits 1 := subrange_vec_dec v__924 9 9 in
+ | C_J v__936 =>
+ let i11 : bits 1 := subrange_vec_dec v__936 10 10 in
+ let i98 : bits 2 := subrange_vec_dec v__936 8 7 in
+ let i7 : bits 1 := subrange_vec_dec v__936 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__936 5 5 in
+ let i5 : bits 1 := subrange_vec_dec v__936 4 4 in
+ let i4 : bits 1 := subrange_vec_dec v__936 3 3 in
+ let i31 : bits 3 := subrange_vec_dec v__936 2 0 in
+ let i11 : bits 1 := subrange_vec_dec v__936 10 10 in
+ let i10 : bits 1 := subrange_vec_dec v__936 9 9 in
returnm (concat_vec ('b"101" : mword 3)
(concat_vec (i11 : bits 1)
(concat_vec (i4 : bits 1)
@@ -27114,13 +26406,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i7 : bits 1)
(concat_vec (i31 : bits 3)
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))))
- | C_BEQZ (v__925, rs) =>
- let i8 : bits 1 := subrange_vec_dec v__925 7 7 in
- let i8 : bits 1 := subrange_vec_dec v__925 7 7 in
- let i76 : bits 2 := subrange_vec_dec v__925 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__925 4 4 in
- let i43 : bits 2 := subrange_vec_dec v__925 3 2 in
- let i21 : bits 2 := subrange_vec_dec v__925 1 0 in
+ | C_BEQZ (v__937, rs) =>
+ let i8 : bits 1 := subrange_vec_dec v__937 7 7 in
+ let i8 : bits 1 := subrange_vec_dec v__937 7 7 in
+ let i76 : bits 2 := subrange_vec_dec v__937 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__937 4 4 in
+ let i43 : bits 2 := subrange_vec_dec v__937 3 2 in
+ let i21 : bits 2 := subrange_vec_dec v__937 1 0 in
returnm (concat_vec ('b"110" : mword 3)
(concat_vec (i8 : bits 1)
(concat_vec (i43 : bits 2)
@@ -27128,13 +26420,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i76 : bits 2)
(concat_vec (i21 : bits 2)
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))
- | C_BNEZ (v__926, rs) =>
- let i8 : bits 1 := subrange_vec_dec v__926 7 7 in
- let i8 : bits 1 := subrange_vec_dec v__926 7 7 in
- let i76 : bits 2 := subrange_vec_dec v__926 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__926 4 4 in
- let i43 : bits 2 := subrange_vec_dec v__926 3 2 in
- let i21 : bits 2 := subrange_vec_dec v__926 1 0 in
+ | C_BNEZ (v__938, rs) =>
+ let i8 : bits 1 := subrange_vec_dec v__938 7 7 in
+ let i8 : bits 1 := subrange_vec_dec v__938 7 7 in
+ let i76 : bits 2 := subrange_vec_dec v__938 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__938 4 4 in
+ let i43 : bits 2 := subrange_vec_dec v__938 3 2 in
+ let i21 : bits 2 := subrange_vec_dec v__938 1 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (i8 : bits 1)
(concat_vec (i43 : bits 2)
@@ -27142,28 +26434,28 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (i76 : bits 2)
(concat_vec (i21 : bits 2)
(concat_vec (i5 : bits 1) ('b"01" : mword 2))))))))
- | C_SLLI (v__927, rsd) =>
+ | C_SLLI (v__939, rsd) =>
(if sumbool_of_bool
- (let nzui5 : bits 1 := subrange_vec_dec v__927 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__927 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__927 4 0 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__939 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__939 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__939 4 0 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1))))) then
- let nzui5 : bits 1 := subrange_vec_dec v__927 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__927 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__927 4 0 in
+ let nzui5 : bits 1 := subrange_vec_dec v__939 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__939 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__939 4 0 in
returnm (concat_vec ('b"000" : mword 3)
(concat_vec (nzui5 : bits 1)
(concat_vec (rsd : regidx)
(concat_vec (nzui40 : bits 5) ('b"10" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LWSP (v__928, rd) =>
+ | C_LWSP (v__940, rd) =>
(if neq_vec rd zreg then
- let ui76 : bits 2 := subrange_vec_dec v__928 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__928 5 4 in
- let ui5 : bits 1 := subrange_vec_dec v__928 3 3 in
- let ui42 : bits 3 := subrange_vec_dec v__928 2 0 in
+ let ui76 : bits 2 := subrange_vec_dec v__940 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__940 5 4 in
+ let ui5 : bits 1 := subrange_vec_dec v__940 3 3 in
+ let ui42 : bits 3 := subrange_vec_dec v__940 2 0 in
returnm (concat_vec ('b"010" : mword 3)
(concat_vec (ui5 : bits 1)
(concat_vec (rd : regidx)
@@ -27171,12 +26463,12 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (ui76 : bits 2) ('b"10" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_LDSP (v__929, rd) =>
+ | C_LDSP (v__941, rd) =>
(if sumbool_of_bool (andb (neq_vec rd zreg) (Z.eqb 64 64)) then
- let ui86 : bits 3 := subrange_vec_dec v__929 5 3 in
- let ui86 : bits 3 := subrange_vec_dec v__929 5 3 in
- let ui5 : bits 1 := subrange_vec_dec v__929 2 2 in
- let ui43 : bits 2 := subrange_vec_dec v__929 1 0 in
+ let ui86 : bits 3 := subrange_vec_dec v__941 5 3 in
+ let ui86 : bits 3 := subrange_vec_dec v__941 5 3 in
+ let ui5 : bits 1 := subrange_vec_dec v__941 2 2 in
+ let ui43 : bits 2 := subrange_vec_dec v__941 1 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui5 : bits 1)
(concat_vec (rd : regidx)
@@ -27184,18 +26476,18 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (ui86 : bits 3) ('b"10" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_SWSP (v__930, rs2) =>
- let ui76 : bits 2 := subrange_vec_dec v__930 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__930 5 4 in
- let ui52 : bits 4 := subrange_vec_dec v__930 3 0 in
+ | C_SWSP (v__942, rs2) =>
+ let ui76 : bits 2 := subrange_vec_dec v__942 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__942 5 4 in
+ let ui52 : bits 4 := subrange_vec_dec v__942 3 0 in
returnm (concat_vec ('b"110" : mword 3)
(concat_vec (ui52 : bits 4)
(concat_vec (ui76 : bits 2) (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
- | C_SDSP (v__931, rs2) =>
+ | C_SDSP (v__943, rs2) =>
(if sumbool_of_bool (Z.eqb 64 64) then
- let ui86 : bits 3 := subrange_vec_dec v__931 5 3 in
- let ui86 : bits 3 := subrange_vec_dec v__931 5 3 in
- let ui53 : bits 3 := subrange_vec_dec v__931 2 0 in
+ let ui86 : bits 3 := subrange_vec_dec v__943 5 3 in
+ let ui86 : bits 3 := subrange_vec_dec v__943 5 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__943 2 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (ui86 : bits 3)
@@ -27237,7 +26529,96 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rsd : regidx) (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FLWSP (v__932, rd) =>
+ | C_NOP_HINT v__944 =>
+ (if let im5 : bits 1 := subrange_vec_dec v__944 5 5 in
+ let im5 : bits 1 := subrange_vec_dec v__944 5 5 in
+ let im40 : bits 5 := subrange_vec_dec v__944 4 0 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)) then
+ let im5 : bits 1 := subrange_vec_dec v__944 5 5 in
+ let im5 : bits 1 := subrange_vec_dec v__944 5 5 in
+ let im40 : bits 5 := subrange_vec_dec v__944 4 0 in
+ returnm (concat_vec ('b"000" : mword 3)
+ (concat_vec (im5 : bits 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (im40 : bits 5) ('b"01" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_ADDI_HINT rsd =>
+ (if neq_vec rsd zreg then
+ returnm (concat_vec ('b"000" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec (rsd : regidx)
+ (concat_vec ('b"00000" : mword 5) ('b"01" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_LI_HINT v__945 =>
+ let imm5 : bits 1 := subrange_vec_dec v__945 5 5 in
+ let imm5 : bits 1 := subrange_vec_dec v__945 5 5 in
+ let imm40 : bits 5 := subrange_vec_dec v__945 4 0 in
+ returnm (concat_vec ('b"010" : mword 3)
+ (concat_vec (imm5 : bits 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (imm40 : bits 5) ('b"01" : mword 2)))))
+ | C_LUI_HINT v__946 =>
+ (if let imm17 : bits 1 := subrange_vec_dec v__946 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__946 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__946 4 0 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)) then
+ let imm17 : bits 1 := subrange_vec_dec v__946 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__946 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__946 4 0 in
+ returnm (concat_vec ('b"011" : mword 3)
+ (concat_vec (imm17 : bits 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (imm1612 : bits 5) ('b"01" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_MV_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_ADD_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"1" : mword 1)
+ (concat_vec ('b"00000" : mword 5)
+ (concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_SLLI_HINT (v__947, rsd) =>
+ (if sumbool_of_bool
+ (let nzui5 : bits 1 := subrange_vec_dec v__947 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__947 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__947 4 0 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5))) (eq_vec rsd zreg))
+ (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1)))) then
+ let nzui5 : bits 1 := subrange_vec_dec v__947 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__947 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__947 4 0 in
+ returnm (concat_vec ('b"000" : mword 3)
+ (concat_vec (nzui5 : bits 1)
+ (concat_vec (rsd : regidx)
+ (concat_vec (nzui40 : bits 5) ('b"10" : mword 2)))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (mword 16)
+ | C_SRLI_HINT rsd =>
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec ('b"00" : mword 2)
+ (concat_vec (rsd : cregidx)
+ (concat_vec ('b"00000" : mword 5) ('b"01" : mword 2))))))
+ | C_SRAI_HINT rsd =>
+ returnm (concat_vec ('b"100" : mword 3)
+ (concat_vec ('b"0" : mword 1)
+ (concat_vec ('b"01" : mword 2)
+ (concat_vec (rsd : cregidx)
+ (concat_vec ('b"00000" : mword 5) ('b"01" : mword 2))))))
+ | C_FLWSP (v__948, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27248,13 +26629,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__45 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__57 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__45 then
- let ui76 : bits 2 := subrange_vec_dec v__932 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__932 5 4 in
- let ui5 : bits 1 := subrange_vec_dec v__932 3 3 in
- let ui42 : bits 3 := subrange_vec_dec v__932 2 0 in
+ (if sumbool_of_bool w__57 then
+ let ui76 : bits 2 := subrange_vec_dec v__948 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__948 5 4 in
+ let ui5 : bits 1 := subrange_vec_dec v__948 3 3 in
+ let ui42 : bits 3 := subrange_vec_dec v__948 2 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui5 : bits 1)
(concat_vec (rd : regidx)
@@ -27262,7 +26643,7 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (ui76 : bits 2) ('b"10" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FSWSP (v__933, rs2) =>
+ | C_FSWSP (v__949, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27273,19 +26654,19 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__51 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__63 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__51 then
- let ui76 : bits 2 := subrange_vec_dec v__933 5 4 in
- let ui76 : bits 2 := subrange_vec_dec v__933 5 4 in
- let ui52 : bits 4 := subrange_vec_dec v__933 3 0 in
+ (if sumbool_of_bool w__63 then
+ let ui76 : bits 2 := subrange_vec_dec v__949 5 4 in
+ let ui76 : bits 2 := subrange_vec_dec v__949 5 4 in
+ let ui52 : bits 4 := subrange_vec_dec v__949 3 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui52 : bits 4)
(concat_vec (ui76 : bits 2)
(concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FLW (v__934, rs1, rd) =>
+ | C_FLW (v__950, rs1, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27296,13 +26677,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__57 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__69 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__57 then
- let ui6 : bits 1 := subrange_vec_dec v__934 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__934 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__934 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__934 0 0 in
+ (if sumbool_of_bool w__69 then
+ let ui6 : bits 1 := subrange_vec_dec v__950 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__950 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__950 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__950 0 0 in
returnm (concat_vec ('b"011" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
@@ -27311,7 +26692,7 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rd : cregidx) ('b"00" : mword 2)))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FSW (v__935, rs1, rs2) =>
+ | C_FSW (v__951, rs1, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27322,13 +26703,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveFExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__63 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__75 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
- (if sumbool_of_bool w__63 then
- let ui6 : bits 1 := subrange_vec_dec v__935 4 4 in
- let ui6 : bits 1 := subrange_vec_dec v__935 4 4 in
- let ui53 : bits 3 := subrange_vec_dec v__935 3 1 in
- let ui2 : bits 1 := subrange_vec_dec v__935 0 0 in
+ (if sumbool_of_bool w__75 then
+ let ui6 : bits 1 := subrange_vec_dec v__951 4 4 in
+ let ui6 : bits 1 := subrange_vec_dec v__951 4 4 in
+ let ui53 : bits 3 := subrange_vec_dec v__951 3 1 in
+ let ui2 : bits 1 := subrange_vec_dec v__951 0 0 in
returnm (concat_vec ('b"111" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
@@ -27337,7 +26718,7 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rs2 : cregidx) ('b"00" : mword 2)))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FLDSP (v__936, rd) =>
+ | C_FLDSP (v__952, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27349,13 +26730,13 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveDExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__69 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__81 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
- (if sumbool_of_bool w__69 then
- let ui86 : bits 3 := subrange_vec_dec v__936 5 3 in
- let ui86 : bits 3 := subrange_vec_dec v__936 5 3 in
- let ui5 : bits 1 := subrange_vec_dec v__936 2 2 in
- let ui43 : bits 2 := subrange_vec_dec v__936 1 0 in
+ (if sumbool_of_bool w__81 then
+ let ui86 : bits 3 := subrange_vec_dec v__952 5 3 in
+ let ui86 : bits 3 := subrange_vec_dec v__952 5 3 in
+ let ui5 : bits 1 := subrange_vec_dec v__952 2 2 in
+ let ui43 : bits 2 := subrange_vec_dec v__952 1 0 in
returnm (concat_vec ('b"001" : mword 3)
(concat_vec (ui5 : bits 1)
(concat_vec (rd : regidx)
@@ -27363,7 +26744,7 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (ui86 : bits 3) ('b"10" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FSDSP (v__937, rs2) =>
+ | C_FSDSP (v__953, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27375,19 +26756,19 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveDExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__75 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__87 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
- (if sumbool_of_bool w__75 then
- let ui86 : bits 3 := subrange_vec_dec v__937 5 3 in
- let ui86 : bits 3 := subrange_vec_dec v__937 5 3 in
- let ui53 : bits 3 := subrange_vec_dec v__937 2 0 in
+ (if sumbool_of_bool w__87 then
+ let ui86 : bits 3 := subrange_vec_dec v__953 5 3 in
+ let ui86 : bits 3 := subrange_vec_dec v__953 5 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__953 2 0 in
returnm (concat_vec ('b"101" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (ui86 : bits 3)
(concat_vec (rs2 : regidx) ('b"10" : mword 2)))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FLD (v__938, rs1, rd) =>
+ | C_FLD (v__954, rs1, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27399,12 +26780,12 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveDExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__81 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__93 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
- (if sumbool_of_bool w__81 then
- let ui76 : bits 2 := subrange_vec_dec v__938 4 3 in
- let ui76 : bits 2 := subrange_vec_dec v__938 4 3 in
- let ui53 : bits 3 := subrange_vec_dec v__938 2 0 in
+ (if sumbool_of_bool w__93 then
+ let ui76 : bits 2 := subrange_vec_dec v__954 4 3 in
+ let ui76 : bits 2 := subrange_vec_dec v__954 4 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__954 2 0 in
returnm (concat_vec ('b"001" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : cregidx)
@@ -27412,7 +26793,7 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(concat_vec (rd : cregidx) ('b"00" : mword 2))))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (mword 16)
- | C_FSD (v__939, rs1, rs2) =>
+ | C_FSD (v__955, rs1, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -27424,12 +26805,12 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
(build_trivial_ex
((and_boolM ((haveRVC tt) : M (bool)) ((haveDExt tt) : M (bool)))
: M (bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
- ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__87 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
+ ((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__99 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
- (if sumbool_of_bool w__87 then
- let ui76 : bits 2 := subrange_vec_dec v__939 4 3 in
- let ui76 : bits 2 := subrange_vec_dec v__939 4 3 in
- let ui53 : bits 3 := subrange_vec_dec v__939 2 0 in
+ (if sumbool_of_bool w__99 then
+ let ui76 : bits 2 := subrange_vec_dec v__955 4 3 in
+ let ui76 : bits 2 := subrange_vec_dec v__955 4 3 in
+ let ui53 : bits 3 := subrange_vec_dec v__955 2 0 in
returnm (concat_vec ('b"101" : mword 3)
(concat_vec (ui53 : bits 3)
(concat_vec (rs1 : bits 3)
@@ -27443,86 +26824,86 @@ Definition encdec_compressed_forwards (arg_ : ast) : M (mword 16) :=
: M (mword 16).
Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
- let v__940 := arg_ in
- (if eq_vec v__940 (Ox"0001" : mword 16) then returnm (C_NOP tt)
+ let v__956 := arg_ in
+ (if eq_vec v__956 (Ox"0001" : mword 16) then returnm (C_NOP tt)
else if andb
- (let nz96 : bits 4 := subrange_vec_dec v__940 10 7 in
- let nz54 : bits 2 := subrange_vec_dec v__940 12 11 in
- let nz3 : bits 1 := subrange_vec_dec v__940 5 5 in
- let nz2 : bits 1 := subrange_vec_dec v__940 6 6 in
+ (let nz96 : bits 4 := subrange_vec_dec v__956 10 7 in
+ let nz54 : bits 2 := subrange_vec_dec v__956 12 11 in
+ let nz3 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let nz2 : bits 1 := subrange_vec_dec v__956 6 6 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"00" : mword (1 - 0 + 1)))) then
- let rd : cregidx := subrange_vec_dec v__940 4 2 in
- let nz96 : bits 4 := subrange_vec_dec v__940 10 7 in
- let nz54 : bits 2 := subrange_vec_dec v__940 12 11 in
- let nz3 : bits 1 := subrange_vec_dec v__940 5 5 in
- let nz2 : bits 1 := subrange_vec_dec v__940 6 6 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"00" : mword (1 - 0 + 1)))) then
+ let rd : cregidx := subrange_vec_dec v__956 4 2 in
+ let nz96 : bits 4 := subrange_vec_dec v__956 10 7 in
+ let nz54 : bits 2 := subrange_vec_dec v__956 12 11 in
+ let nz3 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let nz2 : bits 1 := subrange_vec_dec v__956 6 6 in
returnm (C_ADDI4SPN
(rd, concat_vec (nz96 : bits 4)
(concat_vec (nz54 : bits 2) (concat_vec (nz3 : bits 1) (nz2 : bits 1)))))
- else if andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"00" : mword (1 - 0 + 1))) then
- let ui6 : bits 1 := subrange_vec_dec v__940 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__940 6 6 in
- let rs1 : cregidx := subrange_vec_dec v__940 9 7 in
- let rd : cregidx := subrange_vec_dec v__940 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ let ui6 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__956 6 6 in
+ let rs1 : cregidx := subrange_vec_dec v__956 9 7 in
+ let rd : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_LW
(concat_vec (ui6 : bits 1) (concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rd))
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"00" : mword (1 - 0 + 1))))) then
- let ui76 : bits 2 := subrange_vec_dec v__940 6 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let rs1 : cregidx := subrange_vec_dec v__940 9 7 in
- let rd : cregidx := subrange_vec_dec v__940 4 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ let ui76 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let rs1 : cregidx := subrange_vec_dec v__956 9 7 in
+ let rd : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_LD (concat_vec (ui76 : bits 2) (ui53 : bits 3), rs1, rd))
- else if andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"00" : mword (1 - 0 + 1))) then
- let ui6 : bits 1 := subrange_vec_dec v__940 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__940 6 6 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
- let rs1 : cregidx := subrange_vec_dec v__940 9 7 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ let ui6 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__956 6 6 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
+ let rs1 : cregidx := subrange_vec_dec v__956 9 7 in
returnm (C_SW
(concat_vec (ui6 : bits 1) (concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rs2))
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"00" : mword (1 - 0 + 1))))) then
- let ui76 : bits 2 := subrange_vec_dec v__940 6 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let rs2 : bits 3 := subrange_vec_dec v__940 4 2 in
- let rs1 : bits 3 := subrange_vec_dec v__940 9 7 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ let ui76 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let rs2 : bits 3 := subrange_vec_dec v__956 4 2 in
+ let rs1 : bits 3 := subrange_vec_dec v__956 9 7 in
returnm (C_SD (concat_vec (ui76 : bits 2) (ui53 : bits 3), rs1, rs2))
else if andb
- (let rsd : regidx := subrange_vec_dec v__940 11 7 in
- let nzi5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzi40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let nzi5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzi40 : bits 5 := subrange_vec_dec v__956 6 2 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5)))
(neq_vec rsd zreg))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : regidx := subrange_vec_dec v__940 11 7 in
- let nzi5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzi40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let nzi5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzi40 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_ADDI (concat_vec (nzi5 : bits 1) (nzi40 : bits 5), rsd))
else if sumbool_of_bool
(andb (Z.eqb 64 32)
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let i98 : bits 2 := subrange_vec_dec v__940 10 9 in
- let i7 : bits 1 := subrange_vec_dec v__940 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__940 7 7 in
- let i5 : bits 1 := subrange_vec_dec v__940 2 2 in
- let i4 : bits 1 := subrange_vec_dec v__940 11 11 in
- let i31 : bits 3 := subrange_vec_dec v__940 5 3 in
- let i11 : bits 1 := subrange_vec_dec v__940 12 12 in
- let i10 : bits 1 := subrange_vec_dec v__940 8 8 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let i98 : bits 2 := subrange_vec_dec v__956 10 9 in
+ let i7 : bits 1 := subrange_vec_dec v__956 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__956 7 7 in
+ let i5 : bits 1 := subrange_vec_dec v__956 2 2 in
+ let i4 : bits 1 := subrange_vec_dec v__956 11 11 in
+ let i31 : bits 3 := subrange_vec_dec v__956 5 3 in
+ let i11 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let i10 : bits 1 := subrange_vec_dec v__956 8 8 in
returnm (C_JAL
(concat_vec (i11 : bits 1)
(concat_vec (i10 : bits 1)
@@ -27533,136 +26914,136 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(concat_vec (i4 : bits 1) (i31 : bits 3)))))))))
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__940 11 7 in
+ (let rsd : regidx := subrange_vec_dec v__956 11 7 in
andb (neq_vec rsd zreg) (Z.eqb 64 64))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let rsd : regidx := subrange_vec_dec v__940 11 7 in
- let imm5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let imm40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let imm5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let imm40 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_ADDIW (concat_vec (imm5 : bits 1) (imm40 : bits 5), rsd))
else if andb
- (let rd : regidx := subrange_vec_dec v__940 11 7 in
+ (let rd : regidx := subrange_vec_dec v__956 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rd : regidx := subrange_vec_dec v__940 11 7 in
- let imm5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let imm40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
+ let imm5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let imm40 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_LI (concat_vec (imm5 : bits 1) (imm40 : bits 5), rd))
else if andb
- (let nzi9 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzi87 : bits 2 := subrange_vec_dec v__940 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__940 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__940 2 2 in
- let nzi4 : bits 1 := subrange_vec_dec v__940 6 6 in
+ (let nzi9 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzi87 : bits 2 := subrange_vec_dec v__956 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__956 2 2 in
+ let nzi4 : bits 1 := subrange_vec_dec v__956 6 6 in
neq_vec (concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"011" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 11 7) ('b"00010" : mword (11 - 7 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let nzi9 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzi87 : bits 2 := subrange_vec_dec v__940 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__940 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__940 2 2 in
- let nzi4 : bits 1 := subrange_vec_dec v__940 6 6 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 11 7) ('b"00010" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let nzi9 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzi87 : bits 2 := subrange_vec_dec v__956 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__956 2 2 in
+ let nzi4 : bits 1 := subrange_vec_dec v__956 6 6 in
returnm (C_ADDI16SP
(concat_vec (nzi9 : bits 1)
(concat_vec (nzi87 : bits 2)
(concat_vec (nzi6 : bits 1) (concat_vec (nzi5 : bits 1) (nzi4 : bits 1))))))
else if andb
- (let rd : regidx := subrange_vec_dec v__940 11 7 in
- let imm17 : bits 1 := subrange_vec_dec v__940 12 12 in
- let imm1612 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (let rd : regidx := subrange_vec_dec v__956 11 7 in
+ let imm17 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__956 6 2 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp)
(neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rd : regidx := subrange_vec_dec v__940 11 7 in
- let imm17 : bits 1 := subrange_vec_dec v__940 12 12 in
- let imm1612 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
+ let imm17 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_LUI (concat_vec (imm17 : bits 1) (imm1612 : bits 5), rd))
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 11 10) ('b"00" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 11 10) ('b"00" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_SRLI (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 11 10) ('b"01" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 11 10) ('b"01" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_SRAI (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
- else if andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 11 10) ('b"10" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let i5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let i40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 11 10) ('b"10" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let i5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let i40 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_ANDI (concat_vec (i5 : bits 1) (i40 : bits 5), rsd))
- else if andb (eq_vec (subrange_vec_dec v__940 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_SUB (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__940 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_XOR (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__940 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 6 5) ('b"10" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 6 5) ('b"10" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_OR (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__940 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 6 5) ('b"11" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 6 5) ('b"11" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_AND (rsd, rs2))
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__940 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_SUBW (rsd, rs2))
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__940 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__940 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
- let rsd : cregidx := subrange_vec_dec v__940 9 7 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_ADDW (rsd, rs2))
- else if andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"101" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))) then
- let i98 : bits 2 := subrange_vec_dec v__940 10 9 in
- let i7 : bits 1 := subrange_vec_dec v__940 6 6 in
- let i6 : bits 1 := subrange_vec_dec v__940 7 7 in
- let i5 : bits 1 := subrange_vec_dec v__940 2 2 in
- let i4 : bits 1 := subrange_vec_dec v__940 11 11 in
- let i31 : bits 3 := subrange_vec_dec v__940 5 3 in
- let i11 : bits 1 := subrange_vec_dec v__940 12 12 in
- let i10 : bits 1 := subrange_vec_dec v__940 8 8 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"101" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ let i98 : bits 2 := subrange_vec_dec v__956 10 9 in
+ let i7 : bits 1 := subrange_vec_dec v__956 6 6 in
+ let i6 : bits 1 := subrange_vec_dec v__956 7 7 in
+ let i5 : bits 1 := subrange_vec_dec v__956 2 2 in
+ let i4 : bits 1 := subrange_vec_dec v__956 11 11 in
+ let i31 : bits 3 := subrange_vec_dec v__956 5 3 in
+ let i11 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let i10 : bits 1 := subrange_vec_dec v__956 8 8 in
returnm (C_J
(concat_vec (i11 : bits 1)
(concat_vec (i10 : bits 1)
@@ -27671,113 +27052,182 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(concat_vec (i6 : bits 1)
(concat_vec (i5 : bits 1)
(concat_vec (i4 : bits 1) (i31 : bits 3)))))))))
- else if andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))) then
- let rs : cregidx := subrange_vec_dec v__940 9 7 in
- let i8 : bits 1 := subrange_vec_dec v__940 12 12 in
- let i76 : bits 2 := subrange_vec_dec v__940 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__940 2 2 in
- let i43 : bits 2 := subrange_vec_dec v__940 11 10 in
- let i21 : bits 2 := subrange_vec_dec v__940 4 3 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ let rs : cregidx := subrange_vec_dec v__956 9 7 in
+ let i8 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let i76 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__956 2 2 in
+ let i43 : bits 2 := subrange_vec_dec v__956 11 10 in
+ let i21 : bits 2 := subrange_vec_dec v__956 4 3 in
returnm (C_BEQZ
(concat_vec (i8 : bits 1)
(concat_vec (i76 : bits 2)
(concat_vec (i5 : bits 1) (concat_vec (i43 : bits 2) (i21 : bits 2)))), rs))
- else if andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"01" : mword (1 - 0 + 1))) then
- let rs : cregidx := subrange_vec_dec v__940 9 7 in
- let i8 : bits 1 := subrange_vec_dec v__940 12 12 in
- let i76 : bits 2 := subrange_vec_dec v__940 6 5 in
- let i5 : bits 1 := subrange_vec_dec v__940 2 2 in
- let i43 : bits 2 := subrange_vec_dec v__940 11 10 in
- let i21 : bits 2 := subrange_vec_dec v__940 4 3 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ let rs : cregidx := subrange_vec_dec v__956 9 7 in
+ let i8 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let i76 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let i5 : bits 1 := subrange_vec_dec v__956 2 2 in
+ let i43 : bits 2 := subrange_vec_dec v__956 11 10 in
+ let i21 : bits 2 := subrange_vec_dec v__956 4 3 in
returnm (C_BNEZ
(concat_vec (i8 : bits 1)
(concat_vec (i76 : bits 2)
(concat_vec (i5 : bits 1) (concat_vec (i43 : bits 2) (i21 : bits 2)))), rs))
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__940 11 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1)))))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1))))) then
- let rsd : regidx := subrange_vec_dec v__940 11 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
returnm (C_SLLI (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
else if andb
- (let rd : regidx := subrange_vec_dec v__940 11 7 in
+ (let rd : regidx := subrange_vec_dec v__956 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1)))) then
- let ui76 : bits 2 := subrange_vec_dec v__940 3 2 in
- let ui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let ui42 : bits 3 := subrange_vec_dec v__940 6 4 in
- let rd : regidx := subrange_vec_dec v__940 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let ui76 : bits 2 := subrange_vec_dec v__956 3 2 in
+ let ui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let ui42 : bits 3 := subrange_vec_dec v__956 6 4 in
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
returnm (C_LWSP
(concat_vec (ui76 : bits 2) (concat_vec (ui5 : bits 1) (ui42 : bits 3)), rd))
else if sumbool_of_bool
(andb
- (let rd : regidx := subrange_vec_dec v__940 11 7 in
+ (let rd : regidx := subrange_vec_dec v__956 11 7 in
andb (neq_vec rd zreg) (Z.eqb 64 64))
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1))))) then
- let ui86 : bits 3 := subrange_vec_dec v__940 4 2 in
- let ui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let ui43 : bits 2 := subrange_vec_dec v__940 6 5 in
- let rd : regidx := subrange_vec_dec v__940 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let ui86 : bits 3 := subrange_vec_dec v__956 4 2 in
+ let ui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let ui43 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
returnm (C_LDSP
(concat_vec (ui86 : bits 3) (concat_vec (ui5 : bits 1) (ui43 : bits 2)), rd))
- else if andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1))) then
- let ui76 : bits 2 := subrange_vec_dec v__940 8 7 in
- let ui52 : bits 4 := subrange_vec_dec v__940 12 9 in
- let rs2 : regidx := subrange_vec_dec v__940 6 2 in
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ let ui76 : bits 2 := subrange_vec_dec v__956 8 7 in
+ let ui52 : bits 4 := subrange_vec_dec v__956 12 9 in
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
returnm (C_SWSP (concat_vec (ui76 : bits 2) (ui52 : bits 4), rs2))
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1))))) then
- let ui86 : bits 3 := subrange_vec_dec v__940 9 7 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let rs2 : regidx := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let ui86 : bits 3 := subrange_vec_dec v__956 9 7 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
returnm (C_SDSP (concat_vec (ui86 : bits 3) (ui53 : bits 3), rs2))
else if andb
- (let rs1 : regidx := subrange_vec_dec v__940 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__956 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__940 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__940 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
- let rs1 : regidx := subrange_vec_dec v__940 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__956 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ let rs1 : regidx := subrange_vec_dec v__956 11 7 in
returnm (C_JR rs1)
else if andb
- (let rs1 : regidx := subrange_vec_dec v__940 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__956 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__940 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__940 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
- let rs1 : regidx := subrange_vec_dec v__940 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__956 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ let rs1 : regidx := subrange_vec_dec v__956 11 7 in
returnm (C_JALR rs1)
else if andb
- (let rs2 : regidx := subrange_vec_dec v__940 6 2 in
- let rd : regidx := subrange_vec_dec v__940 11 7 in
+ (let rs2 : regidx := subrange_vec_dec v__956 6 2 in
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
andb (neq_vec rd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__940 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1)))) then
- let rs2 : regidx := subrange_vec_dec v__940 6 2 in
- let rd : regidx := subrange_vec_dec v__940 11 7 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
returnm (C_MV (rd, rs2))
- else if eq_vec v__940 (Ox"9002" : mword 16) then returnm (C_EBREAK tt)
+ else if eq_vec v__956 (Ox"9002" : mword 16) then returnm (C_EBREAK tt)
else if andb
- (let rsd : regidx := subrange_vec_dec v__940 11 7 in
- let rs2 : regidx := subrange_vec_dec v__940 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
andb (neq_vec rsd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__940 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1)))) then
- let rsd : regidx := subrange_vec_dec v__940 11 7 in
- let rs2 : regidx := subrange_vec_dec v__940 6 2 in
+ (andb (eq_vec (subrange_vec_dec v__956 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
returnm (C_ADD (rsd, rs2))
+ else if andb
+ (let im5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let im40 : bits 5 := subrange_vec_dec v__956 6 2 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let im5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let im40 : bits 5 := subrange_vec_dec v__956 6 2 in
+ returnm (C_NOP_HINT (concat_vec (im5 : bits 1) (im40 : bits 5)))
+ else if andb
+ (let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ neq_vec rsd zreg)
+ (andb (eq_vec (subrange_vec_dec v__956 15 12) (Ox"0" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__956 6 0) ('b"0000001" : mword (6 - 0 + 1)))) then
+ let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ returnm (C_ADDI_HINT rsd)
+ else if andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ let imm5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let imm40 : bits 5 := subrange_vec_dec v__956 6 2 in
+ returnm (C_LI_HINT (concat_vec (imm5 : bits 1) (imm40 : bits 5)))
+ else if andb
+ (let imm17 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__956 6 2 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__956 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ let imm17 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__956 6 2 in
+ returnm (C_LUI_HINT (concat_vec (imm17 : bits 1) (imm1612 : bits 5)))
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__956 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__956 15 7) ('b"100000000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
+ returnm (C_MV_HINT rs2)
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__956 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__956 15 7) ('b"100100000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
+ returnm (C_ADD_HINT rs2)
+ else if sumbool_of_bool
+ (andb
+ (let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5))) (eq_vec rsd zreg))
+ (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1))))
+ (andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ let rsd : regidx := subrange_vec_dec v__956 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__956 6 2 in
+ returnm (C_SLLI_HINT (concat_vec (nzui5 : bits 1) (nzui40 : bits 5), rsd))
+ else if andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100000" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__956 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ returnm (C_SRLI_HINT rsd)
+ else if andb (eq_vec (subrange_vec_dec v__956 15 10) ('b"100001" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__956 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
+ let rsd : cregidx := subrange_vec_dec v__956 9 7 in
+ returnm (C_SRAI_HINT rsd)
else
(and_boolMP
(((and_boolMP
@@ -27794,15 +27244,15 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
: M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (64 =? 32)) _bool = true)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}))
(build_trivial_ex
- (returnm ((andb (eq_vec (subrange_vec_dec v__940 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (returnm ((andb (eq_vec (subrange_vec_dec v__956 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__4 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__4 then
- let ui76 : bits 2 := subrange_vec_dec v__940 3 2 in
- let ui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let ui42 : bits 3 := subrange_vec_dec v__940 6 4 in
- let rd : regidx := subrange_vec_dec v__940 11 7 in
+ let ui76 : bits 2 := subrange_vec_dec v__956 3 2 in
+ let ui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let ui42 : bits 3 := subrange_vec_dec v__956 6 4 in
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
returnm (C_FLWSP
(concat_vec (ui76 : bits 2) (concat_vec (ui5 : bits 1) (ui42 : bits 3)), rd))
else
@@ -27822,15 +27272,15 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(64 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__940 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__956 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__9 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__9 then
- let ui76 : bits 2 := subrange_vec_dec v__940 8 7 in
- let ui52 : bits 4 := subrange_vec_dec v__940 12 9 in
- let rs2 : regidx := subrange_vec_dec v__940 6 2 in
+ let ui76 : bits 2 := subrange_vec_dec v__956 8 7 in
+ let ui52 : bits 4 := subrange_vec_dec v__956 12 9 in
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
returnm (C_FSWSP (concat_vec (ui76 : bits 2) (ui52 : bits 4), rs2))
else
(and_boolMP
@@ -27849,17 +27299,17 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(64 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__940 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__956 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__14 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__14 then
- let ui6 : bits 1 := subrange_vec_dec v__940 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__940 6 6 in
- let rs1 : cregidx := subrange_vec_dec v__940 9 7 in
- let rd : cregidx := subrange_vec_dec v__940 4 2 in
+ let ui6 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__956 6 6 in
+ let rs1 : cregidx := subrange_vec_dec v__956 9 7 in
+ let rd : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_FLW
(concat_vec (ui6 : bits 1) (concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rd))
else
@@ -27879,19 +27329,19 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
(64 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__940 15 13)
+ (eq_vec (subrange_vec_dec v__956 15 13)
('b"111"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__956 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__19 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__19 then
- let ui6 : bits 1 := subrange_vec_dec v__940 5 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let ui2 : bits 1 := subrange_vec_dec v__940 6 6 in
- let rs2 : cregidx := subrange_vec_dec v__940 4 2 in
- let rs1 : cregidx := subrange_vec_dec v__940 9 7 in
+ let ui6 : bits 1 := subrange_vec_dec v__956 5 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let ui2 : bits 1 := subrange_vec_dec v__956 6 6 in
+ let rs2 : cregidx := subrange_vec_dec v__956 4 2 in
+ let rs1 : cregidx := subrange_vec_dec v__956 9 7 in
returnm (C_FSW
(concat_vec (ui6 : bits 1)
(concat_vec (ui53 : bits 3) (ui2 : bits 1)), rs1, rs2))
@@ -27914,20 +27364,20 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__940 15 13)
+ (eq_vec (subrange_vec_dec v__956 15 13)
('b"001"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0)
+ (eq_vec (subrange_vec_dec v__956 1 0)
('b"10"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__24 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
(if sumbool_of_bool w__24 then
- let ui86 : bits 3 := subrange_vec_dec v__940 4 2 in
- let ui5 : bits 1 := subrange_vec_dec v__940 12 12 in
- let ui43 : bits 2 := subrange_vec_dec v__940 6 5 in
- let rd : regidx := subrange_vec_dec v__940 11 7 in
+ let ui86 : bits 3 := subrange_vec_dec v__956 4 2 in
+ let ui5 : bits 1 := subrange_vec_dec v__956 12 12 in
+ let ui43 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let rd : regidx := subrange_vec_dec v__956 11 7 in
returnm (C_FLDSP
(concat_vec (ui86 : bits 3)
(concat_vec (ui5 : bits 1) (ui43 : bits 2)), rd))
@@ -27950,19 +27400,19 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__940 15 13)
+ (eq_vec (subrange_vec_dec v__956 15 13)
('b"101"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0)
+ (eq_vec (subrange_vec_dec v__956 1 0)
('b"10"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__29 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
(if sumbool_of_bool w__29 then
- let ui86 : bits 3 := subrange_vec_dec v__940 9 7 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let rs2 : regidx := subrange_vec_dec v__940 6 2 in
+ let ui86 : bits 3 := subrange_vec_dec v__956 9 7 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let rs2 : regidx := subrange_vec_dec v__956 6 2 in
returnm (C_FSDSP (concat_vec (ui86 : bits 3) (ui53 : bits 3), rs2))
else
(and_boolMP
@@ -27983,20 +27433,20 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__940 15 13)
+ (eq_vec (subrange_vec_dec v__956 15 13)
('b"001"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0)
+ (eq_vec (subrange_vec_dec v__956 1 0)
('b"00"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__34 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
(if sumbool_of_bool w__34 then
- let ui76 : bits 2 := subrange_vec_dec v__940 6 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let rs1 : cregidx := subrange_vec_dec v__940 9 7 in
- let rd : cregidx := subrange_vec_dec v__940 4 2 in
+ let ui76 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let rs1 : cregidx := subrange_vec_dec v__956 9 7 in
+ let rd : cregidx := subrange_vec_dec v__956 4 2 in
returnm (C_FLD (concat_vec (ui76 : bits 2) (ui53 : bits 3), rs1, rd))
else
(and_boolMP
@@ -28020,22 +27470,22 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__940 15 13)
+ (eq_vec (subrange_vec_dec v__956 15 13)
('b"101"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__940 1 0)
+ (eq_vec (subrange_vec_dec v__956 1 0)
('b"00"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__39 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
returnm (if sumbool_of_bool w__39 then
- let ui76 : bits 2 := subrange_vec_dec v__940 6 5 in
- let ui53 : bits 3 := subrange_vec_dec v__940 12 10 in
- let rs2 : bits 3 := subrange_vec_dec v__940 4 2 in
- let rs1 : bits 3 := subrange_vec_dec v__940 9 7 in
+ let ui76 : bits 2 := subrange_vec_dec v__956 6 5 in
+ let ui53 : bits 3 := subrange_vec_dec v__956 12 10 in
+ let rs2 : bits 3 := subrange_vec_dec v__956 4 2 in
+ let rs1 : bits 3 := subrange_vec_dec v__956 9 7 in
C_FSD (concat_vec (ui76 : bits 2) (ui53 : bits 3), rs1, rs2)
- else C_ILLEGAL v__940))
+ else C_ILLEGAL v__956))
: M (ast))
: M (ast))
: M (ast))
@@ -28048,101 +27498,132 @@ Definition encdec_compressed_backwards (arg_ : mword 16) : M (ast) :=
Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(match arg_ with
| C_NOP tt => returnm true
- | C_ADDI4SPN (rd, v__1100) =>
- returnm (if let nz96 : bits 4 := subrange_vec_dec v__1100 7 4 in
- let nz96 : bits 4 := subrange_vec_dec v__1100 7 4 in
- let nz54 : bits 2 := subrange_vec_dec v__1100 3 2 in
- let nz3 : bits 1 := subrange_vec_dec v__1100 1 1 in
- let nz2 : bits 1 := subrange_vec_dec v__1100 0 0 in
+ | C_ADDI4SPN (rd, v__1158) =>
+ returnm (if let nz96 : bits 4 := subrange_vec_dec v__1158 7 4 in
+ let nz96 : bits 4 := subrange_vec_dec v__1158 7 4 in
+ let nz54 : bits 2 := subrange_vec_dec v__1158 3 2 in
+ let nz3 : bits 1 := subrange_vec_dec v__1158 1 1 in
+ let nz2 : bits 1 := subrange_vec_dec v__1158 0 0 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))) then
true
else false)
- | C_LW (v__1101, rs1, rd) => returnm true
- | C_LD (v__1102, rs1, rd) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
- | C_SW (v__1103, rs1, rs2) => returnm true
- | C_SD (v__1104, rs1, rs2) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
- | C_ADDI (v__1105, rsd) =>
- returnm (if let nzi5 : bits 1 := subrange_vec_dec v__1105 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__1105 5 5 in
- let nzi40 : bits 5 := subrange_vec_dec v__1105 4 0 in
+ | C_LW (v__1159, rs1, rd) => returnm true
+ | C_LD (v__1160, rs1, rd) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
+ | C_SW (v__1161, rs1, rs2) => returnm true
+ | C_SD (v__1162, rs1, rs2) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
+ | C_ADDI (v__1163, rsd) =>
+ returnm (if let nzi5 : bits 1 := subrange_vec_dec v__1163 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__1163 5 5 in
+ let nzi40 : bits 5 := subrange_vec_dec v__1163 4 0 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5)))
(neq_vec rsd zreg) then
true
else false)
- | C_JAL v__1106 => returnm (if sumbool_of_bool (Z.eqb 64 32) then true else false)
- | C_ADDIW (v__1107, rsd) =>
+ | C_JAL v__1164 => returnm (if sumbool_of_bool (Z.eqb 64 32) then true else false)
+ | C_ADDIW (v__1165, rsd) =>
returnm (if sumbool_of_bool (andb (neq_vec rsd zreg) (Z.eqb 64 64)) then true else false)
- | C_LI (v__1108, rd) => returnm (if neq_vec rd zreg then true else false)
- | C_ADDI16SP v__1109 =>
- returnm (if let nzi9 : bits 1 := subrange_vec_dec v__1109 5 5 in
- let nzi9 : bits 1 := subrange_vec_dec v__1109 5 5 in
- let nzi87 : bits 2 := subrange_vec_dec v__1109 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__1109 2 2 in
- let nzi5 : bits 1 := subrange_vec_dec v__1109 1 1 in
- let nzi4 : bits 1 := subrange_vec_dec v__1109 0 0 in
+ | C_LI (v__1166, rd) => returnm (if neq_vec rd zreg then true else false)
+ | C_ADDI16SP v__1167 =>
+ returnm (if let nzi9 : bits 1 := subrange_vec_dec v__1167 5 5 in
+ let nzi9 : bits 1 := subrange_vec_dec v__1167 5 5 in
+ let nzi87 : bits 2 := subrange_vec_dec v__1167 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__1167 2 2 in
+ let nzi5 : bits 1 := subrange_vec_dec v__1167 1 1 in
+ let nzi4 : bits 1 := subrange_vec_dec v__1167 0 0 in
neq_vec
(concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))) then
true
else false)
- | C_LUI (v__1110, rd) =>
- returnm (if let imm17 : bits 1 := subrange_vec_dec v__1110 5 5 in
- let imm17 : bits 1 := subrange_vec_dec v__1110 5 5 in
- let imm1612 : bits 5 := subrange_vec_dec v__1110 4 0 in
+ | C_LUI (v__1168, rd) =>
+ returnm (if let imm17 : bits 1 := subrange_vec_dec v__1168 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__1168 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__1168 4 0 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp)
(neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))) then
true
else false)
- | C_SRLI (v__1111, rsd) =>
- returnm (if let nzui5 : bits 1 := subrange_vec_dec v__1111 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__1111 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__1111 4 0 in
+ | C_SRLI (v__1169, rsd) =>
+ returnm (if let nzui5 : bits 1 := subrange_vec_dec v__1169 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__1169 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1169 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
true
else false)
- | C_SRAI (v__1112, rsd) =>
- returnm (if let nzui5 : bits 1 := subrange_vec_dec v__1112 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__1112 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__1112 4 0 in
+ | C_SRAI (v__1170, rsd) =>
+ returnm (if let nzui5 : bits 1 := subrange_vec_dec v__1170 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__1170 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1170 4 0 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)) then
true
else false)
- | C_ANDI (v__1113, rsd) => returnm true
+ | C_ANDI (v__1171, rsd) => returnm true
| C_SUB (rsd, rs2) => returnm true
| C_XOR (rsd, rs2) => returnm true
| C_OR (rsd, rs2) => returnm true
| C_AND (rsd, rs2) => returnm true
| C_SUBW (rsd, rs2) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
| C_ADDW (rsd, rs2) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
- | C_J v__1114 => returnm true
- | C_BEQZ (v__1115, rs) => returnm true
- | C_BNEZ (v__1116, rs) => returnm true
- | C_SLLI (v__1117, rsd) =>
+ | C_J v__1172 => returnm true
+ | C_BEQZ (v__1173, rs) => returnm true
+ | C_BNEZ (v__1174, rs) => returnm true
+ | C_SLLI (v__1175, rsd) =>
returnm (if sumbool_of_bool
- (let nzui5 : bits 1 := subrange_vec_dec v__1117 5 5 in
- let nzui5 : bits 1 := subrange_vec_dec v__1117 5 5 in
- let nzui40 : bits 5 := subrange_vec_dec v__1117 4 0 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__1175 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__1175 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1175 4 0 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1)))))
then
true
else false)
- | C_LWSP (v__1118, rd) => returnm (if neq_vec rd zreg then true else false)
- | C_LDSP (v__1119, rd) =>
+ | C_LWSP (v__1176, rd) => returnm (if neq_vec rd zreg then true else false)
+ | C_LDSP (v__1177, rd) =>
returnm (if sumbool_of_bool (andb (neq_vec rd zreg) (Z.eqb 64 64)) then true else false)
- | C_SWSP (v__1120, rs2) => returnm true
- | C_SDSP (v__1121, rs2) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
+ | C_SWSP (v__1178, rs2) => returnm true
+ | C_SDSP (v__1179, rs2) => returnm (if sumbool_of_bool (Z.eqb 64 64) then true else false)
| C_JR rs1 => returnm (if neq_vec rs1 zreg then true else false)
| C_JALR rs1 => returnm (if neq_vec rs1 zreg then true else false)
| C_MV (rd, rs2) => returnm (if andb (neq_vec rd zreg) (neq_vec rs2 zreg) then true else false)
| C_EBREAK tt => returnm true
| C_ADD (rsd, rs2) =>
returnm (if andb (neq_vec rsd zreg) (neq_vec rs2 zreg) then true else false)
- | C_FLWSP (v__1122, rd) =>
+ | C_NOP_HINT v__1180 =>
+ returnm (if let im5 : bits 1 := subrange_vec_dec v__1180 5 5 in
+ let im5 : bits 1 := subrange_vec_dec v__1180 5 5 in
+ let im40 : bits 5 := subrange_vec_dec v__1180 4 0 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)) then
+ true
+ else false)
+ | C_ADDI_HINT rsd => returnm (if neq_vec rsd zreg then true else false)
+ | C_LI_HINT v__1181 => returnm true
+ | C_LUI_HINT v__1182 =>
+ returnm (if let imm17 : bits 1 := subrange_vec_dec v__1182 5 5 in
+ let imm17 : bits 1 := subrange_vec_dec v__1182 5 5 in
+ let imm1612 : bits 5 := subrange_vec_dec v__1182 4 0 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)) then
+ true
+ else false)
+ | C_MV_HINT rs2 => returnm (if neq_vec rs2 zreg then true else false)
+ | C_ADD_HINT rs2 => returnm (if neq_vec rs2 zreg then true else false)
+ | C_SLLI_HINT (v__1183, rsd) =>
+ returnm (if sumbool_of_bool
+ (let nzui5 : bits 1 := subrange_vec_dec v__1183 5 5 in
+ let nzui5 : bits 1 := subrange_vec_dec v__1183 5 5 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1183 4 0 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
+ (eq_vec rsd zreg)) (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1))))
+ then
+ true
+ else false)
+ | C_SRLI_HINT rsd => returnm true
+ | C_SRAI_HINT rsd => returnm true
+ | C_FLWSP (v__1184, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28156,7 +27637,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__3 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__3 then true else false)
- | C_FSWSP (v__1123, rs2) =>
+ | C_FSWSP (v__1185, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28170,7 +27651,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__7 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__7 then true else false)
- | C_FLW (v__1124, rs1, rd) =>
+ | C_FLW (v__1186, rs1, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28184,7 +27665,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__11 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__11 then true else false)
- | C_FSW (v__1125, rs1, rs2) =>
+ | C_FSW (v__1187, rs1, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28198,7 +27679,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__15 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
returnm (if sumbool_of_bool w__15 then true else false)
- | C_FLDSP (v__1126, rd) =>
+ | C_FLDSP (v__1188, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28213,7 +27694,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__19 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
returnm (if sumbool_of_bool w__19 then true else false)
- | C_FSDSP (v__1127, rs2) =>
+ | C_FSDSP (v__1189, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28228,7 +27709,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__23 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
returnm (if sumbool_of_bool w__23 then true else false)
- | C_FLD (v__1128, rs1, rd) =>
+ | C_FLD (v__1190, rs1, rd) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28243,7 +27724,7 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
((64 =? 32) || (64 =? 64))) _bool = true)})) >>= fun '(existT _ w__27 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
((64 =? 32) || (64 =? 64))) _bool = true)}) =>
returnm (if sumbool_of_bool w__27 then true else false)
- | C_FSD (v__1129, rs1, rs2) =>
+ | C_FSD (v__1191, rs1, rs2) =>
(and_boolMP
((returnm (build_ex
(projT1
@@ -28264,199 +27745,254 @@ Definition encdec_compressed_forwards_matches (arg_ : ast) : M (bool) :=
: M (bool).
Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
- let v__1130 := arg_ in
- (if eq_vec v__1130 (Ox"0001" : mword 16) then returnm true
+ let v__1192 := arg_ in
+ (if eq_vec v__1192 (Ox"0001" : mword 16) then returnm true
else if andb
- (let nz96 : bits 4 := subrange_vec_dec v__1130 10 7 in
- let nz54 : bits 2 := subrange_vec_dec v__1130 12 11 in
- let nz3 : bits 1 := subrange_vec_dec v__1130 5 5 in
- let nz2 : bits 1 := subrange_vec_dec v__1130 6 6 in
+ (let nz96 : bits 4 := subrange_vec_dec v__1192 10 7 in
+ let nz54 : bits 2 := subrange_vec_dec v__1192 12 11 in
+ let nz3 : bits 1 := subrange_vec_dec v__1192 5 5 in
+ let nz2 : bits 1 := subrange_vec_dec v__1192 6 6 in
neq_vec (concat_vec nz96 (concat_vec nz54 (concat_vec nz3 nz2)))
(Ox"00"
: mword (4 + (2 + (1 + 1)))))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"00" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"00" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"00" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"00" : mword (1 - 0 + 1))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"00" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"00" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"00" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rsd : regidx := subrange_vec_dec v__1130 11 7 in
- let nzi5 : bits 1 := subrange_vec_dec v__1130 12 12 in
- let nzi40 : bits 5 := subrange_vec_dec v__1130 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__1192 11 7 in
+ let nzi5 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let nzi40 : bits 5 := subrange_vec_dec v__1192 6 2 in
andb (neq_vec (concat_vec nzi5 nzi40) ('b"000000" : mword (1 + 5)))
(neq_vec rsd zreg))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 64 32)
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__1130 11 7 in
+ (let rsd : regidx := subrange_vec_dec v__1192 11 7 in
andb (neq_vec rsd zreg) (Z.eqb 64 64))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"001" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"001" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rd : regidx := subrange_vec_dec v__1130 11 7 in
+ (let rd : regidx := subrange_vec_dec v__1192 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if andb
- (let nzi9 : bits 1 := subrange_vec_dec v__1130 12 12 in
- let nzi87 : bits 2 := subrange_vec_dec v__1130 4 3 in
- let nzi6 : bits 1 := subrange_vec_dec v__1130 5 5 in
- let nzi5 : bits 1 := subrange_vec_dec v__1130 2 2 in
- let nzi4 : bits 1 := subrange_vec_dec v__1130 6 6 in
+ (let nzi9 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let nzi87 : bits 2 := subrange_vec_dec v__1192 4 3 in
+ let nzi6 : bits 1 := subrange_vec_dec v__1192 5 5 in
+ let nzi5 : bits 1 := subrange_vec_dec v__1192 2 2 in
+ let nzi4 : bits 1 := subrange_vec_dec v__1192 6 6 in
neq_vec (concat_vec nzi9 (concat_vec nzi87 (concat_vec nzi6 (concat_vec nzi5 nzi4))))
('b"000000"
: mword (1 + (2 + (1 + (1 + 1))))))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"011" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 11 7) ('b"00010" : mword (11 - 7 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 11 7) ('b"00010" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rd : regidx := subrange_vec_dec v__1130 11 7 in
- let imm17 : bits 1 := subrange_vec_dec v__1130 12 12 in
- let imm1612 : bits 5 := subrange_vec_dec v__1130 6 2 in
+ (let rd : regidx := subrange_vec_dec v__1192 11 7 in
+ let imm17 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__1192 6 2 in
andb (neq_vec rd zreg)
(andb (neq_vec rd sp)
(neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__1130 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__1130 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1192 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 11 10) ('b"00" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 11 10) ('b"00" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let nzui5 : bits 1 := subrange_vec_dec v__1130 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__1130 6 2 in
+ (let nzui5 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1192 6 2 in
neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 11 10) ('b"01" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 11 10) ('b"01" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"100" : mword (15 - 13 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 11 10) ('b"10" : mword (11 - 10 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"100" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 11 10) ('b"10" : mword (11 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 6 5) ('b"10" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 6 5) ('b"10" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 10) ('b"100011" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 6 5) ('b"11" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100011" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 6 5) ('b"11" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__1130 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 6 5) ('b"00" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 6 5) ('b"00" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__1130 15 10) ('b"100111" : mword (15 - 10 + 1)))
- (andb (eq_vec (subrange_vec_dec v__1130 6 5) ('b"01" : mword (6 - 5 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100111" : mword (15 - 10 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 6 5) ('b"01" : mword (6 - 5 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"101" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"101" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb
- (let rsd : regidx := subrange_vec_dec v__1130 11 7 in
- let nzui5 : bits 1 := subrange_vec_dec v__1130 12 12 in
- let nzui40 : bits 5 := subrange_vec_dec v__1130 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__1192 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1192 6 2 in
andb (neq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5)))
(andb (neq_vec rsd zreg) (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1)))))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"000" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rd : regidx := subrange_vec_dec v__1130 11 7 in
+ (let rd : regidx := subrange_vec_dec v__1192 11 7 in
neq_vec rd zreg)
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"010" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1)))) then
returnm true
else if sumbool_of_bool
(andb
- (let rd : regidx := subrange_vec_dec v__1130 11 7 in
+ (let rd : regidx := subrange_vec_dec v__1192 11 7 in
andb (neq_vec rd zreg) (Z.eqb 64 64))
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1))))) then
returnm true
- else if andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"110" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"110" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1))) then
returnm true
else if sumbool_of_bool
(andb (Z.eqb 64 64)
- (andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1))))) then
returnm true
else if andb
- (let rs1 : regidx := subrange_vec_dec v__1130 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__1192 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__1130 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__1130 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
returnm true
else if andb
- (let rs1 : regidx := subrange_vec_dec v__1130 11 7 in
+ (let rs1 : regidx := subrange_vec_dec v__1192 11 7 in
neq_vec rs1 zreg)
- (andb (eq_vec (subrange_vec_dec v__1130 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__1130 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 6 0) ('b"0000010" : mword (6 - 0 + 1)))) then
returnm true
else if andb
- (let rs2 : regidx := subrange_vec_dec v__1130 6 2 in
- let rd : regidx := subrange_vec_dec v__1130 11 7 in
+ (let rs2 : regidx := subrange_vec_dec v__1192 6 2 in
+ let rd : regidx := subrange_vec_dec v__1192 11 7 in
andb (neq_vec rd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__1130 15 12) (Ox"8" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 12) (Ox"8" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1)))) then
returnm true
- else if eq_vec v__1130 (Ox"9002" : mword 16) then returnm true
+ else if eq_vec v__1192 (Ox"9002" : mword 16) then returnm true
else if andb
- (let rsd : regidx := subrange_vec_dec v__1130 11 7 in
- let rs2 : regidx := subrange_vec_dec v__1130 6 2 in
+ (let rsd : regidx := subrange_vec_dec v__1192 11 7 in
+ let rs2 : regidx := subrange_vec_dec v__1192 6 2 in
andb (neq_vec rsd zreg) (neq_vec rs2 zreg))
- (andb (eq_vec (subrange_vec_dec v__1130 15 12) (Ox"9" : mword (15 - 12 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ (andb (eq_vec (subrange_vec_dec v__1192 15 12) (Ox"9" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let im5 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let im40 : bits 5 := subrange_vec_dec v__1192 6 2 in
+ neq_vec (concat_vec im5 im40) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ returnm true
+ else if andb
+ (let rsd : regidx := subrange_vec_dec v__1192 11 7 in
+ neq_vec rsd zreg)
+ (andb (eq_vec (subrange_vec_dec v__1192 15 12) (Ox"0" : mword (15 - 12 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 6 0) ('b"0000001" : mword (6 - 0 + 1)))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"010" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let imm17 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let imm1612 : bits 5 := subrange_vec_dec v__1192 6 2 in
+ neq_vec (concat_vec imm17 imm1612) ('b"000000" : mword (1 + 5)))
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (andb (eq_vec (subrange_vec_dec v__1192 11 7) ('b"00000" : mword (11 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"01" : mword (1 - 0 + 1))))) then
+ returnm true
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__1192 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__1192 15 7) ('b"100000000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if andb
+ (let rs2 : regidx := subrange_vec_dec v__1192 6 2 in
+ neq_vec rs2 zreg)
+ (andb (eq_vec (subrange_vec_dec v__1192 15 7) ('b"100100000" : mword (15 - 7 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1)))) then
+ returnm true
+ else if sumbool_of_bool
+ (andb
+ (let rsd : regidx := subrange_vec_dec v__1192 11 7 in
+ let nzui5 : bits 1 := subrange_vec_dec v__1192 12 12 in
+ let nzui40 : bits 5 := subrange_vec_dec v__1192 6 2 in
+ andb
+ (orb (eq_vec (concat_vec nzui5 nzui40) ('b"000000" : mword (1 + 5))) (eq_vec rsd zreg))
+ (orb (Z.eqb 64 64) (eq_vec nzui5 ('b"0" : mword 1))))
+ (andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"000" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1))))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100000" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
+ returnm true
+ else if andb (eq_vec (subrange_vec_dec v__1192 15 10) ('b"100001" : mword (15 - 10 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 6 0) ('b"0000001" : mword (6 - 0 + 1))) then
returnm true
else
(and_boolMP
@@ -28474,8 +28010,8 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
: M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (64 =? 32)) _bool = true)})) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}))
(build_trivial_ex
- (returnm ((andb (eq_vec (subrange_vec_dec v__1130 15 13) ('b"011" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (returnm ((andb (eq_vec (subrange_vec_dec v__1192 15 13) ('b"011" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 && (64 =? 32)) _bool = true)})) >>= fun '(existT _ w__4 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
(if sumbool_of_bool w__4 then returnm true
@@ -28496,8 +28032,8 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
(64 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__1130 15 13) ('b"111" : mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"10" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__1192 15 13) ('b"111" : mword (15 - 13 + 1)))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"10" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__9 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
@@ -28519,10 +28055,10 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
(64 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__1130 15 13)
+ (eq_vec (subrange_vec_dec v__1192 15 13)
('b"011"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__14 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
@@ -28544,10 +28080,10 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
(64 =? 32)) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__1130 15 13)
+ (eq_vec (subrange_vec_dec v__1192 15 13)
('b"111"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0) ('b"00" : mword (1 - 0 + 1))))
+ (eq_vec (subrange_vec_dec v__1192 1 0) ('b"00" : mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)})) >>= fun '(existT _ w__19 _ : {_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
(64 =? 32)) _bool = true)}) =>
@@ -28571,10 +28107,10 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__1130 15 13)
+ (eq_vec (subrange_vec_dec v__1192 15 13)
('b"001"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0)
+ (eq_vec (subrange_vec_dec v__1192 1 0)
('b"10"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
@@ -28600,10 +28136,10 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__1130 15 13)
+ (eq_vec (subrange_vec_dec v__1192 15 13)
('b"101"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0)
+ (eq_vec (subrange_vec_dec v__1192 1 0)
('b"10"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
@@ -28629,10 +28165,10 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__1130 15 13)
+ (eq_vec (subrange_vec_dec v__1192 15 13)
('b"001"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0)
+ (eq_vec (subrange_vec_dec v__1192 1 0)
('b"00"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
@@ -28661,10 +28197,10 @@ Definition encdec_compressed_backwards_matches (arg_ : mword 16) : M (bool) :=
((64 =? 32) || (64 =? 64))) _bool = true)}))
(build_trivial_ex
(returnm ((andb
- (eq_vec (subrange_vec_dec v__1130 15 13)
+ (eq_vec (subrange_vec_dec v__1192 15 13)
('b"101"
: mword (15 - 13 + 1)))
- (eq_vec (subrange_vec_dec v__1130 1 0)
+ (eq_vec (subrange_vec_dec v__1192 1 0)
('b"00"
: mword (1 - 0 + 1))))
: bool))) : M ({_bool : bool & ArithFactP (exists simp_0 , Bool.eqb (simp_0 &&
@@ -28703,14 +28239,15 @@ Definition execute_UTYPE (imm : mword 20) (rd : mword 5) (op : uop) : M (Retired
(wX_bits rd ret) >> returnm RETIRE_SUCCESS.
Definition execute_URET '(tt : unit) : M (Retired) :=
- (haveUsrMode tt) >>= fun w__0 : bool =>
- (if sumbool_of_bool (negb w__0) then (handle_illegal tt) : M (unit)
+ (or_boolM ((haveUsrMode tt) >>= fun w__0 : bool => returnm ((negb w__0) : bool))
+ (returnm ((negb (sys_enable_next tt)) : bool))) >>= fun w__1 : bool =>
+ (if sumbool_of_bool w__1 then (handle_illegal tt) : M (unit)
else if negb (ext_check_xret_priv User) then returnm (ext_fail_xret_priv tt)
else
- read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
- ((read_reg PC_ref) : M (mword 64)) >>= fun w__2 : mword 64 =>
- (exception_handler w__1 (CTL_URET tt) w__2) >>= fun w__3 : mword 64 =>
- (set_next_pc w__3)
+ read_reg cur_privilege_ref >>= fun w__2 : Privilege =>
+ ((read_reg PC_ref) : M (mword 64)) >>= fun w__3 : mword 64 =>
+ (exception_handler w__2 (CTL_URET tt) w__3) >>= fun w__4 : mword 64 =>
+ (set_next_pc w__4)
: M (unit)) >>
returnm RETIRE_FAIL.
@@ -28742,9 +28279,9 @@ Definition execute_STORE_FP (imm : mword 12) (rs2 : mword 5) (rs1 : mword 5) (wi
| MemValue _ =>
(rF_bits rs2) >>= fun rs2_val =>
(match (width, 64) with
- | (BYTE, g__320) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (HALF, g__321) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (WORD, g__322) =>
+ | (BYTE, g__332) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (HALF, g__333) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (WORD, g__334) =>
(mem_write_value addr 4 (subrange_vec_dec rs2_val 31 0) aq rl con) >>= fun w__4 : MemoryOpResult bool =>
(process_fstore vaddr w__4)
: M (Retired)
@@ -28800,38 +28337,46 @@ Definition execute_STORECON
| TR_Failure (e, _) => (handle_mem_exception vaddr e) >> returnm RETIRE_FAIL
| TR_Address (addr, _) =>
(match (width, 64) with
- | (WORD, g__313) => (mem_write_ea addr 4 aq rl true) : M (MemoryOpResult unit)
+ | (BYTE, g__317) =>
+ (mem_write_ea addr 1 (andb aq rl) rl true) : M (MemoryOpResult unit)
+ | (HALF, g__318) =>
+ (mem_write_ea addr 2 (andb aq rl) rl true) : M (MemoryOpResult unit)
+ | (WORD, g__319) =>
+ (mem_write_ea addr 4 (andb aq rl) rl true) : M (MemoryOpResult unit)
| (DOUBLE, l__4) =>
(if sumbool_of_bool (Z.eqb l__4 64) then
- (mem_write_ea addr 8 aq rl true)
+ (mem_write_ea addr 8 (andb aq rl) rl true)
: M (MemoryOpResult unit)
else
(internal_error "STORECON expected word or double")
: M (MemoryOpResult unit))
: M (MemoryOpResult unit)
- | _ =>
- (internal_error "STORECON expected word or double")
- : M (MemoryOpResult unit)
end) >>= fun eares : MemoryOpResult unit =>
(match eares with
| MemException e => (handle_mem_exception addr e) >> returnm RETIRE_FAIL
| MemValue _ =>
(rX_bits rs2) >>= fun rs2_val =>
(match (width, 64) with
- | (WORD, g__312) =>
- (mem_write_value addr 4 (subrange_vec_dec rs2_val 31 0) aq rl true)
+ | (BYTE, g__314) =>
+ (mem_write_value addr 1 (subrange_vec_dec rs2_val 7 0) (andb aq rl) rl
+ true)
+ : M (MemoryOpResult bool)
+ | (HALF, g__315) =>
+ (mem_write_value addr 2 (subrange_vec_dec rs2_val 15 0) (andb aq rl) rl
+ true)
+ : M (MemoryOpResult bool)
+ | (WORD, g__316) =>
+ (mem_write_value addr 4 (subrange_vec_dec rs2_val 31 0) (andb aq rl) rl
+ true)
: M (MemoryOpResult bool)
| (DOUBLE, l__3) =>
(if sumbool_of_bool (Z.eqb l__3 64) then
- (mem_write_value addr 8 rs2_val aq rl true)
+ (mem_write_value addr 8 rs2_val (andb aq rl) rl true)
: M (MemoryOpResult bool)
else
(internal_error "STORECON expected word or double")
: M (MemoryOpResult bool))
: M (MemoryOpResult bool)
- | _ =>
- (internal_error "STORECON expected word or double")
- : M (MemoryOpResult bool)
end) >>= fun res : MemoryOpResult bool =>
(match res with
| MemValue true =>
@@ -28928,15 +28473,16 @@ Definition execute_SRET '(tt : unit) : M (Retired) :=
: M (bool)
| Machine => (haveSupMode tt) >>= fun w__4 : bool => returnm (negb w__4)
end) >>= fun sret_illegal : bool =>
- (if sumbool_of_bool sret_illegal then (handle_illegal tt) : M (unit)
- else if negb (ext_check_xret_priv Supervisor) then returnm (ext_fail_xret_priv tt)
+ (if sumbool_of_bool sret_illegal then (handle_illegal tt) >> returnm RETIRE_FAIL
+ else if negb (ext_check_xret_priv Supervisor) then
+ let '_ := (ext_fail_xret_priv tt) : unit in
+ returnm RETIRE_FAIL
else
read_reg cur_privilege_ref >>= fun w__5 : Privilege =>
((read_reg PC_ref) : M (mword 64)) >>= fun w__6 : mword 64 =>
(exception_handler w__5 (CTL_SRET tt) w__6) >>= fun w__7 : mword 64 =>
- (set_next_pc w__7)
- : M (unit)) >>
- returnm RETIRE_FAIL.
+ (set_next_pc w__7) >> returnm RETIRE_SUCCESS)
+ : M (Retired).
Definition execute_SHIFTW (shamt : mword 5) (rs1 : mword 5) (rd : mword 5) (op : sop) : M (Retired) :=
(rX_bits rs1) >>= fun w__0 : mword 64 =>
@@ -29137,15 +28683,16 @@ Definition execute_MUL
Definition execute_MRET '(tt : unit) : M (Retired) :=
read_reg cur_privilege_ref >>= fun w__0 : Privilege =>
- (if generic_neq w__0 Machine then (handle_illegal tt) : M (unit)
- else if negb (ext_check_xret_priv Machine) then returnm (ext_fail_xret_priv tt)
+ (if generic_neq w__0 Machine then (handle_illegal tt) >> returnm RETIRE_FAIL
+ else if negb (ext_check_xret_priv Machine) then
+ let '_ := (ext_fail_xret_priv tt) : unit in
+ returnm RETIRE_FAIL
else
read_reg cur_privilege_ref >>= fun w__1 : Privilege =>
((read_reg PC_ref) : M (mword 64)) >>= fun w__2 : mword 64 =>
(exception_handler w__1 (CTL_MRET tt) w__2) >>= fun w__3 : mword 64 =>
- (set_next_pc w__3)
- : M (unit)) >>
- returnm RETIRE_FAIL.
+ (set_next_pc w__3) >> returnm RETIRE_SUCCESS)
+ : M (Retired).
Definition execute_LOAD_FP (imm : mword 12) (rs1 : mword 5) (rd : mword 5) (width : word_width)
: M (Retired) :=
@@ -29165,9 +28712,9 @@ Definition execute_LOAD_FP (imm : mword 12) (rs1 : mword 5) (rd : mword 5) (widt
| TR_Address (addr, _) =>
let '(aq, rl, res) := (false, false, false) in
(match (width, 64) with
- | (BYTE, g__317) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (HALF, g__318) => (handle_illegal tt) >> returnm RETIRE_FAIL
- | (WORD, g__319) =>
+ | (BYTE, g__329) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (HALF, g__330) => (handle_illegal tt) >> returnm RETIRE_FAIL
+ | (WORD, g__331) =>
(mem_read (Read Data) addr 4 aq rl res) >>= fun w__2 : MemoryOpResult (mword (8 * 4)) =>
(process_fload32 rd vaddr w__2)
: M (Retired)
@@ -29214,18 +28761,25 @@ Definition execute_LOADRES
| TR_Failure (e, _) => (handle_mem_exception vaddr e) >> returnm RETIRE_FAIL
| TR_Address (addr, _) =>
(match (width, 64) with
- | (WORD, g__311) =>
- (mem_read (Read Data) addr 4 aq rl true) >>= fun w__3 : MemoryOpResult (mword (8 * 4)) =>
+ | (BYTE, g__311) =>
+ (mem_read (Read Data) addr 1 aq (andb aq rl) true) >>= fun w__3 : MemoryOpResult (mword (8 * 1)) =>
(process_loadres rd vaddr w__3 false)
: M (Retired)
+ | (HALF, g__312) =>
+ (mem_read (Read Data) addr 2 aq (andb aq rl) true) >>= fun w__5 : MemoryOpResult (mword (8 * 2)) =>
+ (process_loadres rd vaddr w__5 false)
+ : M (Retired)
+ | (WORD, g__313) =>
+ (mem_read (Read Data) addr 4 aq (andb aq rl) true) >>= fun w__7 : MemoryOpResult (mword (8 * 4)) =>
+ (process_loadres rd vaddr w__7 false)
+ : M (Retired)
| (DOUBLE, l__2) =>
(if sumbool_of_bool (Z.eqb l__2 64) then
- (mem_read (Read Data) addr 8 aq rl true) >>= fun w__5 : MemoryOpResult (mword (8 * 8)) =>
- (process_loadres rd vaddr w__5 false)
+ (mem_read (Read Data) addr 8 aq (andb aq rl) true) >>= fun w__9 : MemoryOpResult (mword (8 * 8)) =>
+ (process_loadres rd vaddr w__9 false)
: M (Retired)
- else (internal_error "LOADRES expected WORD or DOUBLE") : M (Retired))
+ else (internal_error "Unexpected AMO width") : M (Retired))
: M (Retired)
- | _ => (internal_error "LOADRES expected WORD or DOUBLE") : M (Retired)
end)
: M (Retired)
end)
@@ -29762,14 +29316,14 @@ Definition execute_F_BIN_RM_TYPE_D
Definition execute_FENCE_TSO (pred : mword 4) (succ : mword 4) : M (Retired) :=
(match (pred, succ) with
- | (v__1330, v__1331) =>
- (if andb (eq_vec (subrange_vec_dec v__1330 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1331 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ | (v__1434, v__1435) =>
+ (if andb (eq_vec (subrange_vec_dec v__1434 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1435 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_tso tt))
: M (unit)
else
- returnm (if andb (eq_vec (subrange_vec_dec v__1330 1 0) ('b"00" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1331 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ returnm (if andb (eq_vec (subrange_vec_dec v__1434 1 0) ('b"00" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1435 1 0) ('b"00" : mword (1 - 0 + 1))) then
tt
else
let '_ := (print_endline "FIXME: unsupported fence") : unit in
@@ -29778,50 +29332,58 @@ Definition execute_FENCE_TSO (pred : mword 4) (succ : mword 4) : M (Retired) :=
end) >>
returnm RETIRE_SUCCESS.
+Definition execute_FENCE_RESERVED
+(fm : mword 4) (pred : mword 4) (succ : mword 4) (rs : mword 5) (rd : mword 5)
+: Retired :=
+ RETIRE_SUCCESS.
+
+Definition execute_FENCEI_RESERVED (imm : mword 12) (rs : mword 5) (rd : mword 5) : Retired :=
+ RETIRE_SUCCESS.
+
Definition execute_FENCEI '(tt : unit) : Retired := RETIRE_SUCCESS.
Definition execute_FENCE (pred : mword 4) (succ : mword 4) : M (Retired) :=
(match (pred, succ) with
- | (v__1290, v__1291) =>
- (if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ | (v__1394, v__1395) =>
+ (if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_rw_rw tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_r_rw tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"10" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_r_r tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"01" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_rw_w tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"01" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_w_w tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"11" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_w_rw tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"10" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_rw_r tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"01" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_r_w tt))
: M (unit)
- else if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1394 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1395 1 0) ('b"10" : mword (1 - 0 + 1))) then
(barrier (Barrier_RISCV_w_r tt))
: M (unit)
else
- returnm (if andb (eq_vec (subrange_vec_dec v__1290 1 0) ('b"00" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1291 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ returnm (if eq_vec (subrange_vec_dec v__1395 1 0) ('b"00" : mword (1 - 0 + 1)) then tt
+ else if eq_vec (subrange_vec_dec v__1394 1 0) ('b"00" : mword (1 - 0 + 1)) then
tt
else
let '_ := (print_endline "FIXME: unsupported fence") : unit in
@@ -29847,7 +29409,8 @@ Definition execute_ECALL '(tt : unit) : M (Retired) :=
(set_next_pc w__3) >> returnm RETIRE_FAIL.
Definition execute_EBREAK '(tt : unit) : M (Retired) :=
- (handle_exception (E_Breakpoint tt)) >> returnm RETIRE_FAIL.
+ ((read_reg PC_ref) : M (mword 64)) >>= fun w__0 : mword 64 =>
+ (handle_mem_exception w__0 (E_Breakpoint tt)) >> returnm RETIRE_FAIL.
Definition execute_DIVW (rs2 : mword 5) (rs1 : mword 5) (rd : mword 5) (s : bool) : M (Retired) :=
(haveMulDiv tt) >>= fun w__0 : bool =>
@@ -29881,11 +29444,29 @@ Definition execute_DIV (rs2 : mword 5) (rs1 : mword 5) (rd : mword 5) (s : bool)
else (handle_illegal tt) >> returnm RETIRE_FAIL)
: M (Retired).
+Definition execute_C_SRLI_HINT (rsd : mword 3) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_SRAI_HINT (rsd : mword 3) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_SLLI_HINT (shamt : mword 6) (rsd : mword 5) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_NOP_HINT (imm : mword 6) : Retired := RETIRE_SUCCESS.
+
Definition execute_C_NOP '(tt : unit) : Retired := RETIRE_SUCCESS.
+Definition execute_C_MV_HINT (rs2 : mword 5) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_LUI_HINT (imm : mword 6) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_LI_HINT (imm : mword 6) : Retired := RETIRE_SUCCESS.
+
Definition execute_C_ILLEGAL (s : mword 16) : M (Retired) :=
(handle_illegal tt) >> returnm RETIRE_FAIL.
+Definition execute_C_ADD_HINT (rs2 : mword 5) : Retired := RETIRE_SUCCESS.
+
+Definition execute_C_ADDI_HINT (rsd : mword 5) : Retired := RETIRE_SUCCESS.
+
Definition execute_CSR (csr : mword 12) (rs1 : mword 5) (rd : mword 5) (is_imm : bool) (op : csrop)
: M (Retired) :=
(if sumbool_of_bool is_imm then returnm (EXTZ 64 rs1)
@@ -29958,58 +29539,77 @@ Definition execute_AMO
: M (Retired) :=
(haveAtomics tt) >>= fun w__0 : bool =>
(if sumbool_of_bool w__0 then
- (ext_data_get_addr rs1 (zeros_implicit 64) (ReadWrite Data) width) >>= fun w__1 : Ext_DataAddr_Check unit =>
+ (ext_data_get_addr rs1 (zeros_implicit 64) (ReadWrite (Data, Data)) width) >>= fun w__1 : Ext_DataAddr_Check unit =>
(match w__1 with
| Ext_DataAddr_Error e =>
let '_ := (ext_handle_data_check_error e) : unit in
returnm RETIRE_FAIL
| Ext_DataAddr_OK vaddr =>
- (translateAddr vaddr (ReadWrite Data)) >>= fun w__2 : TR_Result (mword 64) ExceptionType =>
+ (translateAddr vaddr (ReadWrite (Data, Data))) >>= fun w__2 : TR_Result (mword 64) ExceptionType =>
(match w__2 with
| TR_Failure (e, _) => (handle_mem_exception vaddr e) >> returnm RETIRE_FAIL
| TR_Address (addr, _) =>
(match (width, 64) with
- | (WORD, g__316) =>
+ | (BYTE, g__326) =>
+ (mem_write_ea addr 1 (andb aq rl) rl true) : M (MemoryOpResult unit)
+ | (HALF, g__327) =>
+ (mem_write_ea addr 2 (andb aq rl) rl true) : M (MemoryOpResult unit)
+ | (WORD, g__328) =>
(mem_write_ea addr 4 (andb aq rl) rl true) : M (MemoryOpResult unit)
| (DOUBLE, l__7) =>
(if sumbool_of_bool (Z.eqb l__7 64) then
(mem_write_ea addr 8 (andb aq rl) rl true)
: M (MemoryOpResult unit)
- else (internal_error "AMO expected WORD or DOUBLE") : M (MemoryOpResult unit))
+ else (internal_error "Unexpected AMO width") : M (MemoryOpResult unit))
: M (MemoryOpResult unit)
- | _ => (internal_error "AMO expected WORD or DOUBLE") : M (MemoryOpResult unit)
end) >>= fun eares : MemoryOpResult unit =>
let is_unsigned : bool :=
match op with | AMOMINU => true | AMOMAXU => true | _ => false end in
(match width with
+ | BYTE =>
+ (if sumbool_of_bool is_unsigned then
+ (rX_bits rs2) >>= fun w__9 : mword 64 =>
+ returnm (EXTZ 64 (subrange_vec_dec w__9 7 0))
+ else
+ (rX_bits rs2) >>= fun w__10 : mword 64 =>
+ returnm (EXTS 64 (subrange_vec_dec w__10 7 0)))
+ : M (mword 64)
+ | HALF =>
+ (if sumbool_of_bool is_unsigned then
+ (rX_bits rs2) >>= fun w__12 : mword 64 =>
+ returnm (EXTZ 64 (subrange_vec_dec w__12 15 0))
+ else
+ (rX_bits rs2) >>= fun w__13 : mword 64 =>
+ returnm (EXTS 64 (subrange_vec_dec w__13 15 0)))
+ : M (mword 64)
| WORD =>
(if sumbool_of_bool is_unsigned then
- (rX_bits rs2) >>= fun w__8 : mword 64 =>
- returnm (EXTZ 64 (subrange_vec_dec w__8 31 0))
+ (rX_bits rs2) >>= fun w__15 : mword 64 =>
+ returnm (EXTZ 64 (subrange_vec_dec w__15 31 0))
else
- (rX_bits rs2) >>= fun w__9 : mword 64 =>
- returnm (EXTS 64 (subrange_vec_dec w__9 31 0)))
+ (rX_bits rs2) >>= fun w__16 : mword 64 =>
+ returnm (EXTS 64 (subrange_vec_dec w__16 31 0)))
: M (mword 64)
| DOUBLE => (rX_bits rs2) : M (mword 64)
- | _ => (internal_error "AMO expected WORD or DOUBLE") : M (mword 64)
end) >>= fun rs2_val : xlenbits =>
(match eares with
| MemException e => (handle_mem_exception addr e) >> returnm RETIRE_FAIL
| MemValue _ =>
(match (width, 64) with
- | (WORD, g__315) =>
- (mem_read (ReadWrite Data) addr 4 aq (andb aq rl) true) >>= fun w__13 : MemoryOpResult (mword (8 * 4)) =>
- returnm (extend_value is_unsigned w__13)
+ | (BYTE, g__323) =>
+ (mem_read (ReadWrite (Data, Data)) addr 1 aq (andb aq rl) true) >>= fun w__19 : MemoryOpResult (mword (8 * 1)) =>
+ returnm (extend_value is_unsigned w__19)
+ | (HALF, g__324) =>
+ (mem_read (ReadWrite (Data, Data)) addr 2 aq (andb aq rl) true) >>= fun w__20 : MemoryOpResult (mword (8 * 2)) =>
+ returnm (extend_value is_unsigned w__20)
+ | (WORD, g__325) =>
+ (mem_read (ReadWrite (Data, Data)) addr 4 aq (andb aq rl) true) >>= fun w__21 : MemoryOpResult (mword (8 * 4)) =>
+ returnm (extend_value is_unsigned w__21)
| (DOUBLE, l__6) =>
(if sumbool_of_bool (Z.eqb l__6 64) then
- (mem_read (ReadWrite Data) addr 8 aq (andb aq rl) true) >>= fun w__14 : MemoryOpResult (mword (8 * 8)) =>
- returnm (extend_value is_unsigned w__14)
- else
- (internal_error "AMO expected WORD or DOUBLE")
- : M (MemoryOpResult (mword 64)))
- : M (MemoryOpResult (mword 64))
- | _ =>
- (internal_error "AMO expected WORD or DOUBLE")
+ (mem_read (ReadWrite (Data, Data)) addr 8 aq (andb aq rl) true) >>= fun w__22 : MemoryOpResult (mword (8 * 8)) =>
+ returnm (extend_value is_unsigned w__22)
+ else (internal_error "Unexpected AMO width") : M (MemoryOpResult (mword 64)))
: M (MemoryOpResult (mword 64))
end) >>= fun mval : MemoryOpResult xlenbits =>
(match mval with
@@ -30039,13 +29639,22 @@ Definition execute_AMO
(projT1
(max_atom (projT1 (uint rs2_val)) (projT1 (uint loaded))))
end in
- (match width with
- | WORD => returnm (EXTS 64 (subrange_vec_dec loaded 31 0))
- | DOUBLE => returnm loaded
- | _ => (internal_error "AMO expected WORD or DOUBLE") : M (mword 64)
- end) >>= fun rval : xlenbits =>
+ let rval : xlenbits :=
+ match width with
+ | BYTE => EXTS 64 (subrange_vec_dec loaded 7 0)
+ | HALF => EXTS 64 (subrange_vec_dec loaded 15 0)
+ | WORD => EXTS 64 (subrange_vec_dec loaded 31 0)
+ | DOUBLE => loaded
+ end in
(match (width, 64) with
- | (WORD, g__314) =>
+ | (BYTE, g__320) =>
+ (mem_write_value addr 1 (subrange_vec_dec result 7 0) (andb aq rl) rl true)
+ : M (MemoryOpResult bool)
+ | (HALF, g__321) =>
+ (mem_write_value addr 2 (subrange_vec_dec result 15 0) (andb aq rl) rl
+ true)
+ : M (MemoryOpResult bool)
+ | (WORD, g__322) =>
(mem_write_value addr 4 (subrange_vec_dec result 31 0) (andb aq rl) rl
true)
: M (MemoryOpResult bool)
@@ -30053,12 +29662,8 @@ Definition execute_AMO
(if sumbool_of_bool (Z.eqb l__5 64) then
(mem_write_value addr 8 result (andb aq rl) rl true)
: M (MemoryOpResult bool)
- else
- (internal_error "AMO expected WORD or DOUBLE")
- : M (MemoryOpResult bool))
+ else (internal_error "Unexpected AMO width") : M (MemoryOpResult bool))
: M (MemoryOpResult bool)
- | _ =>
- (internal_error "AMO expected WORD or DOUBLE") : M (MemoryOpResult bool)
end) >>= fun wval : MemoryOpResult bool =>
(match wval with
| MemValue true => (wX_bits rd rval) >> returnm RETIRE_SUCCESS
@@ -30357,6 +29962,17 @@ exact (
| REMW (rs2, rs1, rd, s) => (execute_REMW rs2 rs1 rd s) : M (Retired)
| CSR (csr, rs1, rd, is_imm, op) => (execute_CSR csr rs1 rd is_imm op) : M (Retired)
| URET arg0 => (execute_URET arg0) : M (Retired)
+ | C_NOP_HINT imm => returnm (execute_C_NOP_HINT imm)
+ | C_ADDI_HINT rsd => returnm (execute_C_ADDI_HINT rsd)
+ | C_LI_HINT imm => returnm (execute_C_LI_HINT imm)
+ | C_LUI_HINT imm => returnm (execute_C_LUI_HINT imm)
+ | C_MV_HINT rs2 => returnm (execute_C_MV_HINT rs2)
+ | C_ADD_HINT rs2 => returnm (execute_C_ADD_HINT rs2)
+ | C_SLLI_HINT (shamt, rsd) => returnm (execute_C_SLLI_HINT shamt rsd)
+ | C_SRLI_HINT rsd => returnm (execute_C_SRLI_HINT rsd)
+ | C_SRAI_HINT rsd => returnm (execute_C_SRAI_HINT rsd)
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) => returnm (execute_FENCE_RESERVED fm pred succ rs rd)
+ | FENCEI_RESERVED (imm, rs, rd) => returnm (execute_FENCEI_RESERVED imm rs rd)
| LOAD_FP (imm, rs1, rd, width) => (execute_LOAD_FP imm rs1 rd width) : M (Retired)
| STORE_FP (imm, rs2, rs1, width) => (execute_STORE_FP imm rs2 rs1 width) : M (Retired)
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, op) =>
@@ -30989,285 +30605,356 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
(string_append (csr_name_map_forwards csr)
(string_append (sep_forwards tt) (string_append w__158 "")))))))
| URET tt => returnm "uret"
+ | C_NOP_HINT imm =>
+ returnm (string_append "c.nop.hint." (string_append (decimal_string_of_bits imm) ""))
+ | C_ADDI_HINT rsd =>
+ (if neq_vec rsd zreg then
+ (reg_name_forwards rsd) >>= fun w__159 : string =>
+ returnm (string_append "c.addi.hint." (string_append w__159 ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_LI_HINT imm =>
+ returnm (string_append "c.li.hint." (string_append (decimal_string_of_bits imm) ""))
+ | C_LUI_HINT imm =>
+ (if neq_vec imm ('b"000000" : mword 6) then
+ returnm (string_append "c.lui.hint." (string_append (decimal_string_of_bits imm) ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_MV_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ (reg_name_forwards rs2) >>= fun w__164 : string =>
+ returnm (string_append "c.mv.hint." (string_append w__164 ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_ADD_HINT rs2 =>
+ (if neq_vec rs2 zreg then
+ (reg_name_forwards rs2) >>= fun w__167 : string =>
+ returnm (string_append "c.add.hint." (string_append w__167 ""))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_SLLI_HINT (shamt, rsd) =>
+ (if orb (eq_vec shamt ('b"000000" : mword 6)) (eq_vec rsd zreg) then
+ (reg_name_forwards rsd) >>= fun w__170 : string =>
+ returnm (string_append "c.slli.hint."
+ (string_append w__170
+ (string_append "." (string_append (decimal_string_of_bits shamt) ""))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | C_SRLI_HINT rsd =>
+ (creg_name_forwards rsd) >>= fun w__173 : string =>
+ returnm (string_append "c.srli.hint." (string_append w__173 ""))
+ | C_SRAI_HINT rsd =>
+ (creg_name_forwards rsd) >>= fun w__174 : string =>
+ returnm (string_append "c.srai.hint." (string_append w__174 ""))
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ (if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5))) then
+ (fence_bits_forwards pred) >>= fun w__175 : string =>
+ (fence_bits_forwards succ) >>= fun w__176 : string =>
+ (reg_name_forwards rs) >>= fun w__177 : string =>
+ (reg_name_forwards rd) >>= fun w__178 : string =>
+ returnm (string_append "fence.reserved."
+ (string_append w__175
+ (string_append "."
+ (string_append w__176
+ (string_append "."
+ (string_append w__177
+ (string_append "."
+ (string_append w__178
+ (string_append "."
+ (string_append (decimal_string_of_bits fm) ""))))))))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ (if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg)) then
+ (reg_name_forwards rd) >>= fun w__181 : string =>
+ (reg_name_forwards rs) >>= fun w__182 : string =>
+ returnm (string_append "fence.i.reserved."
+ (string_append w__181
+ (string_append "."
+ (string_append w__182
+ (string_append "." (string_append (decimal_string_of_bits imm) ""))))))
+ else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
+ : M (string)
| LOAD_FP (imm, rs1, rd, width) =>
- (freg_name_forwards rd) >>= fun w__159 : string =>
- (reg_name_forwards rs1) >>= fun w__160 : string =>
+ (freg_name_forwards rd) >>= fun w__185 : string =>
+ (reg_name_forwards rs1) >>= fun w__186 : string =>
returnm (string_append "fl"
(string_append (size_mnemonic_forwards width)
(string_append (spc_forwards tt)
- (string_append w__159
+ (string_append w__185
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits imm)
(string_append (opt_spc_forwards tt)
(string_append "("
(string_append (opt_spc_forwards tt)
- (string_append w__160
+ (string_append w__186
(string_append (opt_spc_forwards tt)
(string_append ")" ""))))))))))))
| STORE_FP (imm, rs2, rs1, width) =>
- (freg_name_forwards rs2) >>= fun w__161 : string =>
- (reg_name_forwards rs1) >>= fun w__162 : string =>
+ (freg_name_forwards rs2) >>= fun w__187 : string =>
+ (reg_name_forwards rs1) >>= fun w__188 : string =>
returnm (string_append "fs"
(string_append (size_mnemonic_forwards width)
(string_append (spc_forwards tt)
- (string_append w__161
+ (string_append w__187
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits imm)
(string_append (opt_spc_forwards tt)
(string_append "("
(string_append (opt_spc_forwards tt)
- (string_append w__162
+ (string_append w__188
(string_append (opt_spc_forwards tt)
(string_append ")" ""))))))))))))
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, op) =>
- (freg_name_forwards rd) >>= fun w__163 : string =>
- (freg_name_forwards rs1) >>= fun w__164 : string =>
- (freg_name_forwards rs2) >>= fun w__165 : string =>
- (freg_name_forwards rs3) >>= fun w__166 : string =>
+ (freg_name_forwards rd) >>= fun w__189 : string =>
+ (freg_name_forwards rs1) >>= fun w__190 : string =>
+ (freg_name_forwards rs2) >>= fun w__191 : string =>
+ (freg_name_forwards rs3) >>= fun w__192 : string =>
returnm (string_append (f_madd_type_mnemonic_S_forwards op)
(string_append (spc_forwards tt)
- (string_append w__163
+ (string_append w__189
(string_append (sep_forwards tt)
- (string_append w__164
+ (string_append w__190
(string_append (sep_forwards tt)
- (string_append w__165
+ (string_append w__191
(string_append (sep_forwards tt)
- (string_append w__166
+ (string_append w__192
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))))))
| F_BIN_RM_TYPE_S (rs2, rs1, rm, rd, op) =>
- (freg_name_forwards rd) >>= fun w__167 : string =>
- (freg_name_forwards rs1) >>= fun w__168 : string =>
- (freg_name_forwards rs2) >>= fun w__169 : string =>
+ (freg_name_forwards rd) >>= fun w__193 : string =>
+ (freg_name_forwards rs1) >>= fun w__194 : string =>
+ (freg_name_forwards rs2) >>= fun w__195 : string =>
returnm (string_append (f_bin_rm_type_mnemonic_S_forwards op)
(string_append (spc_forwards tt)
- (string_append w__167
+ (string_append w__193
(string_append (sep_forwards tt)
- (string_append w__168
+ (string_append w__194
(string_append (sep_forwards tt)
- (string_append w__169
+ (string_append w__195
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FSQRT_S) =>
- (freg_name_forwards rd) >>= fun w__170 : string =>
- (freg_name_forwards rs1) >>= fun w__171 : string =>
+ (freg_name_forwards rd) >>= fun w__196 : string =>
+ (freg_name_forwards rs1) >>= fun w__197 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FSQRT_S)
(string_append (spc_forwards tt)
- (string_append w__170
+ (string_append w__196
(string_append (sep_forwards tt)
- (string_append w__171
+ (string_append w__197
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_W_S) =>
- (reg_name_forwards rd) >>= fun w__172 : string =>
- (freg_name_forwards rs1) >>= fun w__173 : string =>
+ (reg_name_forwards rd) >>= fun w__198 : string =>
+ (freg_name_forwards rs1) >>= fun w__199 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_W_S)
(string_append (spc_forwards tt)
- (string_append w__172
+ (string_append w__198
(string_append (sep_forwards tt)
- (string_append w__173
+ (string_append w__199
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_WU_S) =>
- (reg_name_forwards rd) >>= fun w__174 : string =>
- (freg_name_forwards rs1) >>= fun w__175 : string =>
+ (reg_name_forwards rd) >>= fun w__200 : string =>
+ (freg_name_forwards rs1) >>= fun w__201 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_WU_S)
(string_append (spc_forwards tt)
- (string_append w__174
+ (string_append w__200
(string_append (sep_forwards tt)
- (string_append w__175
+ (string_append w__201
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_W) =>
- (freg_name_forwards rd) >>= fun w__176 : string =>
- (reg_name_forwards rs1) >>= fun w__177 : string =>
+ (freg_name_forwards rd) >>= fun w__202 : string =>
+ (reg_name_forwards rs1) >>= fun w__203 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_W)
(string_append (spc_forwards tt)
- (string_append w__176
+ (string_append w__202
(string_append (sep_forwards tt)
- (string_append w__177
+ (string_append w__203
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_WU) =>
- (freg_name_forwards rd) >>= fun w__178 : string =>
- (reg_name_forwards rs1) >>= fun w__179 : string =>
+ (freg_name_forwards rd) >>= fun w__204 : string =>
+ (reg_name_forwards rs1) >>= fun w__205 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_WU)
(string_append (spc_forwards tt)
- (string_append w__178
+ (string_append w__204
(string_append (sep_forwards tt)
- (string_append w__179
+ (string_append w__205
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_L_S) =>
- (reg_name_forwards rd) >>= fun w__180 : string =>
- (freg_name_forwards rs1) >>= fun w__181 : string =>
+ (reg_name_forwards rd) >>= fun w__206 : string =>
+ (freg_name_forwards rs1) >>= fun w__207 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_L_S)
(string_append (spc_forwards tt)
- (string_append w__180
+ (string_append w__206
(string_append (sep_forwards tt)
- (string_append w__181
+ (string_append w__207
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_LU_S) =>
- (reg_name_forwards rd) >>= fun w__182 : string =>
- (freg_name_forwards rs1) >>= fun w__183 : string =>
+ (reg_name_forwards rd) >>= fun w__208 : string =>
+ (freg_name_forwards rs1) >>= fun w__209 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_LU_S)
(string_append (spc_forwards tt)
- (string_append w__182
+ (string_append w__208
(string_append (sep_forwards tt)
- (string_append w__183
+ (string_append w__209
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_L) =>
- (freg_name_forwards rd) >>= fun w__184 : string =>
- (reg_name_forwards rs1) >>= fun w__185 : string =>
+ (freg_name_forwards rd) >>= fun w__210 : string =>
+ (reg_name_forwards rs1) >>= fun w__211 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_L)
(string_append (spc_forwards tt)
- (string_append w__184
+ (string_append w__210
(string_append (sep_forwards tt)
- (string_append w__185
+ (string_append w__211
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_S (rs1, rm, rd, FCVT_S_LU) =>
- (freg_name_forwards rd) >>= fun w__186 : string =>
- (reg_name_forwards rs1) >>= fun w__187 : string =>
+ (freg_name_forwards rd) >>= fun w__212 : string =>
+ (reg_name_forwards rs1) >>= fun w__213 : string =>
returnm (string_append (f_un_rm_type_mnemonic_S_forwards FCVT_S_LU)
(string_append (spc_forwards tt)
- (string_append w__186
+ (string_append w__212
(string_append (sep_forwards tt)
- (string_append w__187
+ (string_append w__213
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJ_S) =>
- (freg_name_forwards rd) >>= fun w__188 : string =>
- (freg_name_forwards rs1) >>= fun w__189 : string =>
- (freg_name_forwards rs2) >>= fun w__190 : string =>
+ (freg_name_forwards rd) >>= fun w__214 : string =>
+ (freg_name_forwards rs1) >>= fun w__215 : string =>
+ (freg_name_forwards rs2) >>= fun w__216 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FSGNJ_S)
(string_append (spc_forwards tt)
- (string_append w__188
+ (string_append w__214
(string_append (sep_forwards tt)
- (string_append w__189
- (string_append (sep_forwards tt) (string_append w__190 "")))))))
+ (string_append w__215
+ (string_append (sep_forwards tt) (string_append w__216 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJN_S) =>
- (freg_name_forwards rd) >>= fun w__191 : string =>
- (freg_name_forwards rs1) >>= fun w__192 : string =>
- (freg_name_forwards rs2) >>= fun w__193 : string =>
+ (freg_name_forwards rd) >>= fun w__217 : string =>
+ (freg_name_forwards rs1) >>= fun w__218 : string =>
+ (freg_name_forwards rs2) >>= fun w__219 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FSGNJN_S)
(string_append (spc_forwards tt)
- (string_append w__191
+ (string_append w__217
(string_append (sep_forwards tt)
- (string_append w__192
- (string_append (sep_forwards tt) (string_append w__193 "")))))))
+ (string_append w__218
+ (string_append (sep_forwards tt) (string_append w__219 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FSGNJX_S) =>
- (freg_name_forwards rd) >>= fun w__194 : string =>
- (freg_name_forwards rs1) >>= fun w__195 : string =>
- (freg_name_forwards rs2) >>= fun w__196 : string =>
+ (freg_name_forwards rd) >>= fun w__220 : string =>
+ (freg_name_forwards rs1) >>= fun w__221 : string =>
+ (freg_name_forwards rs2) >>= fun w__222 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FSGNJX_S)
(string_append (spc_forwards tt)
- (string_append w__194
+ (string_append w__220
(string_append (sep_forwards tt)
- (string_append w__195
- (string_append (sep_forwards tt) (string_append w__196 "")))))))
+ (string_append w__221
+ (string_append (sep_forwards tt) (string_append w__222 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FMIN_S) =>
- (freg_name_forwards rd) >>= fun w__197 : string =>
- (freg_name_forwards rs1) >>= fun w__198 : string =>
- (freg_name_forwards rs2) >>= fun w__199 : string =>
+ (freg_name_forwards rd) >>= fun w__223 : string =>
+ (freg_name_forwards rs1) >>= fun w__224 : string =>
+ (freg_name_forwards rs2) >>= fun w__225 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FMIN_S)
(string_append (spc_forwards tt)
- (string_append w__197
+ (string_append w__223
(string_append (sep_forwards tt)
- (string_append w__198
- (string_append (sep_forwards tt) (string_append w__199 "")))))))
+ (string_append w__224
+ (string_append (sep_forwards tt) (string_append w__225 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FMAX_S) =>
- (freg_name_forwards rd) >>= fun w__200 : string =>
- (freg_name_forwards rs1) >>= fun w__201 : string =>
- (freg_name_forwards rs2) >>= fun w__202 : string =>
+ (freg_name_forwards rd) >>= fun w__226 : string =>
+ (freg_name_forwards rs1) >>= fun w__227 : string =>
+ (freg_name_forwards rs2) >>= fun w__228 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FMAX_S)
(string_append (spc_forwards tt)
- (string_append w__200
+ (string_append w__226
(string_append (sep_forwards tt)
- (string_append w__201
- (string_append (sep_forwards tt) (string_append w__202 "")))))))
+ (string_append w__227
+ (string_append (sep_forwards tt) (string_append w__228 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FEQ_S) =>
- (reg_name_forwards rd) >>= fun w__203 : string =>
- (freg_name_forwards rs1) >>= fun w__204 : string =>
- (freg_name_forwards rs2) >>= fun w__205 : string =>
+ (reg_name_forwards rd) >>= fun w__229 : string =>
+ (freg_name_forwards rs1) >>= fun w__230 : string =>
+ (freg_name_forwards rs2) >>= fun w__231 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FEQ_S)
(string_append (spc_forwards tt)
- (string_append w__203
+ (string_append w__229
(string_append (sep_forwards tt)
- (string_append w__204
- (string_append (sep_forwards tt) (string_append w__205 "")))))))
+ (string_append w__230
+ (string_append (sep_forwards tt) (string_append w__231 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FLT_S) =>
- (reg_name_forwards rd) >>= fun w__206 : string =>
- (freg_name_forwards rs1) >>= fun w__207 : string =>
- (freg_name_forwards rs2) >>= fun w__208 : string =>
+ (reg_name_forwards rd) >>= fun w__232 : string =>
+ (freg_name_forwards rs1) >>= fun w__233 : string =>
+ (freg_name_forwards rs2) >>= fun w__234 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FLT_S)
(string_append (spc_forwards tt)
- (string_append w__206
+ (string_append w__232
(string_append (sep_forwards tt)
- (string_append w__207
- (string_append (sep_forwards tt) (string_append w__208 "")))))))
+ (string_append w__233
+ (string_append (sep_forwards tt) (string_append w__234 "")))))))
| F_BIN_TYPE_S (rs2, rs1, rd, FLE_S) =>
- (reg_name_forwards rd) >>= fun w__209 : string =>
- (freg_name_forwards rs1) >>= fun w__210 : string =>
- (freg_name_forwards rs2) >>= fun w__211 : string =>
+ (reg_name_forwards rd) >>= fun w__235 : string =>
+ (freg_name_forwards rs1) >>= fun w__236 : string =>
+ (freg_name_forwards rs2) >>= fun w__237 : string =>
returnm (string_append (f_bin_type_mnemonic_S_forwards FLE_S)
(string_append (spc_forwards tt)
- (string_append w__209
+ (string_append w__235
(string_append (sep_forwards tt)
- (string_append w__210
- (string_append (sep_forwards tt) (string_append w__211 "")))))))
+ (string_append w__236
+ (string_append (sep_forwards tt) (string_append w__237 "")))))))
| F_UN_TYPE_S (rs1, rd, FMV_X_W) =>
- (reg_name_forwards rd) >>= fun w__212 : string =>
- (freg_name_forwards rs1) >>= fun w__213 : string =>
+ (reg_name_forwards rd) >>= fun w__238 : string =>
+ (freg_name_forwards rs1) >>= fun w__239 : string =>
returnm (string_append (f_un_type_mnemonic_S_forwards FMV_X_W)
(string_append (spc_forwards tt)
- (string_append w__212
- (string_append (sep_forwards tt) (string_append w__213 "")))))
+ (string_append w__238
+ (string_append (sep_forwards tt) (string_append w__239 "")))))
| F_UN_TYPE_S (rs1, rd, FMV_W_X) =>
- (freg_name_forwards rd) >>= fun w__214 : string =>
- (reg_name_forwards rs1) >>= fun w__215 : string =>
+ (freg_name_forwards rd) >>= fun w__240 : string =>
+ (reg_name_forwards rs1) >>= fun w__241 : string =>
returnm (string_append (f_un_type_mnemonic_S_forwards FMV_W_X)
(string_append (spc_forwards tt)
- (string_append w__214
- (string_append (sep_forwards tt) (string_append w__215 "")))))
+ (string_append w__240
+ (string_append (sep_forwards tt) (string_append w__241 "")))))
| F_UN_TYPE_S (rs1, rd, FCLASS_S) =>
- (reg_name_forwards rd) >>= fun w__216 : string =>
- (freg_name_forwards rs1) >>= fun w__217 : string =>
+ (reg_name_forwards rd) >>= fun w__242 : string =>
+ (freg_name_forwards rs1) >>= fun w__243 : string =>
returnm (string_append (f_un_type_mnemonic_S_forwards FCLASS_S)
(string_append (spc_forwards tt)
- (string_append w__216
- (string_append (sep_forwards tt) (string_append w__217 "")))))
+ (string_append w__242
+ (string_append (sep_forwards tt) (string_append w__243 "")))))
| C_FLWSP (imm, rd) =>
(if sumbool_of_bool (Z.eqb 64 32) then
- (reg_name_forwards rd) >>= fun w__218 : string =>
+ (reg_name_forwards rd) >>= fun w__244 : string =>
returnm (string_append "c.flwsp"
(string_append (spc_forwards tt)
- (string_append w__218
+ (string_append w__244
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits imm) "")))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (string)
| C_FSWSP (uimm, rd) =>
(if sumbool_of_bool (Z.eqb 64 32) then
- (reg_name_forwards rd) >>= fun w__221 : string =>
+ (reg_name_forwards rd) >>= fun w__247 : string =>
returnm (string_append "c.fswsp"
(string_append (spc_forwards tt)
- (string_append w__221
+ (string_append w__247
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits uimm) "")))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (string)
| C_FLW (uimm, rsc, rdc) =>
(if sumbool_of_bool (Z.eqb 64 32) then
- (creg_name_forwards rdc) >>= fun w__224 : string =>
- (creg_name_forwards rsc) >>= fun w__225 : string =>
+ (creg_name_forwards rdc) >>= fun w__250 : string =>
+ (creg_name_forwards rsc) >>= fun w__251 : string =>
returnm (string_append "c.flw"
(string_append (spc_forwards tt)
- (string_append w__224
+ (string_append w__250
(string_append (sep_forwards tt)
- (string_append w__225
+ (string_append w__251
(string_append (sep_forwards tt)
(string_append
(decimal_string_of_bits
@@ -31276,13 +30963,13 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
: M (string)
| C_FSW (uimm, rsc1, rsc2) =>
(if sumbool_of_bool (Z.eqb 64 32) then
- (creg_name_forwards rsc1) >>= fun w__228 : string =>
- (creg_name_forwards rsc2) >>= fun w__229 : string =>
+ (creg_name_forwards rsc1) >>= fun w__254 : string =>
+ (creg_name_forwards rsc2) >>= fun w__255 : string =>
returnm (string_append "c.fsw"
(string_append (spc_forwards tt)
- (string_append w__228
+ (string_append w__254
(string_append (sep_forwards tt)
- (string_append w__229
+ (string_append w__255
(string_append (sep_forwards tt)
(string_append
(decimal_string_of_bits
@@ -31290,274 +30977,274 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (string)
| F_MADD_TYPE_D (rs3, rs2, rs1, rm, rd, op) =>
- (freg_name_forwards rd) >>= fun w__232 : string =>
- (freg_name_forwards rs1) >>= fun w__233 : string =>
- (freg_name_forwards rs2) >>= fun w__234 : string =>
- (freg_name_forwards rs3) >>= fun w__235 : string =>
+ (freg_name_forwards rd) >>= fun w__258 : string =>
+ (freg_name_forwards rs1) >>= fun w__259 : string =>
+ (freg_name_forwards rs2) >>= fun w__260 : string =>
+ (freg_name_forwards rs3) >>= fun w__261 : string =>
returnm (string_append (f_madd_type_mnemonic_D_forwards op)
(string_append (spc_forwards tt)
- (string_append w__232
+ (string_append w__258
(string_append (sep_forwards tt)
- (string_append w__233
+ (string_append w__259
(string_append (sep_forwards tt)
- (string_append w__234
+ (string_append w__260
(string_append (sep_forwards tt)
- (string_append w__235
+ (string_append w__261
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))))))
| F_BIN_RM_TYPE_D (rs2, rs1, rm, rd, op) =>
- (freg_name_forwards rd) >>= fun w__236 : string =>
- (freg_name_forwards rs1) >>= fun w__237 : string =>
- (freg_name_forwards rs2) >>= fun w__238 : string =>
+ (freg_name_forwards rd) >>= fun w__262 : string =>
+ (freg_name_forwards rs1) >>= fun w__263 : string =>
+ (freg_name_forwards rs2) >>= fun w__264 : string =>
returnm (string_append (f_bin_rm_type_mnemonic_D_forwards op)
(string_append (spc_forwards tt)
- (string_append w__236
+ (string_append w__262
(string_append (sep_forwards tt)
- (string_append w__237
+ (string_append w__263
(string_append (sep_forwards tt)
- (string_append w__238
+ (string_append w__264
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FSQRT_D) =>
- (freg_name_forwards rd) >>= fun w__239 : string =>
- (freg_name_forwards rs1) >>= fun w__240 : string =>
+ (freg_name_forwards rd) >>= fun w__265 : string =>
+ (freg_name_forwards rs1) >>= fun w__266 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FSQRT_D)
(string_append (spc_forwards tt)
- (string_append w__239
+ (string_append w__265
(string_append (sep_forwards tt)
- (string_append w__240
+ (string_append w__266
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_W_D) =>
- (reg_name_forwards rd) >>= fun w__241 : string =>
- (freg_name_forwards rs1) >>= fun w__242 : string =>
+ (reg_name_forwards rd) >>= fun w__267 : string =>
+ (freg_name_forwards rs1) >>= fun w__268 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_W_D)
(string_append (spc_forwards tt)
- (string_append w__241
+ (string_append w__267
(string_append (sep_forwards tt)
- (string_append w__242
+ (string_append w__268
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_WU_D) =>
- (reg_name_forwards rd) >>= fun w__243 : string =>
- (freg_name_forwards rs1) >>= fun w__244 : string =>
+ (reg_name_forwards rd) >>= fun w__269 : string =>
+ (freg_name_forwards rs1) >>= fun w__270 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_WU_D)
(string_append (spc_forwards tt)
- (string_append w__243
+ (string_append w__269
(string_append (sep_forwards tt)
- (string_append w__244
+ (string_append w__270
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_W) =>
- (freg_name_forwards rd) >>= fun w__245 : string =>
- (reg_name_forwards rs1) >>= fun w__246 : string =>
+ (freg_name_forwards rd) >>= fun w__271 : string =>
+ (reg_name_forwards rs1) >>= fun w__272 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_D_W)
(string_append (spc_forwards tt)
- (string_append w__245
+ (string_append w__271
(string_append (sep_forwards tt)
- (string_append w__246
+ (string_append w__272
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_WU) =>
- (freg_name_forwards rd) >>= fun w__247 : string =>
- (reg_name_forwards rs1) >>= fun w__248 : string =>
+ (freg_name_forwards rd) >>= fun w__273 : string =>
+ (reg_name_forwards rs1) >>= fun w__274 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_D_WU)
(string_append (spc_forwards tt)
- (string_append w__247
+ (string_append w__273
(string_append (sep_forwards tt)
- (string_append w__248
+ (string_append w__274
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_L_D) =>
- (reg_name_forwards rd) >>= fun w__249 : string =>
- (freg_name_forwards rs1) >>= fun w__250 : string =>
+ (reg_name_forwards rd) >>= fun w__275 : string =>
+ (freg_name_forwards rs1) >>= fun w__276 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_L_D)
(string_append (spc_forwards tt)
- (string_append w__249
+ (string_append w__275
(string_append (sep_forwards tt)
- (string_append w__250
+ (string_append w__276
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_LU_D) =>
- (reg_name_forwards rd) >>= fun w__251 : string =>
- (freg_name_forwards rs1) >>= fun w__252 : string =>
+ (reg_name_forwards rd) >>= fun w__277 : string =>
+ (freg_name_forwards rs1) >>= fun w__278 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_LU_D)
(string_append (spc_forwards tt)
- (string_append w__251
+ (string_append w__277
(string_append (sep_forwards tt)
- (string_append w__252
+ (string_append w__278
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_L) =>
- (freg_name_forwards rd) >>= fun w__253 : string =>
- (reg_name_forwards rs1) >>= fun w__254 : string =>
+ (freg_name_forwards rd) >>= fun w__279 : string =>
+ (reg_name_forwards rs1) >>= fun w__280 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_D_L)
(string_append (spc_forwards tt)
- (string_append w__253
+ (string_append w__279
(string_append (sep_forwards tt)
- (string_append w__254
+ (string_append w__280
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_LU) =>
- (freg_name_forwards rd) >>= fun w__255 : string =>
- (reg_name_forwards rs1) >>= fun w__256 : string =>
+ (freg_name_forwards rd) >>= fun w__281 : string =>
+ (reg_name_forwards rs1) >>= fun w__282 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_D_LU)
(string_append (spc_forwards tt)
- (string_append w__255
+ (string_append w__281
(string_append (sep_forwards tt)
- (string_append w__256
+ (string_append w__282
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_S_D) =>
- (freg_name_forwards rd) >>= fun w__257 : string =>
- (freg_name_forwards rs1) >>= fun w__258 : string =>
+ (freg_name_forwards rd) >>= fun w__283 : string =>
+ (freg_name_forwards rs1) >>= fun w__284 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_S_D)
(string_append (spc_forwards tt)
- (string_append w__257
+ (string_append w__283
(string_append (sep_forwards tt)
- (string_append w__258
+ (string_append w__284
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_UN_RM_TYPE_D (rs1, rm, rd, FCVT_D_S) =>
- (freg_name_forwards rd) >>= fun w__259 : string =>
- (freg_name_forwards rs1) >>= fun w__260 : string =>
+ (freg_name_forwards rd) >>= fun w__285 : string =>
+ (freg_name_forwards rs1) >>= fun w__286 : string =>
returnm (string_append (f_un_rm_type_mnemonic_D_forwards FCVT_D_S)
(string_append (spc_forwards tt)
- (string_append w__259
+ (string_append w__285
(string_append (sep_forwards tt)
- (string_append w__260
+ (string_append w__286
(string_append (sep_forwards tt)
(string_append (frm_mnemonic_forwards rm) "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FSGNJ_D) =>
- (freg_name_forwards rd) >>= fun w__261 : string =>
- (freg_name_forwards rs1) >>= fun w__262 : string =>
- (freg_name_forwards rs2) >>= fun w__263 : string =>
+ (freg_name_forwards rd) >>= fun w__287 : string =>
+ (freg_name_forwards rs1) >>= fun w__288 : string =>
+ (freg_name_forwards rs2) >>= fun w__289 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FSGNJ_D)
(string_append (spc_forwards tt)
- (string_append w__261
+ (string_append w__287
(string_append (sep_forwards tt)
- (string_append w__262
- (string_append (sep_forwards tt) (string_append w__263 "")))))))
+ (string_append w__288
+ (string_append (sep_forwards tt) (string_append w__289 "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FSGNJN_D) =>
- (freg_name_forwards rd) >>= fun w__264 : string =>
- (freg_name_forwards rs1) >>= fun w__265 : string =>
- (freg_name_forwards rs2) >>= fun w__266 : string =>
+ (freg_name_forwards rd) >>= fun w__290 : string =>
+ (freg_name_forwards rs1) >>= fun w__291 : string =>
+ (freg_name_forwards rs2) >>= fun w__292 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FSGNJN_D)
(string_append (spc_forwards tt)
- (string_append w__264
+ (string_append w__290
(string_append (sep_forwards tt)
- (string_append w__265
- (string_append (sep_forwards tt) (string_append w__266 "")))))))
+ (string_append w__291
+ (string_append (sep_forwards tt) (string_append w__292 "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FSGNJX_D) =>
- (freg_name_forwards rd) >>= fun w__267 : string =>
- (freg_name_forwards rs1) >>= fun w__268 : string =>
- (freg_name_forwards rs2) >>= fun w__269 : string =>
+ (freg_name_forwards rd) >>= fun w__293 : string =>
+ (freg_name_forwards rs1) >>= fun w__294 : string =>
+ (freg_name_forwards rs2) >>= fun w__295 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FSGNJX_D)
(string_append (spc_forwards tt)
- (string_append w__267
+ (string_append w__293
(string_append (sep_forwards tt)
- (string_append w__268
- (string_append (sep_forwards tt) (string_append w__269 "")))))))
+ (string_append w__294
+ (string_append (sep_forwards tt) (string_append w__295 "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FMIN_D) =>
- (freg_name_forwards rd) >>= fun w__270 : string =>
- (freg_name_forwards rs1) >>= fun w__271 : string =>
- (freg_name_forwards rs2) >>= fun w__272 : string =>
+ (freg_name_forwards rd) >>= fun w__296 : string =>
+ (freg_name_forwards rs1) >>= fun w__297 : string =>
+ (freg_name_forwards rs2) >>= fun w__298 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FMIN_D)
(string_append (spc_forwards tt)
- (string_append w__270
+ (string_append w__296
(string_append (sep_forwards tt)
- (string_append w__271
- (string_append (sep_forwards tt) (string_append w__272 "")))))))
+ (string_append w__297
+ (string_append (sep_forwards tt) (string_append w__298 "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FMAX_D) =>
- (freg_name_forwards rd) >>= fun w__273 : string =>
- (freg_name_forwards rs1) >>= fun w__274 : string =>
- (freg_name_forwards rs2) >>= fun w__275 : string =>
+ (freg_name_forwards rd) >>= fun w__299 : string =>
+ (freg_name_forwards rs1) >>= fun w__300 : string =>
+ (freg_name_forwards rs2) >>= fun w__301 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FMAX_D)
(string_append (spc_forwards tt)
- (string_append w__273
+ (string_append w__299
(string_append (sep_forwards tt)
- (string_append w__274
- (string_append (sep_forwards tt) (string_append w__275 "")))))))
+ (string_append w__300
+ (string_append (sep_forwards tt) (string_append w__301 "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FEQ_D) =>
- (reg_name_forwards rd) >>= fun w__276 : string =>
- (freg_name_forwards rs1) >>= fun w__277 : string =>
- (freg_name_forwards rs2) >>= fun w__278 : string =>
+ (reg_name_forwards rd) >>= fun w__302 : string =>
+ (freg_name_forwards rs1) >>= fun w__303 : string =>
+ (freg_name_forwards rs2) >>= fun w__304 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FEQ_D)
(string_append (spc_forwards tt)
- (string_append w__276
+ (string_append w__302
(string_append (sep_forwards tt)
- (string_append w__277
- (string_append (sep_forwards tt) (string_append w__278 "")))))))
+ (string_append w__303
+ (string_append (sep_forwards tt) (string_append w__304 "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FLT_D) =>
- (reg_name_forwards rd) >>= fun w__279 : string =>
- (freg_name_forwards rs1) >>= fun w__280 : string =>
- (freg_name_forwards rs2) >>= fun w__281 : string =>
+ (reg_name_forwards rd) >>= fun w__305 : string =>
+ (freg_name_forwards rs1) >>= fun w__306 : string =>
+ (freg_name_forwards rs2) >>= fun w__307 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FLT_D)
(string_append (spc_forwards tt)
- (string_append w__279
+ (string_append w__305
(string_append (sep_forwards tt)
- (string_append w__280
- (string_append (sep_forwards tt) (string_append w__281 "")))))))
+ (string_append w__306
+ (string_append (sep_forwards tt) (string_append w__307 "")))))))
| F_BIN_TYPE_D (rs2, rs1, rd, FLE_D) =>
- (reg_name_forwards rd) >>= fun w__282 : string =>
- (freg_name_forwards rs1) >>= fun w__283 : string =>
- (freg_name_forwards rs2) >>= fun w__284 : string =>
+ (reg_name_forwards rd) >>= fun w__308 : string =>
+ (freg_name_forwards rs1) >>= fun w__309 : string =>
+ (freg_name_forwards rs2) >>= fun w__310 : string =>
returnm (string_append (f_bin_type_mnemonic_D_forwards FLE_D)
(string_append (spc_forwards tt)
- (string_append w__282
+ (string_append w__308
(string_append (sep_forwards tt)
- (string_append w__283
- (string_append (sep_forwards tt) (string_append w__284 "")))))))
+ (string_append w__309
+ (string_append (sep_forwards tt) (string_append w__310 "")))))))
| F_UN_TYPE_D (rs1, rd, FMV_X_D) =>
- (reg_name_forwards rd) >>= fun w__285 : string =>
- (freg_name_forwards rs1) >>= fun w__286 : string =>
+ (reg_name_forwards rd) >>= fun w__311 : string =>
+ (freg_name_forwards rs1) >>= fun w__312 : string =>
returnm (string_append (f_un_type_mnemonic_D_forwards FMV_X_D)
(string_append (spc_forwards tt)
- (string_append w__285
- (string_append (sep_forwards tt) (string_append w__286 "")))))
+ (string_append w__311
+ (string_append (sep_forwards tt) (string_append w__312 "")))))
| F_UN_TYPE_D (rs1, rd, FMV_D_X) =>
- (freg_name_forwards rd) >>= fun w__287 : string =>
- (reg_name_forwards rs1) >>= fun w__288 : string =>
+ (freg_name_forwards rd) >>= fun w__313 : string =>
+ (reg_name_forwards rs1) >>= fun w__314 : string =>
returnm (string_append (f_un_type_mnemonic_D_forwards FMV_D_X)
(string_append (spc_forwards tt)
- (string_append w__287
- (string_append (sep_forwards tt) (string_append w__288 "")))))
+ (string_append w__313
+ (string_append (sep_forwards tt) (string_append w__314 "")))))
| F_UN_TYPE_D (rs1, rd, FCLASS_D) =>
- (reg_name_forwards rd) >>= fun w__289 : string =>
- (freg_name_forwards rs1) >>= fun w__290 : string =>
+ (reg_name_forwards rd) >>= fun w__315 : string =>
+ (freg_name_forwards rs1) >>= fun w__316 : string =>
returnm (string_append (f_un_type_mnemonic_D_forwards FCLASS_D)
(string_append (spc_forwards tt)
- (string_append w__289
- (string_append (sep_forwards tt) (string_append w__290 "")))))
+ (string_append w__315
+ (string_append (sep_forwards tt) (string_append w__316 "")))))
| C_FLDSP (uimm, rd) =>
(if sumbool_of_bool (orb (Z.eqb 64 32) (Z.eqb 64 64)) then
- (reg_name_forwards rd) >>= fun w__291 : string =>
+ (reg_name_forwards rd) >>= fun w__317 : string =>
returnm (string_append "c.fldsp"
(string_append (spc_forwards tt)
- (string_append w__291
+ (string_append w__317
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits uimm) "")))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (string)
| C_FSDSP (uimm, rs2) =>
(if sumbool_of_bool (orb (Z.eqb 64 32) (Z.eqb 64 64)) then
- (reg_name_forwards rs2) >>= fun w__294 : string =>
+ (reg_name_forwards rs2) >>= fun w__320 : string =>
returnm (string_append "c.fsdsp"
(string_append (spc_forwards tt)
- (string_append w__294
+ (string_append w__320
(string_append (sep_forwards tt)
(string_append (decimal_string_of_bits uimm) "")))))
else assert_exp' false "Pattern match failure at unknown location" >>= fun _ => exit tt)
: M (string)
| C_FLD (uimm, rsc, rdc) =>
(if sumbool_of_bool (orb (Z.eqb 64 32) (Z.eqb 64 64)) then
- (creg_name_forwards rdc) >>= fun w__297 : string =>
- (creg_name_forwards rsc) >>= fun w__298 : string =>
+ (creg_name_forwards rdc) >>= fun w__323 : string =>
+ (creg_name_forwards rsc) >>= fun w__324 : string =>
returnm (string_append "c.fld"
(string_append (spc_forwards tt)
- (string_append w__297
+ (string_append w__323
(string_append (sep_forwards tt)
- (string_append w__298
+ (string_append w__324
(string_append (sep_forwards tt)
(string_append
(decimal_string_of_bits
@@ -31566,13 +31253,13 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
: M (string)
| C_FSD (uimm, rsc1, rsc2) =>
(if sumbool_of_bool (orb (Z.eqb 64 32) (Z.eqb 64 64)) then
- (creg_name_forwards rsc1) >>= fun w__301 : string =>
- (creg_name_forwards rsc2) >>= fun w__302 : string =>
+ (creg_name_forwards rsc1) >>= fun w__327 : string =>
+ (creg_name_forwards rsc2) >>= fun w__328 : string =>
returnm (string_append "c.fsd"
(string_append (spc_forwards tt)
- (string_append w__301
+ (string_append w__327
(string_append (sep_forwards tt)
- (string_append w__302
+ (string_append w__328
(string_append (sep_forwards tt)
(string_append
(decimal_string_of_bits
@@ -31588,19 +31275,19 @@ Definition assembly_forwards (arg_ : ast) : M (string) :=
end)
: M (string).
-Definition _s3138_ (_s3139_ : string) : M (option (mword 16)) :=
- let _s3140_ := _s3139_ in
- (if string_startswith _s3140_ "c.illegal" then
- (match (string_drop _s3140_ (projT1 (string_length "c.illegal"))) with
- | _s3141_ =>
- (spc_matches_prefix _s3141_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3229_ (_s3230_ : string) : M (option (mword 16)) :=
+ let _s3231_ := _s3230_ in
+ (if string_startswith _s3231_ "c.illegal" then
+ (match (string_drop _s3231_ (projT1 (string_length "c.illegal"))) with
+ | _s3232_ =>
+ (spc_matches_prefix _s3232_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3142_ _) =>
- match (string_drop _s3141_ _s3142_) with
- | _s3143_ =>
- match (hex_bits_16_matches_prefix _s3143_) with
- | Some (s, existT _ _s3144_ _) =>
- let p0_ := string_drop _s3143_ _s3144_ in
+ | Some (tt, existT _ _s3233_ _) =>
+ match (string_drop _s3232_ _s3233_) with
+ | _s3234_ =>
+ match (hex_bits_16_matches_prefix _s3234_) with
+ | Some (s, existT _ _s3235_ _) =>
+ let p0_ := string_drop _s3234_ _s3235_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -31613,19 +31300,19 @@ Definition _s3138_ (_s3139_ : string) : M (option (mword 16)) :=
else returnm None)
: M (option (mword 16)).
-Definition _s3130_ (_s3131_ : string) : M (option (mword 32)) :=
- let _s3132_ := _s3131_ in
- (if string_startswith _s3132_ "illegal" then
- (match (string_drop _s3132_ (projT1 (string_length "illegal"))) with
- | _s3133_ =>
- (spc_matches_prefix _s3133_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3221_ (_s3222_ : string) : M (option (mword 32)) :=
+ let _s3223_ := _s3222_ in
+ (if string_startswith _s3223_ "illegal" then
+ (match (string_drop _s3223_ (projT1 (string_length "illegal"))) with
+ | _s3224_ =>
+ (spc_matches_prefix _s3224_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3134_ _) =>
- match (string_drop _s3133_ _s3134_) with
- | _s3135_ =>
- match (hex_bits_32_matches_prefix _s3135_) with
- | Some (s, existT _ _s3136_ _) =>
- let p0_ := string_drop _s3135_ _s3136_ in
+ | Some (tt, existT _ _s3225_ _) =>
+ match (string_drop _s3224_ _s3225_) with
+ | _s3226_ =>
+ match (hex_bits_32_matches_prefix _s3226_) with
+ | Some (s, existT _ _s3227_ _) =>
+ let p0_ := string_drop _s3226_ _s3227_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -31638,50 +31325,50 @@ Definition _s3130_ (_s3131_ : string) : M (option (mword 32)) :=
else returnm None)
: M (option (mword 32)).
-Definition _s3114_ (_s3115_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3116_ := _s3115_ in
- (if string_startswith _s3116_ "c.fsd" then
- (match (string_drop _s3116_ (projT1 (string_length "c.fsd"))) with
- | _s3117_ =>
- (spc_matches_prefix _s3117_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3205_ (_s3206_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3207_ := _s3206_ in
+ (if string_startswith _s3207_ "c.fsd" then
+ (match (string_drop _s3207_ (projT1 (string_length "c.fsd"))) with
+ | _s3208_ =>
+ (spc_matches_prefix _s3208_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3118_ _) =>
- (match (string_drop _s3117_ _s3118_) with
- | _s3119_ =>
- (creg_name_matches_prefix _s3119_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3209_ _) =>
+ (match (string_drop _s3208_ _s3209_) with
+ | _s3210_ =>
+ (creg_name_matches_prefix _s3210_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s3120_ _) =>
- (match (string_drop _s3119_ _s3120_) with
- | _s3121_ =>
- (sep_matches_prefix _s3121_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s3211_ _) =>
+ (match (string_drop _s3210_ _s3211_) with
+ | _s3212_ =>
+ (sep_matches_prefix _s3212_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3122_ _) =>
- (match (string_drop _s3121_ _s3122_) with
- | _s3123_ =>
- (creg_name_matches_prefix _s3123_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3213_ _) =>
+ (match (string_drop _s3212_ _s3213_) with
+ | _s3214_ =>
+ (creg_name_matches_prefix _s3214_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s3124_ _) =>
- (match (string_drop _s3123_ _s3124_) with
- | _s3125_ =>
- (sep_matches_prefix _s3125_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s3215_ _) =>
+ (match (string_drop _s3214_ _s3215_) with
+ | _s3216_ =>
+ (sep_matches_prefix _s3216_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3126_ _) =>
- match (string_drop _s3125_ _s3126_) with
- | _s3127_ =>
- match (hex_bits_8_matches_prefix _s3127_) with
- | Some (v__1338, existT _ _s3128_ _) =>
- if eq_vec (subrange_vec_dec v__1338 2 0)
+ | Some (tt, existT _ _s3217_ _) =>
+ match (string_drop _s3216_ _s3217_) with
+ | _s3218_ =>
+ match (hex_bits_8_matches_prefix _s3218_) with
+ | Some (v__1442, existT _ _s3219_ _) =>
+ if eq_vec (subrange_vec_dec v__1442 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1338 7 3 in
+ subrange_vec_dec v__1442 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1338 7 3 in
- let p0_ := string_drop _s3127_ _s3128_ in
+ subrange_vec_dec v__1442 7 3 in
+ let p0_ := string_drop _s3218_ _s3219_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -31716,50 +31403,50 @@ Definition _s3114_ (_s3115_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3098_ (_s3099_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3100_ := _s3099_ in
- (if string_startswith _s3100_ "c.fld" then
- (match (string_drop _s3100_ (projT1 (string_length "c.fld"))) with
- | _s3101_ =>
- (spc_matches_prefix _s3101_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3189_ (_s3190_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3191_ := _s3190_ in
+ (if string_startswith _s3191_ "c.fld" then
+ (match (string_drop _s3191_ (projT1 (string_length "c.fld"))) with
+ | _s3192_ =>
+ (spc_matches_prefix _s3192_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3102_ _) =>
- (match (string_drop _s3101_ _s3102_) with
- | _s3103_ =>
- (creg_name_matches_prefix _s3103_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3193_ _) =>
+ (match (string_drop _s3192_ _s3193_) with
+ | _s3194_ =>
+ (creg_name_matches_prefix _s3194_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s3104_ _) =>
- (match (string_drop _s3103_ _s3104_) with
- | _s3105_ =>
- (sep_matches_prefix _s3105_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s3195_ _) =>
+ (match (string_drop _s3194_ _s3195_) with
+ | _s3196_ =>
+ (sep_matches_prefix _s3196_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3106_ _) =>
- (match (string_drop _s3105_ _s3106_) with
- | _s3107_ =>
- (creg_name_matches_prefix _s3107_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3197_ _) =>
+ (match (string_drop _s3196_ _s3197_) with
+ | _s3198_ =>
+ (creg_name_matches_prefix _s3198_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s3108_ _) =>
- (match (string_drop _s3107_ _s3108_) with
- | _s3109_ =>
- (sep_matches_prefix _s3109_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s3199_ _) =>
+ (match (string_drop _s3198_ _s3199_) with
+ | _s3200_ =>
+ (sep_matches_prefix _s3200_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3110_ _) =>
- match (string_drop _s3109_ _s3110_) with
- | _s3111_ =>
- match (hex_bits_8_matches_prefix _s3111_) with
- | Some (v__1340, existT _ _s3112_ _) =>
- if eq_vec (subrange_vec_dec v__1340 2 0)
+ | Some (tt, existT _ _s3201_ _) =>
+ match (string_drop _s3200_ _s3201_) with
+ | _s3202_ =>
+ match (hex_bits_8_matches_prefix _s3202_) with
+ | Some (v__1444, existT _ _s3203_ _) =>
+ if eq_vec (subrange_vec_dec v__1444 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1340 7 3 in
+ subrange_vec_dec v__1444 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1340 7 3 in
- let p0_ := string_drop _s3111_ _s3112_ in
+ subrange_vec_dec v__1444 7 3 in
+ let p0_ := string_drop _s3202_ _s3203_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -31794,31 +31481,31 @@ Definition _s3098_ (_s3099_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3086_ (_s3087_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3088_ := _s3087_ in
- (if string_startswith _s3088_ "c.fsdsp" then
- (match (string_drop _s3088_ (projT1 (string_length "c.fsdsp"))) with
- | _s3089_ =>
- (spc_matches_prefix _s3089_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3177_ (_s3178_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3179_ := _s3178_ in
+ (if string_startswith _s3179_ "c.fsdsp" then
+ (match (string_drop _s3179_ (projT1 (string_length "c.fsdsp"))) with
+ | _s3180_ =>
+ (spc_matches_prefix _s3180_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3090_ _) =>
- (match (string_drop _s3089_ _s3090_) with
- | _s3091_ =>
- (reg_name_matches_prefix _s3091_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3181_ _) =>
+ (match (string_drop _s3180_ _s3181_) with
+ | _s3182_ =>
+ (reg_name_matches_prefix _s3182_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s3092_ _) =>
- (match (string_drop _s3091_ _s3092_) with
- | _s3093_ =>
- (sep_matches_prefix _s3093_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3183_ _) =>
+ (match (string_drop _s3182_ _s3183_) with
+ | _s3184_ =>
+ (sep_matches_prefix _s3184_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3094_ _) =>
- match (string_drop _s3093_ _s3094_) with
- | _s3095_ =>
- match (hex_bits_6_matches_prefix _s3095_) with
- | Some (uimm, existT _ _s3096_ _) =>
- let p0_ := string_drop _s3095_ _s3096_ in
+ | Some (tt, existT _ _s3185_ _) =>
+ match (string_drop _s3184_ _s3185_) with
+ | _s3186_ =>
+ match (hex_bits_6_matches_prefix _s3186_) with
+ | Some (uimm, existT _ _s3187_ _) =>
+ let p0_ := string_drop _s3186_ _s3187_ in
if generic_eq p0_ "" then Some (rs2, uimm)
else None
| _ => None
@@ -31841,31 +31528,31 @@ Definition _s3086_ (_s3087_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3074_ (_s3075_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3076_ := _s3075_ in
- (if string_startswith _s3076_ "c.fldsp" then
- (match (string_drop _s3076_ (projT1 (string_length "c.fldsp"))) with
- | _s3077_ =>
- (spc_matches_prefix _s3077_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3165_ (_s3166_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3167_ := _s3166_ in
+ (if string_startswith _s3167_ "c.fldsp" then
+ (match (string_drop _s3167_ (projT1 (string_length "c.fldsp"))) with
+ | _s3168_ =>
+ (spc_matches_prefix _s3168_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3078_ _) =>
- (match (string_drop _s3077_ _s3078_) with
- | _s3079_ =>
- (reg_name_matches_prefix _s3079_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3169_ _) =>
+ (match (string_drop _s3168_ _s3169_) with
+ | _s3170_ =>
+ (reg_name_matches_prefix _s3170_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3080_ _) =>
- (match (string_drop _s3079_ _s3080_) with
- | _s3081_ =>
- (sep_matches_prefix _s3081_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3171_ _) =>
+ (match (string_drop _s3170_ _s3171_) with
+ | _s3172_ =>
+ (sep_matches_prefix _s3172_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3082_ _) =>
- match (string_drop _s3081_ _s3082_) with
- | _s3083_ =>
- match (hex_bits_6_matches_prefix _s3083_) with
- | Some (uimm, existT _ _s3084_ _) =>
- let p0_ := string_drop _s3083_ _s3084_ in
+ | Some (tt, existT _ _s3173_ _) =>
+ match (string_drop _s3172_ _s3173_) with
+ | _s3174_ =>
+ match (hex_bits_6_matches_prefix _s3174_) with
+ | Some (uimm, existT _ _s3175_ _) =>
+ let p0_ := string_drop _s3174_ _s3175_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -31888,38 +31575,38 @@ Definition _s3074_ (_s3075_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3061_ (_s3062_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
- (match _s3062_ with
- | _s3063_ =>
- (f_un_type_mnemonic_D_matches_prefix _s3063_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s3152_ (_s3153_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
+ (match _s3153_ with
+ | _s3154_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s3154_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_D, existT _ _s3064_ _) =>
- (match (string_drop _s3063_ _s3064_) with
- | _s3065_ =>
- (spc_matches_prefix _s3065_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_D, existT _ _s3155_ _) =>
+ (match (string_drop _s3154_ _s3155_) with
+ | _s3156_ =>
+ (spc_matches_prefix _s3156_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3066_ _) =>
- (match (string_drop _s3065_ _s3066_) with
- | _s3067_ =>
- (reg_name_matches_prefix _s3067_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3157_ _) =>
+ (match (string_drop _s3156_ _s3157_) with
+ | _s3158_ =>
+ (reg_name_matches_prefix _s3158_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3068_ _) =>
- (match (string_drop _s3067_ _s3068_) with
- | _s3069_ =>
- (sep_matches_prefix _s3069_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3159_ _) =>
+ (match (string_drop _s3158_ _s3159_) with
+ | _s3160_ =>
+ (sep_matches_prefix _s3160_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3070_ _) =>
- (match (string_drop _s3069_ _s3070_) with
- | _s3071_ =>
- (freg_name_matches_prefix _s3071_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3161_ _) =>
+ (match (string_drop _s3160_ _s3161_) with
+ | _s3162_ =>
+ (freg_name_matches_prefix _s3162_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s3072_ _) =>
- let p0_ := string_drop _s3071_ _s3072_ in
+ | Some (rs1, existT _ _s3163_ _) =>
+ let p0_ := string_drop _s3162_ _s3163_ in
if generic_eq p0_ "" then
Some (FCLASS_D, rd, rs1)
else None
@@ -31948,38 +31635,38 @@ Definition _s3061_ (_s3062_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5))).
-Definition _s3048_ (_s3049_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
- (match _s3049_ with
- | _s3050_ =>
- (f_un_type_mnemonic_D_matches_prefix _s3050_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s3139_ (_s3140_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
+ (match _s3140_ with
+ | _s3141_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s3141_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_D_X, existT _ _s3051_ _) =>
- (match (string_drop _s3050_ _s3051_) with
- | _s3052_ =>
- (spc_matches_prefix _s3052_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_D_X, existT _ _s3142_ _) =>
+ (match (string_drop _s3141_ _s3142_) with
+ | _s3143_ =>
+ (spc_matches_prefix _s3143_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3053_ _) =>
- (match (string_drop _s3052_ _s3053_) with
- | _s3054_ =>
- (freg_name_matches_prefix _s3054_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3144_ _) =>
+ (match (string_drop _s3143_ _s3144_) with
+ | _s3145_ =>
+ (freg_name_matches_prefix _s3145_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3055_ _) =>
- (match (string_drop _s3054_ _s3055_) with
- | _s3056_ =>
- (sep_matches_prefix _s3056_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3146_ _) =>
+ (match (string_drop _s3145_ _s3146_) with
+ | _s3147_ =>
+ (sep_matches_prefix _s3147_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3057_ _) =>
- (match (string_drop _s3056_ _s3057_) with
- | _s3058_ =>
- (reg_name_matches_prefix _s3058_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3148_ _) =>
+ (match (string_drop _s3147_ _s3148_) with
+ | _s3149_ =>
+ (reg_name_matches_prefix _s3149_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s3059_ _) =>
- let p0_ := string_drop _s3058_ _s3059_ in
+ | Some (rs1, existT _ _s3150_ _) =>
+ let p0_ := string_drop _s3149_ _s3150_ in
if generic_eq p0_ "" then Some (FMV_D_X, rd, rs1)
else None
| _ => None
@@ -32007,38 +31694,38 @@ Definition _s3048_ (_s3049_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5))).
-Definition _s3035_ (_s3036_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
- (match _s3036_ with
- | _s3037_ =>
- (f_un_type_mnemonic_D_matches_prefix _s3037_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s3126_ (_s3127_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
+ (match _s3127_ with
+ | _s3128_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s3128_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_D, existT _ _s3038_ _) =>
- (match (string_drop _s3037_ _s3038_) with
- | _s3039_ =>
- (spc_matches_prefix _s3039_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_D, existT _ _s3129_ _) =>
+ (match (string_drop _s3128_ _s3129_) with
+ | _s3130_ =>
+ (spc_matches_prefix _s3130_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3040_ _) =>
- (match (string_drop _s3039_ _s3040_) with
- | _s3041_ =>
- (reg_name_matches_prefix _s3041_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3131_ _) =>
+ (match (string_drop _s3130_ _s3131_) with
+ | _s3132_ =>
+ (reg_name_matches_prefix _s3132_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3042_ _) =>
- (match (string_drop _s3041_ _s3042_) with
- | _s3043_ =>
- (sep_matches_prefix _s3043_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3133_ _) =>
+ (match (string_drop _s3132_ _s3133_) with
+ | _s3134_ =>
+ (sep_matches_prefix _s3134_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3044_ _) =>
- (match (string_drop _s3043_ _s3044_) with
- | _s3045_ =>
- (freg_name_matches_prefix _s3045_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3135_ _) =>
+ (match (string_drop _s3134_ _s3135_) with
+ | _s3136_ =>
+ (freg_name_matches_prefix _s3136_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s3046_ _) =>
- let p0_ := string_drop _s3045_ _s3046_ in
+ | Some (rs1, existT _ _s3137_ _) =>
+ let p0_ := string_drop _s3136_ _s3137_ in
if generic_eq p0_ "" then Some (FMV_X_D, rd, rs1)
else None
| _ => None
@@ -32066,51 +31753,51 @@ Definition _s3035_ (_s3036_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5))).
-Definition _s3018_ (_s3019_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s3019_ with
- | _s3020_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s3020_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s3109_ (_s3110_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s3110_ with
+ | _s3111_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s3111_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_D, existT _ _s3021_ _) =>
- (match (string_drop _s3020_ _s3021_) with
- | _s3022_ =>
- (spc_matches_prefix _s3022_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_D, existT _ _s3112_ _) =>
+ (match (string_drop _s3111_ _s3112_) with
+ | _s3113_ =>
+ (spc_matches_prefix _s3113_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3023_ _) =>
- (match (string_drop _s3022_ _s3023_) with
- | _s3024_ =>
- (reg_name_matches_prefix _s3024_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3114_ _) =>
+ (match (string_drop _s3113_ _s3114_) with
+ | _s3115_ =>
+ (reg_name_matches_prefix _s3115_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3025_ _) =>
- (match (string_drop _s3024_ _s3025_) with
- | _s3026_ =>
- (sep_matches_prefix _s3026_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3116_ _) =>
+ (match (string_drop _s3115_ _s3116_) with
+ | _s3117_ =>
+ (sep_matches_prefix _s3117_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3027_ _) =>
- (match (string_drop _s3026_ _s3027_) with
- | _s3028_ =>
- (freg_name_matches_prefix _s3028_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3118_ _) =>
+ (match (string_drop _s3117_ _s3118_) with
+ | _s3119_ =>
+ (freg_name_matches_prefix _s3119_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3029_ _) =>
- (match (string_drop _s3028_ _s3029_) with
- | _s3030_ =>
- (sep_matches_prefix _s3030_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3120_ _) =>
+ (match (string_drop _s3119_ _s3120_) with
+ | _s3121_ =>
+ (sep_matches_prefix _s3121_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3031_ _) =>
- (match (string_drop _s3030_ _s3031_) with
- | _s3032_ =>
- (freg_name_matches_prefix _s3032_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3122_ _) =>
+ (match (string_drop _s3121_ _s3122_) with
+ | _s3123_ =>
+ (freg_name_matches_prefix _s3123_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3033_ _) =>
+ | Some (rs2, existT _ _s3124_ _) =>
let p0_ :=
- string_drop _s3032_ _s3033_ in
+ string_drop _s3123_ _s3124_ in
if generic_eq p0_ "" then
Some (FLE_D, rd, rs1, rs2)
else None
@@ -32149,51 +31836,51 @@ Definition _s3018_ (_s3019_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s3001_ (_s3002_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s3002_ with
- | _s3003_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s3003_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s3092_ (_s3093_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s3093_ with
+ | _s3094_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s3094_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_D, existT _ _s3004_ _) =>
- (match (string_drop _s3003_ _s3004_) with
- | _s3005_ =>
- (spc_matches_prefix _s3005_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_D, existT _ _s3095_ _) =>
+ (match (string_drop _s3094_ _s3095_) with
+ | _s3096_ =>
+ (spc_matches_prefix _s3096_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3006_ _) =>
- (match (string_drop _s3005_ _s3006_) with
- | _s3007_ =>
- (reg_name_matches_prefix _s3007_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3097_ _) =>
+ (match (string_drop _s3096_ _s3097_) with
+ | _s3098_ =>
+ (reg_name_matches_prefix _s3098_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3008_ _) =>
- (match (string_drop _s3007_ _s3008_) with
- | _s3009_ =>
- (sep_matches_prefix _s3009_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3099_ _) =>
+ (match (string_drop _s3098_ _s3099_) with
+ | _s3100_ =>
+ (sep_matches_prefix _s3100_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3010_ _) =>
- (match (string_drop _s3009_ _s3010_) with
- | _s3011_ =>
- (freg_name_matches_prefix _s3011_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3101_ _) =>
+ (match (string_drop _s3100_ _s3101_) with
+ | _s3102_ =>
+ (freg_name_matches_prefix _s3102_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3012_ _) =>
- (match (string_drop _s3011_ _s3012_) with
- | _s3013_ =>
- (sep_matches_prefix _s3013_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3103_ _) =>
+ (match (string_drop _s3102_ _s3103_) with
+ | _s3104_ =>
+ (sep_matches_prefix _s3104_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3014_ _) =>
- (match (string_drop _s3013_ _s3014_) with
- | _s3015_ =>
- (freg_name_matches_prefix _s3015_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3105_ _) =>
+ (match (string_drop _s3104_ _s3105_) with
+ | _s3106_ =>
+ (freg_name_matches_prefix _s3106_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3016_ _) =>
+ | Some (rs2, existT _ _s3107_ _) =>
let p0_ :=
- string_drop _s3015_ _s3016_ in
+ string_drop _s3106_ _s3107_ in
if generic_eq p0_ "" then
Some (FLT_D, rd, rs1, rs2)
else None
@@ -32232,51 +31919,51 @@ Definition _s3001_ (_s3002_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s2984_ (_s2985_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s2985_ with
- | _s2986_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s2986_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s3075_ (_s3076_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s3076_ with
+ | _s3077_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s3077_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_D, existT _ _s2987_ _) =>
- (match (string_drop _s2986_ _s2987_) with
- | _s2988_ =>
- (spc_matches_prefix _s2988_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_D, existT _ _s3078_ _) =>
+ (match (string_drop _s3077_ _s3078_) with
+ | _s3079_ =>
+ (spc_matches_prefix _s3079_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2989_ _) =>
- (match (string_drop _s2988_ _s2989_) with
- | _s2990_ =>
- (reg_name_matches_prefix _s2990_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3080_ _) =>
+ (match (string_drop _s3079_ _s3080_) with
+ | _s3081_ =>
+ (reg_name_matches_prefix _s3081_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2991_ _) =>
- (match (string_drop _s2990_ _s2991_) with
- | _s2992_ =>
- (sep_matches_prefix _s2992_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3082_ _) =>
+ (match (string_drop _s3081_ _s3082_) with
+ | _s3083_ =>
+ (sep_matches_prefix _s3083_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2993_ _) =>
- (match (string_drop _s2992_ _s2993_) with
- | _s2994_ =>
- (freg_name_matches_prefix _s2994_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3084_ _) =>
+ (match (string_drop _s3083_ _s3084_) with
+ | _s3085_ =>
+ (freg_name_matches_prefix _s3085_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2995_ _) =>
- (match (string_drop _s2994_ _s2995_) with
- | _s2996_ =>
- (sep_matches_prefix _s2996_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3086_ _) =>
+ (match (string_drop _s3085_ _s3086_) with
+ | _s3087_ =>
+ (sep_matches_prefix _s3087_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2997_ _) =>
- (match (string_drop _s2996_ _s2997_) with
- | _s2998_ =>
- (freg_name_matches_prefix _s2998_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3088_ _) =>
+ (match (string_drop _s3087_ _s3088_) with
+ | _s3089_ =>
+ (freg_name_matches_prefix _s3089_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2999_ _) =>
+ | Some (rs2, existT _ _s3090_ _) =>
let p0_ :=
- string_drop _s2998_ _s2999_ in
+ string_drop _s3089_ _s3090_ in
if generic_eq p0_ "" then
Some (FEQ_D, rd, rs1, rs2)
else None
@@ -32315,51 +32002,51 @@ Definition _s2984_ (_s2985_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s2967_ (_s2968_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s2968_ with
- | _s2969_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s2969_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s3058_ (_s3059_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s3059_ with
+ | _s3060_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s3060_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_D, existT _ _s2970_ _) =>
- (match (string_drop _s2969_ _s2970_) with
- | _s2971_ =>
- (spc_matches_prefix _s2971_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_D, existT _ _s3061_ _) =>
+ (match (string_drop _s3060_ _s3061_) with
+ | _s3062_ =>
+ (spc_matches_prefix _s3062_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2972_ _) =>
- (match (string_drop _s2971_ _s2972_) with
- | _s2973_ =>
- (freg_name_matches_prefix _s2973_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3063_ _) =>
+ (match (string_drop _s3062_ _s3063_) with
+ | _s3064_ =>
+ (freg_name_matches_prefix _s3064_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2974_ _) =>
- (match (string_drop _s2973_ _s2974_) with
- | _s2975_ =>
- (sep_matches_prefix _s2975_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3065_ _) =>
+ (match (string_drop _s3064_ _s3065_) with
+ | _s3066_ =>
+ (sep_matches_prefix _s3066_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2976_ _) =>
- (match (string_drop _s2975_ _s2976_) with
- | _s2977_ =>
- (freg_name_matches_prefix _s2977_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3067_ _) =>
+ (match (string_drop _s3066_ _s3067_) with
+ | _s3068_ =>
+ (freg_name_matches_prefix _s3068_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2978_ _) =>
- (match (string_drop _s2977_ _s2978_) with
- | _s2979_ =>
- (sep_matches_prefix _s2979_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3069_ _) =>
+ (match (string_drop _s3068_ _s3069_) with
+ | _s3070_ =>
+ (sep_matches_prefix _s3070_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2980_ _) =>
- (match (string_drop _s2979_ _s2980_) with
- | _s2981_ =>
- (freg_name_matches_prefix _s2981_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3071_ _) =>
+ (match (string_drop _s3070_ _s3071_) with
+ | _s3072_ =>
+ (freg_name_matches_prefix _s3072_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2982_ _) =>
+ | Some (rs2, existT _ _s3073_ _) =>
let p0_ :=
- string_drop _s2981_ _s2982_ in
+ string_drop _s3072_ _s3073_ in
if generic_eq p0_ "" then
Some (FMAX_D, rd, rs1, rs2)
else None
@@ -32398,51 +32085,51 @@ Definition _s2967_ (_s2968_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s2950_ (_s2951_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s2951_ with
- | _s2952_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s2952_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s3041_ (_s3042_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s3042_ with
+ | _s3043_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s3043_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_D, existT _ _s2953_ _) =>
- (match (string_drop _s2952_ _s2953_) with
- | _s2954_ =>
- (spc_matches_prefix _s2954_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_D, existT _ _s3044_ _) =>
+ (match (string_drop _s3043_ _s3044_) with
+ | _s3045_ =>
+ (spc_matches_prefix _s3045_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2955_ _) =>
- (match (string_drop _s2954_ _s2955_) with
- | _s2956_ =>
- (freg_name_matches_prefix _s2956_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3046_ _) =>
+ (match (string_drop _s3045_ _s3046_) with
+ | _s3047_ =>
+ (freg_name_matches_prefix _s3047_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2957_ _) =>
- (match (string_drop _s2956_ _s2957_) with
- | _s2958_ =>
- (sep_matches_prefix _s2958_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3048_ _) =>
+ (match (string_drop _s3047_ _s3048_) with
+ | _s3049_ =>
+ (sep_matches_prefix _s3049_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2959_ _) =>
- (match (string_drop _s2958_ _s2959_) with
- | _s2960_ =>
- (freg_name_matches_prefix _s2960_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3050_ _) =>
+ (match (string_drop _s3049_ _s3050_) with
+ | _s3051_ =>
+ (freg_name_matches_prefix _s3051_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2961_ _) =>
- (match (string_drop _s2960_ _s2961_) with
- | _s2962_ =>
- (sep_matches_prefix _s2962_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3052_ _) =>
+ (match (string_drop _s3051_ _s3052_) with
+ | _s3053_ =>
+ (sep_matches_prefix _s3053_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2963_ _) =>
- (match (string_drop _s2962_ _s2963_) with
- | _s2964_ =>
- (freg_name_matches_prefix _s2964_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3054_ _) =>
+ (match (string_drop _s3053_ _s3054_) with
+ | _s3055_ =>
+ (freg_name_matches_prefix _s3055_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2965_ _) =>
+ | Some (rs2, existT _ _s3056_ _) =>
let p0_ :=
- string_drop _s2964_ _s2965_ in
+ string_drop _s3055_ _s3056_ in
if generic_eq p0_ "" then
Some (FMIN_D, rd, rs1, rs2)
else None
@@ -32481,51 +32168,51 @@ Definition _s2950_ (_s2951_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s2933_ (_s2934_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s2934_ with
- | _s2935_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s2935_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s3024_ (_s3025_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s3025_ with
+ | _s3026_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s3026_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_D, existT _ _s2936_ _) =>
- (match (string_drop _s2935_ _s2936_) with
- | _s2937_ =>
- (spc_matches_prefix _s2937_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_D, existT _ _s3027_ _) =>
+ (match (string_drop _s3026_ _s3027_) with
+ | _s3028_ =>
+ (spc_matches_prefix _s3028_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2938_ _) =>
- (match (string_drop _s2937_ _s2938_) with
- | _s2939_ =>
- (freg_name_matches_prefix _s2939_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3029_ _) =>
+ (match (string_drop _s3028_ _s3029_) with
+ | _s3030_ =>
+ (freg_name_matches_prefix _s3030_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2940_ _) =>
- (match (string_drop _s2939_ _s2940_) with
- | _s2941_ =>
- (sep_matches_prefix _s2941_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3031_ _) =>
+ (match (string_drop _s3030_ _s3031_) with
+ | _s3032_ =>
+ (sep_matches_prefix _s3032_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2942_ _) =>
- (match (string_drop _s2941_ _s2942_) with
- | _s2943_ =>
- (freg_name_matches_prefix _s2943_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3033_ _) =>
+ (match (string_drop _s3032_ _s3033_) with
+ | _s3034_ =>
+ (freg_name_matches_prefix _s3034_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2944_ _) =>
- (match (string_drop _s2943_ _s2944_) with
- | _s2945_ =>
- (sep_matches_prefix _s2945_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3035_ _) =>
+ (match (string_drop _s3034_ _s3035_) with
+ | _s3036_ =>
+ (sep_matches_prefix _s3036_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2946_ _) =>
- (match (string_drop _s2945_ _s2946_) with
- | _s2947_ =>
- (freg_name_matches_prefix _s2947_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3037_ _) =>
+ (match (string_drop _s3036_ _s3037_) with
+ | _s3038_ =>
+ (freg_name_matches_prefix _s3038_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2948_ _) =>
+ | Some (rs2, existT _ _s3039_ _) =>
let p0_ :=
- string_drop _s2947_ _s2948_ in
+ string_drop _s3038_ _s3039_ in
if generic_eq p0_ "" then
Some (FSGNJX_D, rd, rs1, rs2)
else None
@@ -32564,51 +32251,51 @@ Definition _s2933_ (_s2934_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s2916_ (_s2917_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s2917_ with
- | _s2918_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s2918_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s3007_ (_s3008_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s3008_ with
+ | _s3009_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s3009_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_D, existT _ _s2919_ _) =>
- (match (string_drop _s2918_ _s2919_) with
- | _s2920_ =>
- (spc_matches_prefix _s2920_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_D, existT _ _s3010_ _) =>
+ (match (string_drop _s3009_ _s3010_) with
+ | _s3011_ =>
+ (spc_matches_prefix _s3011_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2921_ _) =>
- (match (string_drop _s2920_ _s2921_) with
- | _s2922_ =>
- (freg_name_matches_prefix _s2922_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3012_ _) =>
+ (match (string_drop _s3011_ _s3012_) with
+ | _s3013_ =>
+ (freg_name_matches_prefix _s3013_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2923_ _) =>
- (match (string_drop _s2922_ _s2923_) with
- | _s2924_ =>
- (sep_matches_prefix _s2924_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3014_ _) =>
+ (match (string_drop _s3013_ _s3014_) with
+ | _s3015_ =>
+ (sep_matches_prefix _s3015_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2925_ _) =>
- (match (string_drop _s2924_ _s2925_) with
- | _s2926_ =>
- (freg_name_matches_prefix _s2926_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3016_ _) =>
+ (match (string_drop _s3015_ _s3016_) with
+ | _s3017_ =>
+ (freg_name_matches_prefix _s3017_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2927_ _) =>
- (match (string_drop _s2926_ _s2927_) with
- | _s2928_ =>
- (sep_matches_prefix _s2928_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3018_ _) =>
+ (match (string_drop _s3017_ _s3018_) with
+ | _s3019_ =>
+ (sep_matches_prefix _s3019_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2929_ _) =>
- (match (string_drop _s2928_ _s2929_) with
- | _s2930_ =>
- (freg_name_matches_prefix _s2930_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3020_ _) =>
+ (match (string_drop _s3019_ _s3020_) with
+ | _s3021_ =>
+ (freg_name_matches_prefix _s3021_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2931_ _) =>
+ | Some (rs2, existT _ _s3022_ _) =>
let p0_ :=
- string_drop _s2930_ _s2931_ in
+ string_drop _s3021_ _s3022_ in
if generic_eq p0_ "" then
Some (FSGNJN_D, rd, rs1, rs2)
else None
@@ -32647,51 +32334,51 @@ Definition _s2916_ (_s2917_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s2899_ (_s2900_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s2900_ with
- | _s2901_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s2901_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s2990_ (_s2991_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s2991_ with
+ | _s2992_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s2992_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_D, existT _ _s2902_ _) =>
- (match (string_drop _s2901_ _s2902_) with
- | _s2903_ =>
- (spc_matches_prefix _s2903_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_D, existT _ _s2993_ _) =>
+ (match (string_drop _s2992_ _s2993_) with
+ | _s2994_ =>
+ (spc_matches_prefix _s2994_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2904_ _) =>
- (match (string_drop _s2903_ _s2904_) with
- | _s2905_ =>
- (freg_name_matches_prefix _s2905_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2995_ _) =>
+ (match (string_drop _s2994_ _s2995_) with
+ | _s2996_ =>
+ (freg_name_matches_prefix _s2996_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2906_ _) =>
- (match (string_drop _s2905_ _s2906_) with
- | _s2907_ =>
- (sep_matches_prefix _s2907_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2997_ _) =>
+ (match (string_drop _s2996_ _s2997_) with
+ | _s2998_ =>
+ (sep_matches_prefix _s2998_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2908_ _) =>
- (match (string_drop _s2907_ _s2908_) with
- | _s2909_ =>
- (freg_name_matches_prefix _s2909_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2999_ _) =>
+ (match (string_drop _s2998_ _s2999_) with
+ | _s3000_ =>
+ (freg_name_matches_prefix _s3000_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2910_ _) =>
- (match (string_drop _s2909_ _s2910_) with
- | _s2911_ =>
- (sep_matches_prefix _s2911_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3001_ _) =>
+ (match (string_drop _s3000_ _s3001_) with
+ | _s3002_ =>
+ (sep_matches_prefix _s3002_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2912_ _) =>
- (match (string_drop _s2911_ _s2912_) with
- | _s2913_ =>
- (freg_name_matches_prefix _s2913_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3003_ _) =>
+ (match (string_drop _s3002_ _s3003_) with
+ | _s3004_ =>
+ (freg_name_matches_prefix _s3004_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2914_ _) =>
+ | Some (rs2, existT _ _s3005_ _) =>
let p0_ :=
- string_drop _s2913_ _s2914_ in
+ string_drop _s3004_ _s3005_ in
if generic_eq p0_ "" then
Some (FSGNJ_D, rd, rs1, rs2)
else None
@@ -32730,52 +32417,52 @@ Definition _s2899_ (_s2900_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s2882_ (_s2883_ : string)
+Definition _s2973_ (_s2974_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2883_ with
- | _s2884_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2884_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2974_ with
+ | _s2975_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2975_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_S, existT _ _s2885_ _) =>
- (match (string_drop _s2884_ _s2885_) with
- | _s2886_ =>
- (spc_matches_prefix _s2886_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_S, existT _ _s2976_ _) =>
+ (match (string_drop _s2975_ _s2976_) with
+ | _s2977_ =>
+ (spc_matches_prefix _s2977_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2887_ _) =>
- (match (string_drop _s2886_ _s2887_) with
- | _s2888_ =>
- (freg_name_matches_prefix _s2888_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2978_ _) =>
+ (match (string_drop _s2977_ _s2978_) with
+ | _s2979_ =>
+ (freg_name_matches_prefix _s2979_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2889_ _) =>
- (match (string_drop _s2888_ _s2889_) with
- | _s2890_ =>
- (sep_matches_prefix _s2890_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2980_ _) =>
+ (match (string_drop _s2979_ _s2980_) with
+ | _s2981_ =>
+ (sep_matches_prefix _s2981_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2891_ _) =>
- (match (string_drop _s2890_ _s2891_) with
- | _s2892_ =>
- (freg_name_matches_prefix _s2892_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2982_ _) =>
+ (match (string_drop _s2981_ _s2982_) with
+ | _s2983_ =>
+ (freg_name_matches_prefix _s2983_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2893_ _) =>
- (match (string_drop _s2892_ _s2893_) with
- | _s2894_ =>
- (sep_matches_prefix _s2894_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2984_ _) =>
+ (match (string_drop _s2983_ _s2984_) with
+ | _s2985_ =>
+ (sep_matches_prefix _s2985_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2895_ _) =>
- (match (string_drop _s2894_ _s2895_) with
- | _s2896_ =>
- (frm_mnemonic_matches_prefix _s2896_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2986_ _) =>
+ (match (string_drop _s2985_ _s2986_) with
+ | _s2987_ =>
+ (frm_mnemonic_matches_prefix _s2987_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2897_ _) =>
+ | Some (rm, existT _ _s2988_ _) =>
let p0_ :=
- string_drop _s2896_ _s2897_ in
+ string_drop _s2987_ _s2988_ in
if generic_eq p0_ "" then
Some (FCVT_D_S, rd, rs1, rm)
else None
@@ -32814,52 +32501,52 @@ Definition _s2882_ (_s2883_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2865_ (_s2866_ : string)
+Definition _s2956_ (_s2957_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2866_ with
- | _s2867_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2867_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2957_ with
+ | _s2958_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2958_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_D, existT _ _s2868_ _) =>
- (match (string_drop _s2867_ _s2868_) with
- | _s2869_ =>
- (spc_matches_prefix _s2869_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_D, existT _ _s2959_ _) =>
+ (match (string_drop _s2958_ _s2959_) with
+ | _s2960_ =>
+ (spc_matches_prefix _s2960_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2870_ _) =>
- (match (string_drop _s2869_ _s2870_) with
- | _s2871_ =>
- (freg_name_matches_prefix _s2871_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2961_ _) =>
+ (match (string_drop _s2960_ _s2961_) with
+ | _s2962_ =>
+ (freg_name_matches_prefix _s2962_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2872_ _) =>
- (match (string_drop _s2871_ _s2872_) with
- | _s2873_ =>
- (sep_matches_prefix _s2873_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2963_ _) =>
+ (match (string_drop _s2962_ _s2963_) with
+ | _s2964_ =>
+ (sep_matches_prefix _s2964_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2874_ _) =>
- (match (string_drop _s2873_ _s2874_) with
- | _s2875_ =>
- (freg_name_matches_prefix _s2875_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2965_ _) =>
+ (match (string_drop _s2964_ _s2965_) with
+ | _s2966_ =>
+ (freg_name_matches_prefix _s2966_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2876_ _) =>
- (match (string_drop _s2875_ _s2876_) with
- | _s2877_ =>
- (sep_matches_prefix _s2877_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2967_ _) =>
+ (match (string_drop _s2966_ _s2967_) with
+ | _s2968_ =>
+ (sep_matches_prefix _s2968_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2878_ _) =>
- (match (string_drop _s2877_ _s2878_) with
- | _s2879_ =>
- (frm_mnemonic_matches_prefix _s2879_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2969_ _) =>
+ (match (string_drop _s2968_ _s2969_) with
+ | _s2970_ =>
+ (frm_mnemonic_matches_prefix _s2970_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2880_ _) =>
+ | Some (rm, existT _ _s2971_ _) =>
let p0_ :=
- string_drop _s2879_ _s2880_ in
+ string_drop _s2970_ _s2971_ in
if generic_eq p0_ "" then
Some (FCVT_S_D, rd, rs1, rm)
else None
@@ -32898,52 +32585,52 @@ Definition _s2865_ (_s2866_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2848_ (_s2849_ : string)
+Definition _s2939_ (_s2940_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2849_ with
- | _s2850_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2850_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2940_ with
+ | _s2941_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2941_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_LU, existT _ _s2851_ _) =>
- (match (string_drop _s2850_ _s2851_) with
- | _s2852_ =>
- (spc_matches_prefix _s2852_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_LU, existT _ _s2942_ _) =>
+ (match (string_drop _s2941_ _s2942_) with
+ | _s2943_ =>
+ (spc_matches_prefix _s2943_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2853_ _) =>
- (match (string_drop _s2852_ _s2853_) with
- | _s2854_ =>
- (freg_name_matches_prefix _s2854_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2944_ _) =>
+ (match (string_drop _s2943_ _s2944_) with
+ | _s2945_ =>
+ (freg_name_matches_prefix _s2945_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2855_ _) =>
- (match (string_drop _s2854_ _s2855_) with
- | _s2856_ =>
- (sep_matches_prefix _s2856_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2946_ _) =>
+ (match (string_drop _s2945_ _s2946_) with
+ | _s2947_ =>
+ (sep_matches_prefix _s2947_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2857_ _) =>
- (match (string_drop _s2856_ _s2857_) with
- | _s2858_ =>
- (reg_name_matches_prefix _s2858_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2948_ _) =>
+ (match (string_drop _s2947_ _s2948_) with
+ | _s2949_ =>
+ (reg_name_matches_prefix _s2949_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2859_ _) =>
- (match (string_drop _s2858_ _s2859_) with
- | _s2860_ =>
- (sep_matches_prefix _s2860_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2950_ _) =>
+ (match (string_drop _s2949_ _s2950_) with
+ | _s2951_ =>
+ (sep_matches_prefix _s2951_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2861_ _) =>
- (match (string_drop _s2860_ _s2861_) with
- | _s2862_ =>
- (frm_mnemonic_matches_prefix _s2862_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2952_ _) =>
+ (match (string_drop _s2951_ _s2952_) with
+ | _s2953_ =>
+ (frm_mnemonic_matches_prefix _s2953_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2863_ _) =>
+ | Some (rm, existT _ _s2954_ _) =>
let p0_ :=
- string_drop _s2862_ _s2863_ in
+ string_drop _s2953_ _s2954_ in
if generic_eq p0_ "" then
Some (FCVT_D_LU, rd, rs1, rm)
else None
@@ -32982,52 +32669,52 @@ Definition _s2848_ (_s2849_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2831_ (_s2832_ : string)
+Definition _s2922_ (_s2923_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2832_ with
- | _s2833_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2833_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2923_ with
+ | _s2924_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2924_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_L, existT _ _s2834_ _) =>
- (match (string_drop _s2833_ _s2834_) with
- | _s2835_ =>
- (spc_matches_prefix _s2835_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_L, existT _ _s2925_ _) =>
+ (match (string_drop _s2924_ _s2925_) with
+ | _s2926_ =>
+ (spc_matches_prefix _s2926_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2836_ _) =>
- (match (string_drop _s2835_ _s2836_) with
- | _s2837_ =>
- (freg_name_matches_prefix _s2837_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2927_ _) =>
+ (match (string_drop _s2926_ _s2927_) with
+ | _s2928_ =>
+ (freg_name_matches_prefix _s2928_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2838_ _) =>
- (match (string_drop _s2837_ _s2838_) with
- | _s2839_ =>
- (sep_matches_prefix _s2839_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2929_ _) =>
+ (match (string_drop _s2928_ _s2929_) with
+ | _s2930_ =>
+ (sep_matches_prefix _s2930_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2840_ _) =>
- (match (string_drop _s2839_ _s2840_) with
- | _s2841_ =>
- (reg_name_matches_prefix _s2841_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2931_ _) =>
+ (match (string_drop _s2930_ _s2931_) with
+ | _s2932_ =>
+ (reg_name_matches_prefix _s2932_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2842_ _) =>
- (match (string_drop _s2841_ _s2842_) with
- | _s2843_ =>
- (sep_matches_prefix _s2843_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2933_ _) =>
+ (match (string_drop _s2932_ _s2933_) with
+ | _s2934_ =>
+ (sep_matches_prefix _s2934_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2844_ _) =>
- (match (string_drop _s2843_ _s2844_) with
- | _s2845_ =>
- (frm_mnemonic_matches_prefix _s2845_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2935_ _) =>
+ (match (string_drop _s2934_ _s2935_) with
+ | _s2936_ =>
+ (frm_mnemonic_matches_prefix _s2936_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2846_ _) =>
+ | Some (rm, existT _ _s2937_ _) =>
let p0_ :=
- string_drop _s2845_ _s2846_ in
+ string_drop _s2936_ _s2937_ in
if generic_eq p0_ "" then
Some (FCVT_D_L, rd, rs1, rm)
else None
@@ -33066,52 +32753,52 @@ Definition _s2831_ (_s2832_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2814_ (_s2815_ : string)
+Definition _s2905_ (_s2906_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2815_ with
- | _s2816_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2816_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2906_ with
+ | _s2907_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2907_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_D, existT _ _s2817_ _) =>
- (match (string_drop _s2816_ _s2817_) with
- | _s2818_ =>
- (spc_matches_prefix _s2818_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_D, existT _ _s2908_ _) =>
+ (match (string_drop _s2907_ _s2908_) with
+ | _s2909_ =>
+ (spc_matches_prefix _s2909_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2819_ _) =>
- (match (string_drop _s2818_ _s2819_) with
- | _s2820_ =>
- (reg_name_matches_prefix _s2820_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2910_ _) =>
+ (match (string_drop _s2909_ _s2910_) with
+ | _s2911_ =>
+ (reg_name_matches_prefix _s2911_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2821_ _) =>
- (match (string_drop _s2820_ _s2821_) with
- | _s2822_ =>
- (sep_matches_prefix _s2822_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2912_ _) =>
+ (match (string_drop _s2911_ _s2912_) with
+ | _s2913_ =>
+ (sep_matches_prefix _s2913_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2823_ _) =>
- (match (string_drop _s2822_ _s2823_) with
- | _s2824_ =>
- (freg_name_matches_prefix _s2824_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2914_ _) =>
+ (match (string_drop _s2913_ _s2914_) with
+ | _s2915_ =>
+ (freg_name_matches_prefix _s2915_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2825_ _) =>
- (match (string_drop _s2824_ _s2825_) with
- | _s2826_ =>
- (sep_matches_prefix _s2826_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2916_ _) =>
+ (match (string_drop _s2915_ _s2916_) with
+ | _s2917_ =>
+ (sep_matches_prefix _s2917_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2827_ _) =>
- (match (string_drop _s2826_ _s2827_) with
- | _s2828_ =>
- (frm_mnemonic_matches_prefix _s2828_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2918_ _) =>
+ (match (string_drop _s2917_ _s2918_) with
+ | _s2919_ =>
+ (frm_mnemonic_matches_prefix _s2919_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2829_ _) =>
+ | Some (rm, existT _ _s2920_ _) =>
let p0_ :=
- string_drop _s2828_ _s2829_ in
+ string_drop _s2919_ _s2920_ in
if generic_eq p0_ "" then
Some (FCVT_LU_D, rd, rs1, rm)
else None
@@ -33150,52 +32837,52 @@ Definition _s2814_ (_s2815_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2797_ (_s2798_ : string)
+Definition _s2888_ (_s2889_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2798_ with
- | _s2799_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2799_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2889_ with
+ | _s2890_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2890_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_D, existT _ _s2800_ _) =>
- (match (string_drop _s2799_ _s2800_) with
- | _s2801_ =>
- (spc_matches_prefix _s2801_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_D, existT _ _s2891_ _) =>
+ (match (string_drop _s2890_ _s2891_) with
+ | _s2892_ =>
+ (spc_matches_prefix _s2892_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2802_ _) =>
- (match (string_drop _s2801_ _s2802_) with
- | _s2803_ =>
- (reg_name_matches_prefix _s2803_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2893_ _) =>
+ (match (string_drop _s2892_ _s2893_) with
+ | _s2894_ =>
+ (reg_name_matches_prefix _s2894_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2804_ _) =>
- (match (string_drop _s2803_ _s2804_) with
- | _s2805_ =>
- (sep_matches_prefix _s2805_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2895_ _) =>
+ (match (string_drop _s2894_ _s2895_) with
+ | _s2896_ =>
+ (sep_matches_prefix _s2896_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2806_ _) =>
- (match (string_drop _s2805_ _s2806_) with
- | _s2807_ =>
- (freg_name_matches_prefix _s2807_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2897_ _) =>
+ (match (string_drop _s2896_ _s2897_) with
+ | _s2898_ =>
+ (freg_name_matches_prefix _s2898_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2808_ _) =>
- (match (string_drop _s2807_ _s2808_) with
- | _s2809_ =>
- (sep_matches_prefix _s2809_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2899_ _) =>
+ (match (string_drop _s2898_ _s2899_) with
+ | _s2900_ =>
+ (sep_matches_prefix _s2900_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2810_ _) =>
- (match (string_drop _s2809_ _s2810_) with
- | _s2811_ =>
- (frm_mnemonic_matches_prefix _s2811_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2901_ _) =>
+ (match (string_drop _s2900_ _s2901_) with
+ | _s2902_ =>
+ (frm_mnemonic_matches_prefix _s2902_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2812_ _) =>
+ | Some (rm, existT _ _s2903_ _) =>
let p0_ :=
- string_drop _s2811_ _s2812_ in
+ string_drop _s2902_ _s2903_ in
if generic_eq p0_ "" then
Some (FCVT_L_D, rd, rs1, rm)
else None
@@ -33234,52 +32921,52 @@ Definition _s2797_ (_s2798_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2780_ (_s2781_ : string)
+Definition _s2871_ (_s2872_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2781_ with
- | _s2782_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2782_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2872_ with
+ | _s2873_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2873_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_WU, existT _ _s2783_ _) =>
- (match (string_drop _s2782_ _s2783_) with
- | _s2784_ =>
- (spc_matches_prefix _s2784_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_WU, existT _ _s2874_ _) =>
+ (match (string_drop _s2873_ _s2874_) with
+ | _s2875_ =>
+ (spc_matches_prefix _s2875_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2785_ _) =>
- (match (string_drop _s2784_ _s2785_) with
- | _s2786_ =>
- (freg_name_matches_prefix _s2786_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2876_ _) =>
+ (match (string_drop _s2875_ _s2876_) with
+ | _s2877_ =>
+ (freg_name_matches_prefix _s2877_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2787_ _) =>
- (match (string_drop _s2786_ _s2787_) with
- | _s2788_ =>
- (sep_matches_prefix _s2788_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2878_ _) =>
+ (match (string_drop _s2877_ _s2878_) with
+ | _s2879_ =>
+ (sep_matches_prefix _s2879_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2789_ _) =>
- (match (string_drop _s2788_ _s2789_) with
- | _s2790_ =>
- (reg_name_matches_prefix _s2790_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2880_ _) =>
+ (match (string_drop _s2879_ _s2880_) with
+ | _s2881_ =>
+ (reg_name_matches_prefix _s2881_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2791_ _) =>
- (match (string_drop _s2790_ _s2791_) with
- | _s2792_ =>
- (sep_matches_prefix _s2792_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2882_ _) =>
+ (match (string_drop _s2881_ _s2882_) with
+ | _s2883_ =>
+ (sep_matches_prefix _s2883_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2793_ _) =>
- (match (string_drop _s2792_ _s2793_) with
- | _s2794_ =>
- (frm_mnemonic_matches_prefix _s2794_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2884_ _) =>
+ (match (string_drop _s2883_ _s2884_) with
+ | _s2885_ =>
+ (frm_mnemonic_matches_prefix _s2885_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2795_ _) =>
+ | Some (rm, existT _ _s2886_ _) =>
let p0_ :=
- string_drop _s2794_ _s2795_ in
+ string_drop _s2885_ _s2886_ in
if generic_eq p0_ "" then
Some (FCVT_D_WU, rd, rs1, rm)
else None
@@ -33318,52 +33005,52 @@ Definition _s2780_ (_s2781_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2763_ (_s2764_ : string)
+Definition _s2854_ (_s2855_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2764_ with
- | _s2765_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2765_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2855_ with
+ | _s2856_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2856_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_W, existT _ _s2766_ _) =>
- (match (string_drop _s2765_ _s2766_) with
- | _s2767_ =>
- (spc_matches_prefix _s2767_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_W, existT _ _s2857_ _) =>
+ (match (string_drop _s2856_ _s2857_) with
+ | _s2858_ =>
+ (spc_matches_prefix _s2858_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2768_ _) =>
- (match (string_drop _s2767_ _s2768_) with
- | _s2769_ =>
- (freg_name_matches_prefix _s2769_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2859_ _) =>
+ (match (string_drop _s2858_ _s2859_) with
+ | _s2860_ =>
+ (freg_name_matches_prefix _s2860_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2770_ _) =>
- (match (string_drop _s2769_ _s2770_) with
- | _s2771_ =>
- (sep_matches_prefix _s2771_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2861_ _) =>
+ (match (string_drop _s2860_ _s2861_) with
+ | _s2862_ =>
+ (sep_matches_prefix _s2862_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2772_ _) =>
- (match (string_drop _s2771_ _s2772_) with
- | _s2773_ =>
- (reg_name_matches_prefix _s2773_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2863_ _) =>
+ (match (string_drop _s2862_ _s2863_) with
+ | _s2864_ =>
+ (reg_name_matches_prefix _s2864_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2774_ _) =>
- (match (string_drop _s2773_ _s2774_) with
- | _s2775_ =>
- (sep_matches_prefix _s2775_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2865_ _) =>
+ (match (string_drop _s2864_ _s2865_) with
+ | _s2866_ =>
+ (sep_matches_prefix _s2866_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2776_ _) =>
- (match (string_drop _s2775_ _s2776_) with
- | _s2777_ =>
- (frm_mnemonic_matches_prefix _s2777_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2867_ _) =>
+ (match (string_drop _s2866_ _s2867_) with
+ | _s2868_ =>
+ (frm_mnemonic_matches_prefix _s2868_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2778_ _) =>
+ | Some (rm, existT _ _s2869_ _) =>
let p0_ :=
- string_drop _s2777_ _s2778_ in
+ string_drop _s2868_ _s2869_ in
if generic_eq p0_ "" then
Some (FCVT_D_W, rd, rs1, rm)
else None
@@ -33402,52 +33089,52 @@ Definition _s2763_ (_s2764_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2746_ (_s2747_ : string)
+Definition _s2837_ (_s2838_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2747_ with
- | _s2748_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2748_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2838_ with
+ | _s2839_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2839_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_D, existT _ _s2749_ _) =>
- (match (string_drop _s2748_ _s2749_) with
- | _s2750_ =>
- (spc_matches_prefix _s2750_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_D, existT _ _s2840_ _) =>
+ (match (string_drop _s2839_ _s2840_) with
+ | _s2841_ =>
+ (spc_matches_prefix _s2841_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2751_ _) =>
- (match (string_drop _s2750_ _s2751_) with
- | _s2752_ =>
- (reg_name_matches_prefix _s2752_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2842_ _) =>
+ (match (string_drop _s2841_ _s2842_) with
+ | _s2843_ =>
+ (reg_name_matches_prefix _s2843_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2753_ _) =>
- (match (string_drop _s2752_ _s2753_) with
- | _s2754_ =>
- (sep_matches_prefix _s2754_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2844_ _) =>
+ (match (string_drop _s2843_ _s2844_) with
+ | _s2845_ =>
+ (sep_matches_prefix _s2845_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2755_ _) =>
- (match (string_drop _s2754_ _s2755_) with
- | _s2756_ =>
- (freg_name_matches_prefix _s2756_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2846_ _) =>
+ (match (string_drop _s2845_ _s2846_) with
+ | _s2847_ =>
+ (freg_name_matches_prefix _s2847_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2757_ _) =>
- (match (string_drop _s2756_ _s2757_) with
- | _s2758_ =>
- (sep_matches_prefix _s2758_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2848_ _) =>
+ (match (string_drop _s2847_ _s2848_) with
+ | _s2849_ =>
+ (sep_matches_prefix _s2849_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2759_ _) =>
- (match (string_drop _s2758_ _s2759_) with
- | _s2760_ =>
- (frm_mnemonic_matches_prefix _s2760_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2850_ _) =>
+ (match (string_drop _s2849_ _s2850_) with
+ | _s2851_ =>
+ (frm_mnemonic_matches_prefix _s2851_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2761_ _) =>
+ | Some (rm, existT _ _s2852_ _) =>
let p0_ :=
- string_drop _s2760_ _s2761_ in
+ string_drop _s2851_ _s2852_ in
if generic_eq p0_ "" then
Some (FCVT_WU_D, rd, rs1, rm)
else None
@@ -33486,52 +33173,52 @@ Definition _s2746_ (_s2747_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2729_ (_s2730_ : string)
+Definition _s2820_ (_s2821_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2730_ with
- | _s2731_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2731_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2821_ with
+ | _s2822_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2822_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_D, existT _ _s2732_ _) =>
- (match (string_drop _s2731_ _s2732_) with
- | _s2733_ =>
- (spc_matches_prefix _s2733_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_D, existT _ _s2823_ _) =>
+ (match (string_drop _s2822_ _s2823_) with
+ | _s2824_ =>
+ (spc_matches_prefix _s2824_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2734_ _) =>
- (match (string_drop _s2733_ _s2734_) with
- | _s2735_ =>
- (reg_name_matches_prefix _s2735_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2825_ _) =>
+ (match (string_drop _s2824_ _s2825_) with
+ | _s2826_ =>
+ (reg_name_matches_prefix _s2826_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2736_ _) =>
- (match (string_drop _s2735_ _s2736_) with
- | _s2737_ =>
- (sep_matches_prefix _s2737_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2827_ _) =>
+ (match (string_drop _s2826_ _s2827_) with
+ | _s2828_ =>
+ (sep_matches_prefix _s2828_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2738_ _) =>
- (match (string_drop _s2737_ _s2738_) with
- | _s2739_ =>
- (freg_name_matches_prefix _s2739_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2829_ _) =>
+ (match (string_drop _s2828_ _s2829_) with
+ | _s2830_ =>
+ (freg_name_matches_prefix _s2830_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2740_ _) =>
- (match (string_drop _s2739_ _s2740_) with
- | _s2741_ =>
- (sep_matches_prefix _s2741_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2831_ _) =>
+ (match (string_drop _s2830_ _s2831_) with
+ | _s2832_ =>
+ (sep_matches_prefix _s2832_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2742_ _) =>
- (match (string_drop _s2741_ _s2742_) with
- | _s2743_ =>
- (frm_mnemonic_matches_prefix _s2743_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2833_ _) =>
+ (match (string_drop _s2832_ _s2833_) with
+ | _s2834_ =>
+ (frm_mnemonic_matches_prefix _s2834_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2744_ _) =>
+ | Some (rm, existT _ _s2835_ _) =>
let p0_ :=
- string_drop _s2743_ _s2744_ in
+ string_drop _s2834_ _s2835_ in
if generic_eq p0_ "" then
Some (FCVT_W_D, rd, rs1, rm)
else None
@@ -33570,52 +33257,52 @@ Definition _s2729_ (_s2730_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2712_ (_s2713_ : string)
+Definition _s2803_ (_s2804_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2713_ with
- | _s2714_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s2714_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2804_ with
+ | _s2805_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s2805_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_D, existT _ _s2715_ _) =>
- (match (string_drop _s2714_ _s2715_) with
- | _s2716_ =>
- (spc_matches_prefix _s2716_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_D, existT _ _s2806_ _) =>
+ (match (string_drop _s2805_ _s2806_) with
+ | _s2807_ =>
+ (spc_matches_prefix _s2807_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2717_ _) =>
- (match (string_drop _s2716_ _s2717_) with
- | _s2718_ =>
- (freg_name_matches_prefix _s2718_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2808_ _) =>
+ (match (string_drop _s2807_ _s2808_) with
+ | _s2809_ =>
+ (freg_name_matches_prefix _s2809_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2719_ _) =>
- (match (string_drop _s2718_ _s2719_) with
- | _s2720_ =>
- (sep_matches_prefix _s2720_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2810_ _) =>
+ (match (string_drop _s2809_ _s2810_) with
+ | _s2811_ =>
+ (sep_matches_prefix _s2811_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2721_ _) =>
- (match (string_drop _s2720_ _s2721_) with
- | _s2722_ =>
- (freg_name_matches_prefix _s2722_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2812_ _) =>
+ (match (string_drop _s2811_ _s2812_) with
+ | _s2813_ =>
+ (freg_name_matches_prefix _s2813_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2723_ _) =>
- (match (string_drop _s2722_ _s2723_) with
- | _s2724_ =>
- (sep_matches_prefix _s2724_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2814_ _) =>
+ (match (string_drop _s2813_ _s2814_) with
+ | _s2815_ =>
+ (sep_matches_prefix _s2815_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2725_ _) =>
- (match (string_drop _s2724_ _s2725_) with
- | _s2726_ =>
- (frm_mnemonic_matches_prefix _s2726_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2816_ _) =>
+ (match (string_drop _s2815_ _s2816_) with
+ | _s2817_ =>
+ (frm_mnemonic_matches_prefix _s2817_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2727_ _) =>
+ | Some (rm, existT _ _s2818_ _) =>
let p0_ :=
- string_drop _s2726_ _s2727_ in
+ string_drop _s2817_ _s2818_ in
if generic_eq p0_ "" then
Some (FSQRT_D, rd, rs1, rm)
else None
@@ -33654,69 +33341,69 @@ Definition _s2712_ (_s2713_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s2691_ (_s2692_ : string)
+Definition _s2782_ (_s2783_ : string)
: M (option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2692_ with
- | _s2693_ =>
- (f_bin_rm_type_mnemonic_D_matches_prefix _s2693_) >>= fun w__0 : option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s2783_ with
+ | _s2784_ =>
+ (f_bin_rm_type_mnemonic_D_matches_prefix _s2784_) >>= fun w__0 : option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2694_ _) =>
- (match (string_drop _s2693_ _s2694_) with
- | _s2695_ =>
- (spc_matches_prefix _s2695_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2785_ _) =>
+ (match (string_drop _s2784_ _s2785_) with
+ | _s2786_ =>
+ (spc_matches_prefix _s2786_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2696_ _) =>
- (match (string_drop _s2695_ _s2696_) with
- | _s2697_ =>
- (freg_name_matches_prefix _s2697_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2787_ _) =>
+ (match (string_drop _s2786_ _s2787_) with
+ | _s2788_ =>
+ (freg_name_matches_prefix _s2788_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2698_ _) =>
- (match (string_drop _s2697_ _s2698_) with
- | _s2699_ =>
- (sep_matches_prefix _s2699_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2789_ _) =>
+ (match (string_drop _s2788_ _s2789_) with
+ | _s2790_ =>
+ (sep_matches_prefix _s2790_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2700_ _) =>
- (match (string_drop _s2699_ _s2700_) with
- | _s2701_ =>
- (freg_name_matches_prefix _s2701_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2791_ _) =>
+ (match (string_drop _s2790_ _s2791_) with
+ | _s2792_ =>
+ (freg_name_matches_prefix _s2792_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2702_ _) =>
- (match (string_drop _s2701_ _s2702_) with
- | _s2703_ =>
- (sep_matches_prefix _s2703_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2793_ _) =>
+ (match (string_drop _s2792_ _s2793_) with
+ | _s2794_ =>
+ (sep_matches_prefix _s2794_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2704_ _) =>
- (match (string_drop _s2703_ _s2704_) with
- | _s2705_ =>
- (freg_name_matches_prefix _s2705_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2795_ _) =>
+ (match (string_drop _s2794_ _s2795_) with
+ | _s2796_ =>
+ (freg_name_matches_prefix _s2796_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s2706_ _) =>
- (match (string_drop _s2705_ _s2706_) with
- | _s2707_ =>
- (sep_matches_prefix _s2707_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2797_ _) =>
+ (match (string_drop _s2796_ _s2797_) with
+ | _s2798_ =>
+ (sep_matches_prefix _s2798_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s2708_ _) =>
- (match (string_drop _s2707_
- _s2708_) with
- | _s2709_ =>
+ | Some (tt, existT _ _s2799_ _) =>
+ (match (string_drop _s2798_
+ _s2799_) with
+ | _s2800_ =>
(frm_mnemonic_matches_prefix
- _s2709_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s2800_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s2710_ _) =>
+ (rm, existT _ _s2801_ _) =>
let p0_ :=
string_drop
- _s2709_
- _s2710_ in
+ _s2800_
+ _s2801_ in
if generic_eq p0_
"" then
Some
@@ -33767,88 +33454,88 @@ Definition _s2691_ (_s2692_ : string)
end)
: M (option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s2666_ (_s2667_ : string)
+Definition _s2757_ (_s2758_ : string)
: M (option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2667_ with
- | _s2668_ =>
- (f_madd_type_mnemonic_D_matches_prefix _s2668_) >>= fun w__0 : option ((f_madd_op_D * {n : Z & ArithFact (n >=?
+ (match _s2758_ with
+ | _s2759_ =>
+ (f_madd_type_mnemonic_D_matches_prefix _s2759_) >>= fun w__0 : option ((f_madd_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2669_ _) =>
- (match (string_drop _s2668_ _s2669_) with
- | _s2670_ =>
- (spc_matches_prefix _s2670_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2760_ _) =>
+ (match (string_drop _s2759_ _s2760_) with
+ | _s2761_ =>
+ (spc_matches_prefix _s2761_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2671_ _) =>
- (match (string_drop _s2670_ _s2671_) with
- | _s2672_ =>
- (freg_name_matches_prefix _s2672_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2762_ _) =>
+ (match (string_drop _s2761_ _s2762_) with
+ | _s2763_ =>
+ (freg_name_matches_prefix _s2763_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2673_ _) =>
- (match (string_drop _s2672_ _s2673_) with
- | _s2674_ =>
- (sep_matches_prefix _s2674_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2764_ _) =>
+ (match (string_drop _s2763_ _s2764_) with
+ | _s2765_ =>
+ (sep_matches_prefix _s2765_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2675_ _) =>
- (match (string_drop _s2674_ _s2675_) with
- | _s2676_ =>
- (freg_name_matches_prefix _s2676_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2766_ _) =>
+ (match (string_drop _s2765_ _s2766_) with
+ | _s2767_ =>
+ (freg_name_matches_prefix _s2767_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2677_ _) =>
- (match (string_drop _s2676_ _s2677_) with
- | _s2678_ =>
- (sep_matches_prefix _s2678_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2768_ _) =>
+ (match (string_drop _s2767_ _s2768_) with
+ | _s2769_ =>
+ (sep_matches_prefix _s2769_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2679_ _) =>
- (match (string_drop _s2678_ _s2679_) with
- | _s2680_ =>
- (freg_name_matches_prefix _s2680_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2770_ _) =>
+ (match (string_drop _s2769_ _s2770_) with
+ | _s2771_ =>
+ (freg_name_matches_prefix _s2771_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s2681_ _) =>
- (match (string_drop _s2680_ _s2681_) with
- | _s2682_ =>
- (sep_matches_prefix _s2682_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2772_ _) =>
+ (match (string_drop _s2771_ _s2772_) with
+ | _s2773_ =>
+ (sep_matches_prefix _s2773_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s2683_ _) =>
- (match (string_drop _s2682_
- _s2683_) with
- | _s2684_ =>
+ | Some (tt, existT _ _s2774_ _) =>
+ (match (string_drop _s2773_
+ _s2774_) with
+ | _s2775_ =>
(freg_name_matches_prefix
- _s2684_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2775_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s2685_ _) =>
+ (rs3, existT _ _s2776_ _) =>
(match (string_drop
- _s2684_ _s2685_) with
- | _s2686_ =>
+ _s2775_ _s2776_) with
+ | _s2777_ =>
(sep_matches_prefix
- _s2686_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2777_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s2687_ _) =>
+ (tt, existT _ _s2778_ _) =>
(match (string_drop
- _s2686_
- _s2687_) with
- | _s2688_ =>
+ _s2777_
+ _s2778_) with
+ | _s2779_ =>
(frm_mnemonic_matches_prefix
- _s2688_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s2779_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s2689_ _) =>
+ (rm, existT _ _s2780_ _) =>
let p0_ :=
string_drop
- _s2688_
- _s2689_ in
+ _s2779_
+ _s2780_ in
if
generic_eq
p0_
@@ -33914,50 +33601,50 @@ Definition _s2666_ (_s2667_ : string)
end)
: M (option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s2650_ (_s2651_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2652_ := _s2651_ in
- (if string_startswith _s2652_ "c.fsw" then
- (match (string_drop _s2652_ (projT1 (string_length "c.fsw"))) with
- | _s2653_ =>
- (spc_matches_prefix _s2653_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2741_ (_s2742_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s2743_ := _s2742_ in
+ (if string_startswith _s2743_ "c.fsw" then
+ (match (string_drop _s2743_ (projT1 (string_length "c.fsw"))) with
+ | _s2744_ =>
+ (spc_matches_prefix _s2744_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2654_ _) =>
- (match (string_drop _s2653_ _s2654_) with
- | _s2655_ =>
- (creg_name_matches_prefix _s2655_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2745_ _) =>
+ (match (string_drop _s2744_ _s2745_) with
+ | _s2746_ =>
+ (creg_name_matches_prefix _s2746_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s2656_ _) =>
- (match (string_drop _s2655_ _s2656_) with
- | _s2657_ =>
- (sep_matches_prefix _s2657_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s2747_ _) =>
+ (match (string_drop _s2746_ _s2747_) with
+ | _s2748_ =>
+ (sep_matches_prefix _s2748_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2658_ _) =>
- (match (string_drop _s2657_ _s2658_) with
- | _s2659_ =>
- (creg_name_matches_prefix _s2659_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2749_ _) =>
+ (match (string_drop _s2748_ _s2749_) with
+ | _s2750_ =>
+ (creg_name_matches_prefix _s2750_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s2660_ _) =>
- (match (string_drop _s2659_ _s2660_) with
- | _s2661_ =>
- (sep_matches_prefix _s2661_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s2751_ _) =>
+ (match (string_drop _s2750_ _s2751_) with
+ | _s2752_ =>
+ (sep_matches_prefix _s2752_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2662_ _) =>
- match (string_drop _s2661_ _s2662_) with
- | _s2663_ =>
- match (hex_bits_7_matches_prefix _s2663_) with
- | Some (v__1342, existT _ _s2664_ _) =>
- if eq_vec (subrange_vec_dec v__1342 1 0)
+ | Some (tt, existT _ _s2753_ _) =>
+ match (string_drop _s2752_ _s2753_) with
+ | _s2754_ =>
+ match (hex_bits_7_matches_prefix _s2754_) with
+ | Some (v__1446, existT _ _s2755_ _) =>
+ if eq_vec (subrange_vec_dec v__1446 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1342 6 2 in
+ subrange_vec_dec v__1446 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1342 6 2 in
- let p0_ := string_drop _s2663_ _s2664_ in
+ subrange_vec_dec v__1446 6 2 in
+ let p0_ := string_drop _s2754_ _s2755_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -33992,50 +33679,50 @@ Definition _s2650_ (_s2651_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2634_ (_s2635_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s2636_ := _s2635_ in
- (if string_startswith _s2636_ "c.flw" then
- (match (string_drop _s2636_ (projT1 (string_length "c.flw"))) with
- | _s2637_ =>
- (spc_matches_prefix _s2637_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2725_ (_s2726_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s2727_ := _s2726_ in
+ (if string_startswith _s2727_ "c.flw" then
+ (match (string_drop _s2727_ (projT1 (string_length "c.flw"))) with
+ | _s2728_ =>
+ (spc_matches_prefix _s2728_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2638_ _) =>
- (match (string_drop _s2637_ _s2638_) with
- | _s2639_ =>
- (creg_name_matches_prefix _s2639_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2729_ _) =>
+ (match (string_drop _s2728_ _s2729_) with
+ | _s2730_ =>
+ (creg_name_matches_prefix _s2730_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s2640_ _) =>
- (match (string_drop _s2639_ _s2640_) with
- | _s2641_ =>
- (sep_matches_prefix _s2641_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s2731_ _) =>
+ (match (string_drop _s2730_ _s2731_) with
+ | _s2732_ =>
+ (sep_matches_prefix _s2732_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2642_ _) =>
- (match (string_drop _s2641_ _s2642_) with
- | _s2643_ =>
- (creg_name_matches_prefix _s2643_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2733_ _) =>
+ (match (string_drop _s2732_ _s2733_) with
+ | _s2734_ =>
+ (creg_name_matches_prefix _s2734_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s2644_ _) =>
- (match (string_drop _s2643_ _s2644_) with
- | _s2645_ =>
- (sep_matches_prefix _s2645_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s2735_ _) =>
+ (match (string_drop _s2734_ _s2735_) with
+ | _s2736_ =>
+ (sep_matches_prefix _s2736_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s2646_ _) =>
- match (string_drop _s2645_ _s2646_) with
- | _s2647_ =>
- match (hex_bits_7_matches_prefix _s2647_) with
- | Some (v__1344, existT _ _s2648_ _) =>
- if eq_vec (subrange_vec_dec v__1344 1 0)
+ | Some (tt, existT _ _s2737_ _) =>
+ match (string_drop _s2736_ _s2737_) with
+ | _s2738_ =>
+ match (hex_bits_7_matches_prefix _s2738_) with
+ | Some (v__1448, existT _ _s2739_ _) =>
+ if eq_vec (subrange_vec_dec v__1448 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1344 6 2 in
+ subrange_vec_dec v__1448 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1344 6 2 in
- let p0_ := string_drop _s2647_ _s2648_ in
+ subrange_vec_dec v__1448 6 2 in
+ let p0_ := string_drop _s2738_ _s2739_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -34070,31 +33757,31 @@ Definition _s2634_ (_s2635_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s2622_ (_s2623_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s2624_ := _s2623_ in
- (if string_startswith _s2624_ "c.fswsp" then
- (match (string_drop _s2624_ (projT1 (string_length "c.fswsp"))) with
- | _s2625_ =>
- (spc_matches_prefix _s2625_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2713_ (_s2714_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s2715_ := _s2714_ in
+ (if string_startswith _s2715_ "c.fswsp" then
+ (match (string_drop _s2715_ (projT1 (string_length "c.fswsp"))) with
+ | _s2716_ =>
+ (spc_matches_prefix _s2716_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2626_ _) =>
- (match (string_drop _s2625_ _s2626_) with
- | _s2627_ =>
- (reg_name_matches_prefix _s2627_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2717_ _) =>
+ (match (string_drop _s2716_ _s2717_) with
+ | _s2718_ =>
+ (reg_name_matches_prefix _s2718_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2628_ _) =>
- (match (string_drop _s2627_ _s2628_) with
- | _s2629_ =>
- (sep_matches_prefix _s2629_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2719_ _) =>
+ (match (string_drop _s2718_ _s2719_) with
+ | _s2720_ =>
+ (sep_matches_prefix _s2720_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2630_ _) =>
- match (string_drop _s2629_ _s2630_) with
- | _s2631_ =>
- match (hex_bits_6_matches_prefix _s2631_) with
- | Some (uimm, existT _ _s2632_ _) =>
- let p0_ := string_drop _s2631_ _s2632_ in
+ | Some (tt, existT _ _s2721_ _) =>
+ match (string_drop _s2720_ _s2721_) with
+ | _s2722_ =>
+ match (hex_bits_6_matches_prefix _s2722_) with
+ | Some (uimm, existT _ _s2723_ _) =>
+ let p0_ := string_drop _s2722_ _s2723_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -34117,31 +33804,31 @@ Definition _s2622_ (_s2623_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s2610_ (_s2611_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s2612_ := _s2611_ in
- (if string_startswith _s2612_ "c.flwsp" then
- (match (string_drop _s2612_ (projT1 (string_length "c.flwsp"))) with
- | _s2613_ =>
- (spc_matches_prefix _s2613_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2701_ (_s2702_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s2703_ := _s2702_ in
+ (if string_startswith _s2703_ "c.flwsp" then
+ (match (string_drop _s2703_ (projT1 (string_length "c.flwsp"))) with
+ | _s2704_ =>
+ (spc_matches_prefix _s2704_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2614_ _) =>
- (match (string_drop _s2613_ _s2614_) with
- | _s2615_ =>
- (reg_name_matches_prefix _s2615_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2705_ _) =>
+ (match (string_drop _s2704_ _s2705_) with
+ | _s2706_ =>
+ (reg_name_matches_prefix _s2706_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2616_ _) =>
- (match (string_drop _s2615_ _s2616_) with
- | _s2617_ =>
- (sep_matches_prefix _s2617_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2707_ _) =>
+ (match (string_drop _s2706_ _s2707_) with
+ | _s2708_ =>
+ (sep_matches_prefix _s2708_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2618_ _) =>
- match (string_drop _s2617_ _s2618_) with
- | _s2619_ =>
- match (hex_bits_6_matches_prefix _s2619_) with
- | Some (imm, existT _ _s2620_ _) =>
- let p0_ := string_drop _s2619_ _s2620_ in
+ | Some (tt, existT _ _s2709_ _) =>
+ match (string_drop _s2708_ _s2709_) with
+ | _s2710_ =>
+ match (hex_bits_6_matches_prefix _s2710_) with
+ | Some (imm, existT _ _s2711_ _) =>
+ let p0_ := string_drop _s2710_ _s2711_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -34164,38 +33851,38 @@ Definition _s2610_ (_s2611_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s2597_ (_s2598_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s2598_ with
- | _s2599_ =>
- (f_un_type_mnemonic_S_matches_prefix _s2599_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s2688_ (_s2689_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s2689_ with
+ | _s2690_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s2690_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_S, existT _ _s2600_ _) =>
- (match (string_drop _s2599_ _s2600_) with
- | _s2601_ =>
- (spc_matches_prefix _s2601_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_S, existT _ _s2691_ _) =>
+ (match (string_drop _s2690_ _s2691_) with
+ | _s2692_ =>
+ (spc_matches_prefix _s2692_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2602_ _) =>
- (match (string_drop _s2601_ _s2602_) with
- | _s2603_ =>
- (reg_name_matches_prefix _s2603_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2693_ _) =>
+ (match (string_drop _s2692_ _s2693_) with
+ | _s2694_ =>
+ (reg_name_matches_prefix _s2694_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2604_ _) =>
- (match (string_drop _s2603_ _s2604_) with
- | _s2605_ =>
- (sep_matches_prefix _s2605_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2695_ _) =>
+ (match (string_drop _s2694_ _s2695_) with
+ | _s2696_ =>
+ (sep_matches_prefix _s2696_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2606_ _) =>
- (match (string_drop _s2605_ _s2606_) with
- | _s2607_ =>
- (freg_name_matches_prefix _s2607_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2697_ _) =>
+ (match (string_drop _s2696_ _s2697_) with
+ | _s2698_ =>
+ (freg_name_matches_prefix _s2698_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s2608_ _) =>
- let p0_ := string_drop _s2607_ _s2608_ in
+ | Some (rs1, existT _ _s2699_ _) =>
+ let p0_ := string_drop _s2698_ _s2699_ in
if generic_eq p0_ "" then
Some (FCLASS_S, rd, rs1)
else None
@@ -34224,38 +33911,38 @@ Definition _s2597_ (_s2598_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s2584_ (_s2585_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s2585_ with
- | _s2586_ =>
- (f_un_type_mnemonic_S_matches_prefix _s2586_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s2675_ (_s2676_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s2676_ with
+ | _s2677_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s2677_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_W_X, existT _ _s2587_ _) =>
- (match (string_drop _s2586_ _s2587_) with
- | _s2588_ =>
- (spc_matches_prefix _s2588_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_W_X, existT _ _s2678_ _) =>
+ (match (string_drop _s2677_ _s2678_) with
+ | _s2679_ =>
+ (spc_matches_prefix _s2679_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2589_ _) =>
- (match (string_drop _s2588_ _s2589_) with
- | _s2590_ =>
- (freg_name_matches_prefix _s2590_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2680_ _) =>
+ (match (string_drop _s2679_ _s2680_) with
+ | _s2681_ =>
+ (freg_name_matches_prefix _s2681_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2591_ _) =>
- (match (string_drop _s2590_ _s2591_) with
- | _s2592_ =>
- (sep_matches_prefix _s2592_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2682_ _) =>
+ (match (string_drop _s2681_ _s2682_) with
+ | _s2683_ =>
+ (sep_matches_prefix _s2683_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2593_ _) =>
- (match (string_drop _s2592_ _s2593_) with
- | _s2594_ =>
- (reg_name_matches_prefix _s2594_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2684_ _) =>
+ (match (string_drop _s2683_ _s2684_) with
+ | _s2685_ =>
+ (reg_name_matches_prefix _s2685_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s2595_ _) =>
- let p0_ := string_drop _s2594_ _s2595_ in
+ | Some (rs1, existT _ _s2686_ _) =>
+ let p0_ := string_drop _s2685_ _s2686_ in
if generic_eq p0_ "" then Some (FMV_W_X, rd, rs1)
else None
| _ => None
@@ -34283,38 +33970,38 @@ Definition _s2584_ (_s2585_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s2571_ (_s2572_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s2572_ with
- | _s2573_ =>
- (f_un_type_mnemonic_S_matches_prefix _s2573_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s2662_ (_s2663_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s2663_ with
+ | _s2664_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s2664_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_W, existT _ _s2574_ _) =>
- (match (string_drop _s2573_ _s2574_) with
- | _s2575_ =>
- (spc_matches_prefix _s2575_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_W, existT _ _s2665_ _) =>
+ (match (string_drop _s2664_ _s2665_) with
+ | _s2666_ =>
+ (spc_matches_prefix _s2666_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2576_ _) =>
- (match (string_drop _s2575_ _s2576_) with
- | _s2577_ =>
- (reg_name_matches_prefix _s2577_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2667_ _) =>
+ (match (string_drop _s2666_ _s2667_) with
+ | _s2668_ =>
+ (reg_name_matches_prefix _s2668_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2578_ _) =>
- (match (string_drop _s2577_ _s2578_) with
- | _s2579_ =>
- (sep_matches_prefix _s2579_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2669_ _) =>
+ (match (string_drop _s2668_ _s2669_) with
+ | _s2670_ =>
+ (sep_matches_prefix _s2670_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2580_ _) =>
- (match (string_drop _s2579_ _s2580_) with
- | _s2581_ =>
- (freg_name_matches_prefix _s2581_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2671_ _) =>
+ (match (string_drop _s2670_ _s2671_) with
+ | _s2672_ =>
+ (freg_name_matches_prefix _s2672_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s2582_ _) =>
- let p0_ := string_drop _s2581_ _s2582_ in
+ | Some (rs1, existT _ _s2673_ _) =>
+ let p0_ := string_drop _s2672_ _s2673_ in
if generic_eq p0_ "" then Some (FMV_X_W, rd, rs1)
else None
| _ => None
@@ -34342,51 +34029,51 @@ Definition _s2571_ (_s2572_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s2554_ (_s2555_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2555_ with
- | _s2556_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2556_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2645_ (_s2646_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2646_ with
+ | _s2647_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2647_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_S, existT _ _s2557_ _) =>
- (match (string_drop _s2556_ _s2557_) with
- | _s2558_ =>
- (spc_matches_prefix _s2558_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_S, existT _ _s2648_ _) =>
+ (match (string_drop _s2647_ _s2648_) with
+ | _s2649_ =>
+ (spc_matches_prefix _s2649_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2559_ _) =>
- (match (string_drop _s2558_ _s2559_) with
- | _s2560_ =>
- (reg_name_matches_prefix _s2560_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2650_ _) =>
+ (match (string_drop _s2649_ _s2650_) with
+ | _s2651_ =>
+ (reg_name_matches_prefix _s2651_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2561_ _) =>
- (match (string_drop _s2560_ _s2561_) with
- | _s2562_ =>
- (sep_matches_prefix _s2562_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2652_ _) =>
+ (match (string_drop _s2651_ _s2652_) with
+ | _s2653_ =>
+ (sep_matches_prefix _s2653_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2563_ _) =>
- (match (string_drop _s2562_ _s2563_) with
- | _s2564_ =>
- (freg_name_matches_prefix _s2564_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2654_ _) =>
+ (match (string_drop _s2653_ _s2654_) with
+ | _s2655_ =>
+ (freg_name_matches_prefix _s2655_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2565_ _) =>
- (match (string_drop _s2564_ _s2565_) with
- | _s2566_ =>
- (sep_matches_prefix _s2566_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2656_ _) =>
+ (match (string_drop _s2655_ _s2656_) with
+ | _s2657_ =>
+ (sep_matches_prefix _s2657_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2567_ _) =>
- (match (string_drop _s2566_ _s2567_) with
- | _s2568_ =>
- (freg_name_matches_prefix _s2568_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2658_ _) =>
+ (match (string_drop _s2657_ _s2658_) with
+ | _s2659_ =>
+ (freg_name_matches_prefix _s2659_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2569_ _) =>
+ | Some (rs2, existT _ _s2660_ _) =>
let p0_ :=
- string_drop _s2568_ _s2569_ in
+ string_drop _s2659_ _s2660_ in
if generic_eq p0_ "" then
Some (FLE_S, rd, rs1, rs2)
else None
@@ -34425,51 +34112,51 @@ Definition _s2554_ (_s2555_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2537_ (_s2538_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2538_ with
- | _s2539_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2539_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2628_ (_s2629_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2629_ with
+ | _s2630_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2630_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_S, existT _ _s2540_ _) =>
- (match (string_drop _s2539_ _s2540_) with
- | _s2541_ =>
- (spc_matches_prefix _s2541_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_S, existT _ _s2631_ _) =>
+ (match (string_drop _s2630_ _s2631_) with
+ | _s2632_ =>
+ (spc_matches_prefix _s2632_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2542_ _) =>
- (match (string_drop _s2541_ _s2542_) with
- | _s2543_ =>
- (reg_name_matches_prefix _s2543_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2633_ _) =>
+ (match (string_drop _s2632_ _s2633_) with
+ | _s2634_ =>
+ (reg_name_matches_prefix _s2634_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2544_ _) =>
- (match (string_drop _s2543_ _s2544_) with
- | _s2545_ =>
- (sep_matches_prefix _s2545_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2635_ _) =>
+ (match (string_drop _s2634_ _s2635_) with
+ | _s2636_ =>
+ (sep_matches_prefix _s2636_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2546_ _) =>
- (match (string_drop _s2545_ _s2546_) with
- | _s2547_ =>
- (freg_name_matches_prefix _s2547_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2637_ _) =>
+ (match (string_drop _s2636_ _s2637_) with
+ | _s2638_ =>
+ (freg_name_matches_prefix _s2638_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2548_ _) =>
- (match (string_drop _s2547_ _s2548_) with
- | _s2549_ =>
- (sep_matches_prefix _s2549_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2639_ _) =>
+ (match (string_drop _s2638_ _s2639_) with
+ | _s2640_ =>
+ (sep_matches_prefix _s2640_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2550_ _) =>
- (match (string_drop _s2549_ _s2550_) with
- | _s2551_ =>
- (freg_name_matches_prefix _s2551_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2641_ _) =>
+ (match (string_drop _s2640_ _s2641_) with
+ | _s2642_ =>
+ (freg_name_matches_prefix _s2642_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2552_ _) =>
+ | Some (rs2, existT _ _s2643_ _) =>
let p0_ :=
- string_drop _s2551_ _s2552_ in
+ string_drop _s2642_ _s2643_ in
if generic_eq p0_ "" then
Some (FLT_S, rd, rs1, rs2)
else None
@@ -34508,51 +34195,51 @@ Definition _s2537_ (_s2538_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2520_ (_s2521_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2521_ with
- | _s2522_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2522_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2611_ (_s2612_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2612_ with
+ | _s2613_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2613_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_S, existT _ _s2523_ _) =>
- (match (string_drop _s2522_ _s2523_) with
- | _s2524_ =>
- (spc_matches_prefix _s2524_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_S, existT _ _s2614_ _) =>
+ (match (string_drop _s2613_ _s2614_) with
+ | _s2615_ =>
+ (spc_matches_prefix _s2615_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2525_ _) =>
- (match (string_drop _s2524_ _s2525_) with
- | _s2526_ =>
- (reg_name_matches_prefix _s2526_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2616_ _) =>
+ (match (string_drop _s2615_ _s2616_) with
+ | _s2617_ =>
+ (reg_name_matches_prefix _s2617_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2527_ _) =>
- (match (string_drop _s2526_ _s2527_) with
- | _s2528_ =>
- (sep_matches_prefix _s2528_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2618_ _) =>
+ (match (string_drop _s2617_ _s2618_) with
+ | _s2619_ =>
+ (sep_matches_prefix _s2619_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2529_ _) =>
- (match (string_drop _s2528_ _s2529_) with
- | _s2530_ =>
- (freg_name_matches_prefix _s2530_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2620_ _) =>
+ (match (string_drop _s2619_ _s2620_) with
+ | _s2621_ =>
+ (freg_name_matches_prefix _s2621_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2531_ _) =>
- (match (string_drop _s2530_ _s2531_) with
- | _s2532_ =>
- (sep_matches_prefix _s2532_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2622_ _) =>
+ (match (string_drop _s2621_ _s2622_) with
+ | _s2623_ =>
+ (sep_matches_prefix _s2623_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2533_ _) =>
- (match (string_drop _s2532_ _s2533_) with
- | _s2534_ =>
- (freg_name_matches_prefix _s2534_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2624_ _) =>
+ (match (string_drop _s2623_ _s2624_) with
+ | _s2625_ =>
+ (freg_name_matches_prefix _s2625_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2535_ _) =>
+ | Some (rs2, existT _ _s2626_ _) =>
let p0_ :=
- string_drop _s2534_ _s2535_ in
+ string_drop _s2625_ _s2626_ in
if generic_eq p0_ "" then
Some (FEQ_S, rd, rs1, rs2)
else None
@@ -34591,51 +34278,51 @@ Definition _s2520_ (_s2521_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2503_ (_s2504_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2504_ with
- | _s2505_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2505_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2594_ (_s2595_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2595_ with
+ | _s2596_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2596_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_S, existT _ _s2506_ _) =>
- (match (string_drop _s2505_ _s2506_) with
- | _s2507_ =>
- (spc_matches_prefix _s2507_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_S, existT _ _s2597_ _) =>
+ (match (string_drop _s2596_ _s2597_) with
+ | _s2598_ =>
+ (spc_matches_prefix _s2598_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2508_ _) =>
- (match (string_drop _s2507_ _s2508_) with
- | _s2509_ =>
- (freg_name_matches_prefix _s2509_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2599_ _) =>
+ (match (string_drop _s2598_ _s2599_) with
+ | _s2600_ =>
+ (freg_name_matches_prefix _s2600_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2510_ _) =>
- (match (string_drop _s2509_ _s2510_) with
- | _s2511_ =>
- (sep_matches_prefix _s2511_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2601_ _) =>
+ (match (string_drop _s2600_ _s2601_) with
+ | _s2602_ =>
+ (sep_matches_prefix _s2602_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2512_ _) =>
- (match (string_drop _s2511_ _s2512_) with
- | _s2513_ =>
- (freg_name_matches_prefix _s2513_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2603_ _) =>
+ (match (string_drop _s2602_ _s2603_) with
+ | _s2604_ =>
+ (freg_name_matches_prefix _s2604_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2514_ _) =>
- (match (string_drop _s2513_ _s2514_) with
- | _s2515_ =>
- (sep_matches_prefix _s2515_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2605_ _) =>
+ (match (string_drop _s2604_ _s2605_) with
+ | _s2606_ =>
+ (sep_matches_prefix _s2606_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2516_ _) =>
- (match (string_drop _s2515_ _s2516_) with
- | _s2517_ =>
- (freg_name_matches_prefix _s2517_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2607_ _) =>
+ (match (string_drop _s2606_ _s2607_) with
+ | _s2608_ =>
+ (freg_name_matches_prefix _s2608_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2518_ _) =>
+ | Some (rs2, existT _ _s2609_ _) =>
let p0_ :=
- string_drop _s2517_ _s2518_ in
+ string_drop _s2608_ _s2609_ in
if generic_eq p0_ "" then
Some (FMAX_S, rd, rs1, rs2)
else None
@@ -34674,51 +34361,51 @@ Definition _s2503_ (_s2504_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2486_ (_s2487_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2487_ with
- | _s2488_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2488_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2577_ (_s2578_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2578_ with
+ | _s2579_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2579_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_S, existT _ _s2489_ _) =>
- (match (string_drop _s2488_ _s2489_) with
- | _s2490_ =>
- (spc_matches_prefix _s2490_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_S, existT _ _s2580_ _) =>
+ (match (string_drop _s2579_ _s2580_) with
+ | _s2581_ =>
+ (spc_matches_prefix _s2581_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2491_ _) =>
- (match (string_drop _s2490_ _s2491_) with
- | _s2492_ =>
- (freg_name_matches_prefix _s2492_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2582_ _) =>
+ (match (string_drop _s2581_ _s2582_) with
+ | _s2583_ =>
+ (freg_name_matches_prefix _s2583_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2493_ _) =>
- (match (string_drop _s2492_ _s2493_) with
- | _s2494_ =>
- (sep_matches_prefix _s2494_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2584_ _) =>
+ (match (string_drop _s2583_ _s2584_) with
+ | _s2585_ =>
+ (sep_matches_prefix _s2585_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2495_ _) =>
- (match (string_drop _s2494_ _s2495_) with
- | _s2496_ =>
- (freg_name_matches_prefix _s2496_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2586_ _) =>
+ (match (string_drop _s2585_ _s2586_) with
+ | _s2587_ =>
+ (freg_name_matches_prefix _s2587_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2497_ _) =>
- (match (string_drop _s2496_ _s2497_) with
- | _s2498_ =>
- (sep_matches_prefix _s2498_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2588_ _) =>
+ (match (string_drop _s2587_ _s2588_) with
+ | _s2589_ =>
+ (sep_matches_prefix _s2589_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2499_ _) =>
- (match (string_drop _s2498_ _s2499_) with
- | _s2500_ =>
- (freg_name_matches_prefix _s2500_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2590_ _) =>
+ (match (string_drop _s2589_ _s2590_) with
+ | _s2591_ =>
+ (freg_name_matches_prefix _s2591_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2501_ _) =>
+ | Some (rs2, existT _ _s2592_ _) =>
let p0_ :=
- string_drop _s2500_ _s2501_ in
+ string_drop _s2591_ _s2592_ in
if generic_eq p0_ "" then
Some (FMIN_S, rd, rs1, rs2)
else None
@@ -34757,51 +34444,51 @@ Definition _s2486_ (_s2487_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2469_ (_s2470_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2470_ with
- | _s2471_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2471_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2560_ (_s2561_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2561_ with
+ | _s2562_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2562_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_S, existT _ _s2472_ _) =>
- (match (string_drop _s2471_ _s2472_) with
- | _s2473_ =>
- (spc_matches_prefix _s2473_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_S, existT _ _s2563_ _) =>
+ (match (string_drop _s2562_ _s2563_) with
+ | _s2564_ =>
+ (spc_matches_prefix _s2564_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2474_ _) =>
- (match (string_drop _s2473_ _s2474_) with
- | _s2475_ =>
- (freg_name_matches_prefix _s2475_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2565_ _) =>
+ (match (string_drop _s2564_ _s2565_) with
+ | _s2566_ =>
+ (freg_name_matches_prefix _s2566_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2476_ _) =>
- (match (string_drop _s2475_ _s2476_) with
- | _s2477_ =>
- (sep_matches_prefix _s2477_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2567_ _) =>
+ (match (string_drop _s2566_ _s2567_) with
+ | _s2568_ =>
+ (sep_matches_prefix _s2568_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2478_ _) =>
- (match (string_drop _s2477_ _s2478_) with
- | _s2479_ =>
- (freg_name_matches_prefix _s2479_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2569_ _) =>
+ (match (string_drop _s2568_ _s2569_) with
+ | _s2570_ =>
+ (freg_name_matches_prefix _s2570_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2480_ _) =>
- (match (string_drop _s2479_ _s2480_) with
- | _s2481_ =>
- (sep_matches_prefix _s2481_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2571_ _) =>
+ (match (string_drop _s2570_ _s2571_) with
+ | _s2572_ =>
+ (sep_matches_prefix _s2572_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2482_ _) =>
- (match (string_drop _s2481_ _s2482_) with
- | _s2483_ =>
- (freg_name_matches_prefix _s2483_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2573_ _) =>
+ (match (string_drop _s2572_ _s2573_) with
+ | _s2574_ =>
+ (freg_name_matches_prefix _s2574_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2484_ _) =>
+ | Some (rs2, existT _ _s2575_ _) =>
let p0_ :=
- string_drop _s2483_ _s2484_ in
+ string_drop _s2574_ _s2575_ in
if generic_eq p0_ "" then
Some (FSGNJX_S, rd, rs1, rs2)
else None
@@ -34840,51 +34527,51 @@ Definition _s2469_ (_s2470_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2452_ (_s2453_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2453_ with
- | _s2454_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2454_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2543_ (_s2544_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2544_ with
+ | _s2545_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2545_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_S, existT _ _s2455_ _) =>
- (match (string_drop _s2454_ _s2455_) with
- | _s2456_ =>
- (spc_matches_prefix _s2456_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_S, existT _ _s2546_ _) =>
+ (match (string_drop _s2545_ _s2546_) with
+ | _s2547_ =>
+ (spc_matches_prefix _s2547_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2457_ _) =>
- (match (string_drop _s2456_ _s2457_) with
- | _s2458_ =>
- (freg_name_matches_prefix _s2458_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2548_ _) =>
+ (match (string_drop _s2547_ _s2548_) with
+ | _s2549_ =>
+ (freg_name_matches_prefix _s2549_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2459_ _) =>
- (match (string_drop _s2458_ _s2459_) with
- | _s2460_ =>
- (sep_matches_prefix _s2460_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2550_ _) =>
+ (match (string_drop _s2549_ _s2550_) with
+ | _s2551_ =>
+ (sep_matches_prefix _s2551_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2461_ _) =>
- (match (string_drop _s2460_ _s2461_) with
- | _s2462_ =>
- (freg_name_matches_prefix _s2462_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2552_ _) =>
+ (match (string_drop _s2551_ _s2552_) with
+ | _s2553_ =>
+ (freg_name_matches_prefix _s2553_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2463_ _) =>
- (match (string_drop _s2462_ _s2463_) with
- | _s2464_ =>
- (sep_matches_prefix _s2464_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2554_ _) =>
+ (match (string_drop _s2553_ _s2554_) with
+ | _s2555_ =>
+ (sep_matches_prefix _s2555_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2465_ _) =>
- (match (string_drop _s2464_ _s2465_) with
- | _s2466_ =>
- (freg_name_matches_prefix _s2466_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2556_ _) =>
+ (match (string_drop _s2555_ _s2556_) with
+ | _s2557_ =>
+ (freg_name_matches_prefix _s2557_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2467_ _) =>
+ | Some (rs2, existT _ _s2558_ _) =>
let p0_ :=
- string_drop _s2466_ _s2467_ in
+ string_drop _s2557_ _s2558_ in
if generic_eq p0_ "" then
Some (FSGNJN_S, rd, rs1, rs2)
else None
@@ -34923,51 +34610,51 @@ Definition _s2452_ (_s2453_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2435_ (_s2436_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s2436_ with
- | _s2437_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s2437_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s2526_ (_s2527_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s2527_ with
+ | _s2528_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s2528_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_S, existT _ _s2438_ _) =>
- (match (string_drop _s2437_ _s2438_) with
- | _s2439_ =>
- (spc_matches_prefix _s2439_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_S, existT _ _s2529_ _) =>
+ (match (string_drop _s2528_ _s2529_) with
+ | _s2530_ =>
+ (spc_matches_prefix _s2530_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2440_ _) =>
- (match (string_drop _s2439_ _s2440_) with
- | _s2441_ =>
- (freg_name_matches_prefix _s2441_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2531_ _) =>
+ (match (string_drop _s2530_ _s2531_) with
+ | _s2532_ =>
+ (freg_name_matches_prefix _s2532_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2442_ _) =>
- (match (string_drop _s2441_ _s2442_) with
- | _s2443_ =>
- (sep_matches_prefix _s2443_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2533_ _) =>
+ (match (string_drop _s2532_ _s2533_) with
+ | _s2534_ =>
+ (sep_matches_prefix _s2534_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2444_ _) =>
- (match (string_drop _s2443_ _s2444_) with
- | _s2445_ =>
- (freg_name_matches_prefix _s2445_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2535_ _) =>
+ (match (string_drop _s2534_ _s2535_) with
+ | _s2536_ =>
+ (freg_name_matches_prefix _s2536_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2446_ _) =>
- (match (string_drop _s2445_ _s2446_) with
- | _s2447_ =>
- (sep_matches_prefix _s2447_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2537_ _) =>
+ (match (string_drop _s2536_ _s2537_) with
+ | _s2538_ =>
+ (sep_matches_prefix _s2538_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2448_ _) =>
- (match (string_drop _s2447_ _s2448_) with
- | _s2449_ =>
- (freg_name_matches_prefix _s2449_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2539_ _) =>
+ (match (string_drop _s2538_ _s2539_) with
+ | _s2540_ =>
+ (freg_name_matches_prefix _s2540_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2450_ _) =>
+ | Some (rs2, existT _ _s2541_ _) =>
let p0_ :=
- string_drop _s2449_ _s2450_ in
+ string_drop _s2540_ _s2541_ in
if generic_eq p0_ "" then
Some (FSGNJ_S, rd, rs1, rs2)
else None
@@ -35006,52 +34693,52 @@ Definition _s2435_ (_s2436_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s2418_ (_s2419_ : string)
+Definition _s2509_ (_s2510_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2419_ with
- | _s2420_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2420_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2510_ with
+ | _s2511_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2511_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_LU, existT _ _s2421_ _) =>
- (match (string_drop _s2420_ _s2421_) with
- | _s2422_ =>
- (spc_matches_prefix _s2422_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_LU, existT _ _s2512_ _) =>
+ (match (string_drop _s2511_ _s2512_) with
+ | _s2513_ =>
+ (spc_matches_prefix _s2513_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2423_ _) =>
- (match (string_drop _s2422_ _s2423_) with
- | _s2424_ =>
- (freg_name_matches_prefix _s2424_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2514_ _) =>
+ (match (string_drop _s2513_ _s2514_) with
+ | _s2515_ =>
+ (freg_name_matches_prefix _s2515_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2425_ _) =>
- (match (string_drop _s2424_ _s2425_) with
- | _s2426_ =>
- (sep_matches_prefix _s2426_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2516_ _) =>
+ (match (string_drop _s2515_ _s2516_) with
+ | _s2517_ =>
+ (sep_matches_prefix _s2517_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2427_ _) =>
- (match (string_drop _s2426_ _s2427_) with
- | _s2428_ =>
- (reg_name_matches_prefix _s2428_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2518_ _) =>
+ (match (string_drop _s2517_ _s2518_) with
+ | _s2519_ =>
+ (reg_name_matches_prefix _s2519_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2429_ _) =>
- (match (string_drop _s2428_ _s2429_) with
- | _s2430_ =>
- (sep_matches_prefix _s2430_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2520_ _) =>
+ (match (string_drop _s2519_ _s2520_) with
+ | _s2521_ =>
+ (sep_matches_prefix _s2521_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2431_ _) =>
- (match (string_drop _s2430_ _s2431_) with
- | _s2432_ =>
- (frm_mnemonic_matches_prefix _s2432_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2522_ _) =>
+ (match (string_drop _s2521_ _s2522_) with
+ | _s2523_ =>
+ (frm_mnemonic_matches_prefix _s2523_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2433_ _) =>
+ | Some (rm, existT _ _s2524_ _) =>
let p0_ :=
- string_drop _s2432_ _s2433_ in
+ string_drop _s2523_ _s2524_ in
if generic_eq p0_ "" then
Some (FCVT_S_LU, rd, rs1, rm)
else None
@@ -35090,52 +34777,52 @@ Definition _s2418_ (_s2419_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2401_ (_s2402_ : string)
+Definition _s2492_ (_s2493_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2402_ with
- | _s2403_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2403_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2493_ with
+ | _s2494_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2494_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_L, existT _ _s2404_ _) =>
- (match (string_drop _s2403_ _s2404_) with
- | _s2405_ =>
- (spc_matches_prefix _s2405_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_L, existT _ _s2495_ _) =>
+ (match (string_drop _s2494_ _s2495_) with
+ | _s2496_ =>
+ (spc_matches_prefix _s2496_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2406_ _) =>
- (match (string_drop _s2405_ _s2406_) with
- | _s2407_ =>
- (freg_name_matches_prefix _s2407_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2497_ _) =>
+ (match (string_drop _s2496_ _s2497_) with
+ | _s2498_ =>
+ (freg_name_matches_prefix _s2498_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2408_ _) =>
- (match (string_drop _s2407_ _s2408_) with
- | _s2409_ =>
- (sep_matches_prefix _s2409_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2499_ _) =>
+ (match (string_drop _s2498_ _s2499_) with
+ | _s2500_ =>
+ (sep_matches_prefix _s2500_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2410_ _) =>
- (match (string_drop _s2409_ _s2410_) with
- | _s2411_ =>
- (reg_name_matches_prefix _s2411_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2501_ _) =>
+ (match (string_drop _s2500_ _s2501_) with
+ | _s2502_ =>
+ (reg_name_matches_prefix _s2502_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2412_ _) =>
- (match (string_drop _s2411_ _s2412_) with
- | _s2413_ =>
- (sep_matches_prefix _s2413_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2503_ _) =>
+ (match (string_drop _s2502_ _s2503_) with
+ | _s2504_ =>
+ (sep_matches_prefix _s2504_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2414_ _) =>
- (match (string_drop _s2413_ _s2414_) with
- | _s2415_ =>
- (frm_mnemonic_matches_prefix _s2415_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2505_ _) =>
+ (match (string_drop _s2504_ _s2505_) with
+ | _s2506_ =>
+ (frm_mnemonic_matches_prefix _s2506_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2416_ _) =>
+ | Some (rm, existT _ _s2507_ _) =>
let p0_ :=
- string_drop _s2415_ _s2416_ in
+ string_drop _s2506_ _s2507_ in
if generic_eq p0_ "" then
Some (FCVT_S_L, rd, rs1, rm)
else None
@@ -35174,52 +34861,52 @@ Definition _s2401_ (_s2402_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2384_ (_s2385_ : string)
+Definition _s2475_ (_s2476_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2385_ with
- | _s2386_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2386_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2476_ with
+ | _s2477_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2477_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_S, existT _ _s2387_ _) =>
- (match (string_drop _s2386_ _s2387_) with
- | _s2388_ =>
- (spc_matches_prefix _s2388_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_S, existT _ _s2478_ _) =>
+ (match (string_drop _s2477_ _s2478_) with
+ | _s2479_ =>
+ (spc_matches_prefix _s2479_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2389_ _) =>
- (match (string_drop _s2388_ _s2389_) with
- | _s2390_ =>
- (reg_name_matches_prefix _s2390_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2480_ _) =>
+ (match (string_drop _s2479_ _s2480_) with
+ | _s2481_ =>
+ (reg_name_matches_prefix _s2481_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2391_ _) =>
- (match (string_drop _s2390_ _s2391_) with
- | _s2392_ =>
- (sep_matches_prefix _s2392_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2482_ _) =>
+ (match (string_drop _s2481_ _s2482_) with
+ | _s2483_ =>
+ (sep_matches_prefix _s2483_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2393_ _) =>
- (match (string_drop _s2392_ _s2393_) with
- | _s2394_ =>
- (freg_name_matches_prefix _s2394_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2484_ _) =>
+ (match (string_drop _s2483_ _s2484_) with
+ | _s2485_ =>
+ (freg_name_matches_prefix _s2485_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2395_ _) =>
- (match (string_drop _s2394_ _s2395_) with
- | _s2396_ =>
- (sep_matches_prefix _s2396_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2486_ _) =>
+ (match (string_drop _s2485_ _s2486_) with
+ | _s2487_ =>
+ (sep_matches_prefix _s2487_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2397_ _) =>
- (match (string_drop _s2396_ _s2397_) with
- | _s2398_ =>
- (frm_mnemonic_matches_prefix _s2398_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2488_ _) =>
+ (match (string_drop _s2487_ _s2488_) with
+ | _s2489_ =>
+ (frm_mnemonic_matches_prefix _s2489_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2399_ _) =>
+ | Some (rm, existT _ _s2490_ _) =>
let p0_ :=
- string_drop _s2398_ _s2399_ in
+ string_drop _s2489_ _s2490_ in
if generic_eq p0_ "" then
Some (FCVT_LU_S, rd, rs1, rm)
else None
@@ -35258,52 +34945,52 @@ Definition _s2384_ (_s2385_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2367_ (_s2368_ : string)
+Definition _s2458_ (_s2459_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2368_ with
- | _s2369_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2369_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2459_ with
+ | _s2460_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2460_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_S, existT _ _s2370_ _) =>
- (match (string_drop _s2369_ _s2370_) with
- | _s2371_ =>
- (spc_matches_prefix _s2371_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_S, existT _ _s2461_ _) =>
+ (match (string_drop _s2460_ _s2461_) with
+ | _s2462_ =>
+ (spc_matches_prefix _s2462_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2372_ _) =>
- (match (string_drop _s2371_ _s2372_) with
- | _s2373_ =>
- (reg_name_matches_prefix _s2373_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2463_ _) =>
+ (match (string_drop _s2462_ _s2463_) with
+ | _s2464_ =>
+ (reg_name_matches_prefix _s2464_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2374_ _) =>
- (match (string_drop _s2373_ _s2374_) with
- | _s2375_ =>
- (sep_matches_prefix _s2375_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2465_ _) =>
+ (match (string_drop _s2464_ _s2465_) with
+ | _s2466_ =>
+ (sep_matches_prefix _s2466_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2376_ _) =>
- (match (string_drop _s2375_ _s2376_) with
- | _s2377_ =>
- (freg_name_matches_prefix _s2377_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2467_ _) =>
+ (match (string_drop _s2466_ _s2467_) with
+ | _s2468_ =>
+ (freg_name_matches_prefix _s2468_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2378_ _) =>
- (match (string_drop _s2377_ _s2378_) with
- | _s2379_ =>
- (sep_matches_prefix _s2379_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2469_ _) =>
+ (match (string_drop _s2468_ _s2469_) with
+ | _s2470_ =>
+ (sep_matches_prefix _s2470_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2380_ _) =>
- (match (string_drop _s2379_ _s2380_) with
- | _s2381_ =>
- (frm_mnemonic_matches_prefix _s2381_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2471_ _) =>
+ (match (string_drop _s2470_ _s2471_) with
+ | _s2472_ =>
+ (frm_mnemonic_matches_prefix _s2472_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2382_ _) =>
+ | Some (rm, existT _ _s2473_ _) =>
let p0_ :=
- string_drop _s2381_ _s2382_ in
+ string_drop _s2472_ _s2473_ in
if generic_eq p0_ "" then
Some (FCVT_L_S, rd, rs1, rm)
else None
@@ -35342,52 +35029,52 @@ Definition _s2367_ (_s2368_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2350_ (_s2351_ : string)
+Definition _s2441_ (_s2442_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2351_ with
- | _s2352_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2352_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2442_ with
+ | _s2443_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2443_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_WU, existT _ _s2353_ _) =>
- (match (string_drop _s2352_ _s2353_) with
- | _s2354_ =>
- (spc_matches_prefix _s2354_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_WU, existT _ _s2444_ _) =>
+ (match (string_drop _s2443_ _s2444_) with
+ | _s2445_ =>
+ (spc_matches_prefix _s2445_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2355_ _) =>
- (match (string_drop _s2354_ _s2355_) with
- | _s2356_ =>
- (freg_name_matches_prefix _s2356_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2446_ _) =>
+ (match (string_drop _s2445_ _s2446_) with
+ | _s2447_ =>
+ (freg_name_matches_prefix _s2447_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2357_ _) =>
- (match (string_drop _s2356_ _s2357_) with
- | _s2358_ =>
- (sep_matches_prefix _s2358_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2448_ _) =>
+ (match (string_drop _s2447_ _s2448_) with
+ | _s2449_ =>
+ (sep_matches_prefix _s2449_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2359_ _) =>
- (match (string_drop _s2358_ _s2359_) with
- | _s2360_ =>
- (reg_name_matches_prefix _s2360_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2450_ _) =>
+ (match (string_drop _s2449_ _s2450_) with
+ | _s2451_ =>
+ (reg_name_matches_prefix _s2451_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2361_ _) =>
- (match (string_drop _s2360_ _s2361_) with
- | _s2362_ =>
- (sep_matches_prefix _s2362_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2452_ _) =>
+ (match (string_drop _s2451_ _s2452_) with
+ | _s2453_ =>
+ (sep_matches_prefix _s2453_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2363_ _) =>
- (match (string_drop _s2362_ _s2363_) with
- | _s2364_ =>
- (frm_mnemonic_matches_prefix _s2364_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2454_ _) =>
+ (match (string_drop _s2453_ _s2454_) with
+ | _s2455_ =>
+ (frm_mnemonic_matches_prefix _s2455_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2365_ _) =>
+ | Some (rm, existT _ _s2456_ _) =>
let p0_ :=
- string_drop _s2364_ _s2365_ in
+ string_drop _s2455_ _s2456_ in
if generic_eq p0_ "" then
Some (FCVT_S_WU, rd, rs1, rm)
else None
@@ -35426,52 +35113,52 @@ Definition _s2350_ (_s2351_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2333_ (_s2334_ : string)
+Definition _s2424_ (_s2425_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2334_ with
- | _s2335_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2335_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2425_ with
+ | _s2426_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2426_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_W, existT _ _s2336_ _) =>
- (match (string_drop _s2335_ _s2336_) with
- | _s2337_ =>
- (spc_matches_prefix _s2337_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_W, existT _ _s2427_ _) =>
+ (match (string_drop _s2426_ _s2427_) with
+ | _s2428_ =>
+ (spc_matches_prefix _s2428_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2338_ _) =>
- (match (string_drop _s2337_ _s2338_) with
- | _s2339_ =>
- (freg_name_matches_prefix _s2339_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2429_ _) =>
+ (match (string_drop _s2428_ _s2429_) with
+ | _s2430_ =>
+ (freg_name_matches_prefix _s2430_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2340_ _) =>
- (match (string_drop _s2339_ _s2340_) with
- | _s2341_ =>
- (sep_matches_prefix _s2341_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2431_ _) =>
+ (match (string_drop _s2430_ _s2431_) with
+ | _s2432_ =>
+ (sep_matches_prefix _s2432_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2342_ _) =>
- (match (string_drop _s2341_ _s2342_) with
- | _s2343_ =>
- (reg_name_matches_prefix _s2343_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2433_ _) =>
+ (match (string_drop _s2432_ _s2433_) with
+ | _s2434_ =>
+ (reg_name_matches_prefix _s2434_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2344_ _) =>
- (match (string_drop _s2343_ _s2344_) with
- | _s2345_ =>
- (sep_matches_prefix _s2345_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2435_ _) =>
+ (match (string_drop _s2434_ _s2435_) with
+ | _s2436_ =>
+ (sep_matches_prefix _s2436_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2346_ _) =>
- (match (string_drop _s2345_ _s2346_) with
- | _s2347_ =>
- (frm_mnemonic_matches_prefix _s2347_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2437_ _) =>
+ (match (string_drop _s2436_ _s2437_) with
+ | _s2438_ =>
+ (frm_mnemonic_matches_prefix _s2438_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2348_ _) =>
+ | Some (rm, existT _ _s2439_ _) =>
let p0_ :=
- string_drop _s2347_ _s2348_ in
+ string_drop _s2438_ _s2439_ in
if generic_eq p0_ "" then
Some (FCVT_S_W, rd, rs1, rm)
else None
@@ -35510,52 +35197,52 @@ Definition _s2333_ (_s2334_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2316_ (_s2317_ : string)
+Definition _s2407_ (_s2408_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2317_ with
- | _s2318_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2318_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2408_ with
+ | _s2409_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2409_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_S, existT _ _s2319_ _) =>
- (match (string_drop _s2318_ _s2319_) with
- | _s2320_ =>
- (spc_matches_prefix _s2320_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_S, existT _ _s2410_ _) =>
+ (match (string_drop _s2409_ _s2410_) with
+ | _s2411_ =>
+ (spc_matches_prefix _s2411_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2321_ _) =>
- (match (string_drop _s2320_ _s2321_) with
- | _s2322_ =>
- (reg_name_matches_prefix _s2322_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2412_ _) =>
+ (match (string_drop _s2411_ _s2412_) with
+ | _s2413_ =>
+ (reg_name_matches_prefix _s2413_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2323_ _) =>
- (match (string_drop _s2322_ _s2323_) with
- | _s2324_ =>
- (sep_matches_prefix _s2324_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2414_ _) =>
+ (match (string_drop _s2413_ _s2414_) with
+ | _s2415_ =>
+ (sep_matches_prefix _s2415_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2325_ _) =>
- (match (string_drop _s2324_ _s2325_) with
- | _s2326_ =>
- (freg_name_matches_prefix _s2326_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2416_ _) =>
+ (match (string_drop _s2415_ _s2416_) with
+ | _s2417_ =>
+ (freg_name_matches_prefix _s2417_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2327_ _) =>
- (match (string_drop _s2326_ _s2327_) with
- | _s2328_ =>
- (sep_matches_prefix _s2328_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2418_ _) =>
+ (match (string_drop _s2417_ _s2418_) with
+ | _s2419_ =>
+ (sep_matches_prefix _s2419_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2329_ _) =>
- (match (string_drop _s2328_ _s2329_) with
- | _s2330_ =>
- (frm_mnemonic_matches_prefix _s2330_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2420_ _) =>
+ (match (string_drop _s2419_ _s2420_) with
+ | _s2421_ =>
+ (frm_mnemonic_matches_prefix _s2421_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2331_ _) =>
+ | Some (rm, existT _ _s2422_ _) =>
let p0_ :=
- string_drop _s2330_ _s2331_ in
+ string_drop _s2421_ _s2422_ in
if generic_eq p0_ "" then
Some (FCVT_WU_S, rd, rs1, rm)
else None
@@ -35594,52 +35281,52 @@ Definition _s2316_ (_s2317_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2299_ (_s2300_ : string)
+Definition _s2390_ (_s2391_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2300_ with
- | _s2301_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2301_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2391_ with
+ | _s2392_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2392_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_S, existT _ _s2302_ _) =>
- (match (string_drop _s2301_ _s2302_) with
- | _s2303_ =>
- (spc_matches_prefix _s2303_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_S, existT _ _s2393_ _) =>
+ (match (string_drop _s2392_ _s2393_) with
+ | _s2394_ =>
+ (spc_matches_prefix _s2394_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2304_ _) =>
- (match (string_drop _s2303_ _s2304_) with
- | _s2305_ =>
- (reg_name_matches_prefix _s2305_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2395_ _) =>
+ (match (string_drop _s2394_ _s2395_) with
+ | _s2396_ =>
+ (reg_name_matches_prefix _s2396_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2306_ _) =>
- (match (string_drop _s2305_ _s2306_) with
- | _s2307_ =>
- (sep_matches_prefix _s2307_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2397_ _) =>
+ (match (string_drop _s2396_ _s2397_) with
+ | _s2398_ =>
+ (sep_matches_prefix _s2398_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2308_ _) =>
- (match (string_drop _s2307_ _s2308_) with
- | _s2309_ =>
- (freg_name_matches_prefix _s2309_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2399_ _) =>
+ (match (string_drop _s2398_ _s2399_) with
+ | _s2400_ =>
+ (freg_name_matches_prefix _s2400_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2310_ _) =>
- (match (string_drop _s2309_ _s2310_) with
- | _s2311_ =>
- (sep_matches_prefix _s2311_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2401_ _) =>
+ (match (string_drop _s2400_ _s2401_) with
+ | _s2402_ =>
+ (sep_matches_prefix _s2402_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2312_ _) =>
- (match (string_drop _s2311_ _s2312_) with
- | _s2313_ =>
- (frm_mnemonic_matches_prefix _s2313_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2403_ _) =>
+ (match (string_drop _s2402_ _s2403_) with
+ | _s2404_ =>
+ (frm_mnemonic_matches_prefix _s2404_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2314_ _) =>
+ | Some (rm, existT _ _s2405_ _) =>
let p0_ :=
- string_drop _s2313_ _s2314_ in
+ string_drop _s2404_ _s2405_ in
if generic_eq p0_ "" then
Some (FCVT_W_S, rd, rs1, rm)
else None
@@ -35678,52 +35365,52 @@ Definition _s2299_ (_s2300_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2282_ (_s2283_ : string)
+Definition _s2373_ (_s2374_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2283_ with
- | _s2284_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s2284_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2374_ with
+ | _s2375_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s2375_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_S, existT _ _s2285_ _) =>
- (match (string_drop _s2284_ _s2285_) with
- | _s2286_ =>
- (spc_matches_prefix _s2286_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_S, existT _ _s2376_ _) =>
+ (match (string_drop _s2375_ _s2376_) with
+ | _s2377_ =>
+ (spc_matches_prefix _s2377_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2287_ _) =>
- (match (string_drop _s2286_ _s2287_) with
- | _s2288_ =>
- (freg_name_matches_prefix _s2288_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2378_ _) =>
+ (match (string_drop _s2377_ _s2378_) with
+ | _s2379_ =>
+ (freg_name_matches_prefix _s2379_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2289_ _) =>
- (match (string_drop _s2288_ _s2289_) with
- | _s2290_ =>
- (sep_matches_prefix _s2290_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2380_ _) =>
+ (match (string_drop _s2379_ _s2380_) with
+ | _s2381_ =>
+ (sep_matches_prefix _s2381_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2291_ _) =>
- (match (string_drop _s2290_ _s2291_) with
- | _s2292_ =>
- (freg_name_matches_prefix _s2292_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2382_ _) =>
+ (match (string_drop _s2381_ _s2382_) with
+ | _s2383_ =>
+ (freg_name_matches_prefix _s2383_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2293_ _) =>
- (match (string_drop _s2292_ _s2293_) with
- | _s2294_ =>
- (sep_matches_prefix _s2294_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2384_ _) =>
+ (match (string_drop _s2383_ _s2384_) with
+ | _s2385_ =>
+ (sep_matches_prefix _s2385_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2295_ _) =>
- (match (string_drop _s2294_ _s2295_) with
- | _s2296_ =>
- (frm_mnemonic_matches_prefix _s2296_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2386_ _) =>
+ (match (string_drop _s2385_ _s2386_) with
+ | _s2387_ =>
+ (frm_mnemonic_matches_prefix _s2387_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s2297_ _) =>
+ | Some (rm, existT _ _s2388_ _) =>
let p0_ :=
- string_drop _s2296_ _s2297_ in
+ string_drop _s2387_ _s2388_ in
if generic_eq p0_ "" then
Some (FSQRT_S, rd, rs1, rm)
else None
@@ -35762,69 +35449,69 @@ Definition _s2282_ (_s2283_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s2261_ (_s2262_ : string)
+Definition _s2352_ (_s2353_ : string)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2262_ with
- | _s2263_ =>
- (f_bin_rm_type_mnemonic_S_matches_prefix _s2263_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s2353_ with
+ | _s2354_ =>
+ (f_bin_rm_type_mnemonic_S_matches_prefix _s2354_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2264_ _) =>
- (match (string_drop _s2263_ _s2264_) with
- | _s2265_ =>
- (spc_matches_prefix _s2265_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2355_ _) =>
+ (match (string_drop _s2354_ _s2355_) with
+ | _s2356_ =>
+ (spc_matches_prefix _s2356_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2266_ _) =>
- (match (string_drop _s2265_ _s2266_) with
- | _s2267_ =>
- (freg_name_matches_prefix _s2267_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2357_ _) =>
+ (match (string_drop _s2356_ _s2357_) with
+ | _s2358_ =>
+ (freg_name_matches_prefix _s2358_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2268_ _) =>
- (match (string_drop _s2267_ _s2268_) with
- | _s2269_ =>
- (sep_matches_prefix _s2269_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2359_ _) =>
+ (match (string_drop _s2358_ _s2359_) with
+ | _s2360_ =>
+ (sep_matches_prefix _s2360_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2270_ _) =>
- (match (string_drop _s2269_ _s2270_) with
- | _s2271_ =>
- (freg_name_matches_prefix _s2271_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2361_ _) =>
+ (match (string_drop _s2360_ _s2361_) with
+ | _s2362_ =>
+ (freg_name_matches_prefix _s2362_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2272_ _) =>
- (match (string_drop _s2271_ _s2272_) with
- | _s2273_ =>
- (sep_matches_prefix _s2273_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2363_ _) =>
+ (match (string_drop _s2362_ _s2363_) with
+ | _s2364_ =>
+ (sep_matches_prefix _s2364_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2274_ _) =>
- (match (string_drop _s2273_ _s2274_) with
- | _s2275_ =>
- (freg_name_matches_prefix _s2275_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2365_ _) =>
+ (match (string_drop _s2364_ _s2365_) with
+ | _s2366_ =>
+ (freg_name_matches_prefix _s2366_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s2276_ _) =>
- (match (string_drop _s2275_ _s2276_) with
- | _s2277_ =>
- (sep_matches_prefix _s2277_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2367_ _) =>
+ (match (string_drop _s2366_ _s2367_) with
+ | _s2368_ =>
+ (sep_matches_prefix _s2368_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s2278_ _) =>
- (match (string_drop _s2277_
- _s2278_) with
- | _s2279_ =>
+ | Some (tt, existT _ _s2369_ _) =>
+ (match (string_drop _s2368_
+ _s2369_) with
+ | _s2370_ =>
(frm_mnemonic_matches_prefix
- _s2279_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s2370_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s2280_ _) =>
+ (rm, existT _ _s2371_ _) =>
let p0_ :=
string_drop
- _s2279_
- _s2280_ in
+ _s2370_
+ _s2371_ in
if generic_eq p0_
"" then
Some
@@ -35875,88 +35562,88 @@ Definition _s2261_ (_s2262_ : string)
end)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s2236_ (_s2237_ : string)
+Definition _s2327_ (_s2328_ : string)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s2237_ with
- | _s2238_ =>
- (f_madd_type_mnemonic_S_matches_prefix _s2238_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
+ (match _s2328_ with
+ | _s2329_ =>
+ (f_madd_type_mnemonic_S_matches_prefix _s2329_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2239_ _) =>
- (match (string_drop _s2238_ _s2239_) with
- | _s2240_ =>
- (spc_matches_prefix _s2240_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2330_ _) =>
+ (match (string_drop _s2329_ _s2330_) with
+ | _s2331_ =>
+ (spc_matches_prefix _s2331_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2241_ _) =>
- (match (string_drop _s2240_ _s2241_) with
- | _s2242_ =>
- (freg_name_matches_prefix _s2242_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2332_ _) =>
+ (match (string_drop _s2331_ _s2332_) with
+ | _s2333_ =>
+ (freg_name_matches_prefix _s2333_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2243_ _) =>
- (match (string_drop _s2242_ _s2243_) with
- | _s2244_ =>
- (sep_matches_prefix _s2244_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2334_ _) =>
+ (match (string_drop _s2333_ _s2334_) with
+ | _s2335_ =>
+ (sep_matches_prefix _s2335_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2245_ _) =>
- (match (string_drop _s2244_ _s2245_) with
- | _s2246_ =>
- (freg_name_matches_prefix _s2246_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2336_ _) =>
+ (match (string_drop _s2335_ _s2336_) with
+ | _s2337_ =>
+ (freg_name_matches_prefix _s2337_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2247_ _) =>
- (match (string_drop _s2246_ _s2247_) with
- | _s2248_ =>
- (sep_matches_prefix _s2248_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2338_ _) =>
+ (match (string_drop _s2337_ _s2338_) with
+ | _s2339_ =>
+ (sep_matches_prefix _s2339_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2249_ _) =>
- (match (string_drop _s2248_ _s2249_) with
- | _s2250_ =>
- (freg_name_matches_prefix _s2250_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2340_ _) =>
+ (match (string_drop _s2339_ _s2340_) with
+ | _s2341_ =>
+ (freg_name_matches_prefix _s2341_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s2251_ _) =>
- (match (string_drop _s2250_ _s2251_) with
- | _s2252_ =>
- (sep_matches_prefix _s2252_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2342_ _) =>
+ (match (string_drop _s2341_ _s2342_) with
+ | _s2343_ =>
+ (sep_matches_prefix _s2343_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s2253_ _) =>
- (match (string_drop _s2252_
- _s2253_) with
- | _s2254_ =>
+ | Some (tt, existT _ _s2344_ _) =>
+ (match (string_drop _s2343_
+ _s2344_) with
+ | _s2345_ =>
(freg_name_matches_prefix
- _s2254_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2345_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s2255_ _) =>
+ (rs3, existT _ _s2346_ _) =>
(match (string_drop
- _s2254_ _s2255_) with
- | _s2256_ =>
+ _s2345_ _s2346_) with
+ | _s2347_ =>
(sep_matches_prefix
- _s2256_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2347_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s2257_ _) =>
+ (tt, existT _ _s2348_ _) =>
(match (string_drop
- _s2256_
- _s2257_) with
- | _s2258_ =>
+ _s2347_
+ _s2348_) with
+ | _s2349_ =>
(frm_mnemonic_matches_prefix
- _s2258_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s2349_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s2259_ _) =>
+ (rm, existT _ _s2350_ _) =>
let p0_ :=
string_drop
- _s2258_
- _s2259_ in
+ _s2349_
+ _s2350_ in
if
generic_eq
p0_
@@ -36022,81 +35709,81 @@ Definition _s2236_ (_s2237_ : string)
end)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s2212_ (_s2213_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s2214_ := _s2213_ in
- (if string_startswith _s2214_ "fs" then
- (match (string_drop _s2214_ (projT1 (string_length "fs"))) with
- | _s2215_ =>
- (size_mnemonic_matches_prefix _s2215_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s2303_ (_s2304_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s2305_ := _s2304_ in
+ (if string_startswith _s2305_ "fs" then
+ (match (string_drop _s2305_ (projT1 (string_length "fs"))) with
+ | _s2306_ =>
+ (size_mnemonic_matches_prefix _s2306_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s2216_ _) =>
- (match (string_drop _s2215_ _s2216_) with
- | _s2217_ =>
- (spc_matches_prefix _s2217_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s2307_ _) =>
+ (match (string_drop _s2306_ _s2307_) with
+ | _s2308_ =>
+ (spc_matches_prefix _s2308_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2218_ _) =>
- (match (string_drop _s2217_ _s2218_) with
- | _s2219_ =>
- (freg_name_matches_prefix _s2219_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2309_ _) =>
+ (match (string_drop _s2308_ _s2309_) with
+ | _s2310_ =>
+ (freg_name_matches_prefix _s2310_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs2, existT _ _s2220_ _) =>
- (match (string_drop _s2219_ _s2220_) with
- | _s2221_ =>
- (sep_matches_prefix _s2221_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2311_ _) =>
+ (match (string_drop _s2310_ _s2311_) with
+ | _s2312_ =>
+ (sep_matches_prefix _s2312_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2222_ _) =>
- (match (string_drop _s2221_ _s2222_) with
- | _s2223_ =>
- (match (hex_bits_12_matches_prefix _s2223_) with
- | Some (imm, existT _ _s2224_ _) =>
- (match (string_drop _s2223_ _s2224_) with
- | _s2225_ =>
- (opt_spc_matches_prefix _s2225_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2313_ _) =>
+ (match (string_drop _s2312_ _s2313_) with
+ | _s2314_ =>
+ (match (hex_bits_12_matches_prefix _s2314_) with
+ | Some (imm, existT _ _s2315_ _) =>
+ (match (string_drop _s2314_ _s2315_) with
+ | _s2316_ =>
+ (opt_spc_matches_prefix _s2316_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s2226_ _) =>
- let _s2227_ := string_drop _s2225_ _s2226_ in
- (if string_startswith _s2227_ "(" then
- (match (string_drop _s2227_
+ | Some (tt, existT _ _s2317_ _) =>
+ let _s2318_ := string_drop _s2316_ _s2317_ in
+ (if string_startswith _s2318_ "(" then
+ (match (string_drop _s2318_
(projT1
(string_length "("))) with
- | _s2228_ =>
- (opt_spc_matches_prefix _s2228_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s2319_ =>
+ (opt_spc_matches_prefix _s2319_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2229_ _) =>
- (match (string_drop _s2228_ _s2229_) with
- | _s2230_ =>
+ | Some (tt, existT _ _s2320_ _) =>
+ (match (string_drop _s2319_ _s2320_) with
+ | _s2321_ =>
(reg_name_matches_prefix
- _s2230_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2321_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s2231_ _) =>
- (match (string_drop _s2230_
- _s2231_) with
- | _s2232_ =>
+ (rs1, existT _ _s2322_ _) =>
+ (match (string_drop _s2321_
+ _s2322_) with
+ | _s2323_ =>
(opt_spc_matches_prefix
- _s2232_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2323_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s2233_ _) =>
- let _s2234_ :=
+ (tt, existT _ _s2324_ _) =>
+ let _s2325_ :=
string_drop
- _s2232_
- _s2233_ in
+ _s2323_
+ _s2324_ in
if string_startswith
- _s2234_
+ _s2325_
")"
then
let p0_ :=
string_drop
- _s2234_
+ _s2325_
(projT1
(string_length
")")) in
@@ -36157,81 +35844,81 @@ Definition _s2212_ (_s2213_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s2188_ (_s2189_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s2190_ := _s2189_ in
- (if string_startswith _s2190_ "fl" then
- (match (string_drop _s2190_ (projT1 (string_length "fl"))) with
- | _s2191_ =>
- (size_mnemonic_matches_prefix _s2191_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s2279_ (_s2280_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s2281_ := _s2280_ in
+ (if string_startswith _s2281_ "fl" then
+ (match (string_drop _s2281_ (projT1 (string_length "fl"))) with
+ | _s2282_ =>
+ (size_mnemonic_matches_prefix _s2282_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s2192_ _) =>
- (match (string_drop _s2191_ _s2192_) with
- | _s2193_ =>
- (spc_matches_prefix _s2193_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s2283_ _) =>
+ (match (string_drop _s2282_ _s2283_) with
+ | _s2284_ =>
+ (spc_matches_prefix _s2284_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2194_ _) =>
- (match (string_drop _s2193_ _s2194_) with
- | _s2195_ =>
- (freg_name_matches_prefix _s2195_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2285_ _) =>
+ (match (string_drop _s2284_ _s2285_) with
+ | _s2286_ =>
+ (freg_name_matches_prefix _s2286_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2196_ _) =>
- (match (string_drop _s2195_ _s2196_) with
- | _s2197_ =>
- (sep_matches_prefix _s2197_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2287_ _) =>
+ (match (string_drop _s2286_ _s2287_) with
+ | _s2288_ =>
+ (sep_matches_prefix _s2288_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2198_ _) =>
- (match (string_drop _s2197_ _s2198_) with
- | _s2199_ =>
- (match (hex_bits_12_matches_prefix _s2199_) with
- | Some (imm, existT _ _s2200_ _) =>
- (match (string_drop _s2199_ _s2200_) with
- | _s2201_ =>
- (opt_spc_matches_prefix _s2201_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2289_ _) =>
+ (match (string_drop _s2288_ _s2289_) with
+ | _s2290_ =>
+ (match (hex_bits_12_matches_prefix _s2290_) with
+ | Some (imm, existT _ _s2291_ _) =>
+ (match (string_drop _s2290_ _s2291_) with
+ | _s2292_ =>
+ (opt_spc_matches_prefix _s2292_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s2202_ _) =>
- let _s2203_ := string_drop _s2201_ _s2202_ in
- (if string_startswith _s2203_ "(" then
- (match (string_drop _s2203_
+ | Some (tt, existT _ _s2293_ _) =>
+ let _s2294_ := string_drop _s2292_ _s2293_ in
+ (if string_startswith _s2294_ "(" then
+ (match (string_drop _s2294_
(projT1
(string_length "("))) with
- | _s2204_ =>
- (opt_spc_matches_prefix _s2204_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s2295_ =>
+ (opt_spc_matches_prefix _s2295_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2205_ _) =>
- (match (string_drop _s2204_ _s2205_) with
- | _s2206_ =>
+ | Some (tt, existT _ _s2296_ _) =>
+ (match (string_drop _s2295_ _s2296_) with
+ | _s2297_ =>
(reg_name_matches_prefix
- _s2206_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s2297_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s2207_ _) =>
- (match (string_drop _s2206_
- _s2207_) with
- | _s2208_ =>
+ (rs1, existT _ _s2298_ _) =>
+ (match (string_drop _s2297_
+ _s2298_) with
+ | _s2299_ =>
(opt_spc_matches_prefix
- _s2208_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s2299_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s2209_ _) =>
- let _s2210_ :=
+ (tt, existT _ _s2300_ _) =>
+ let _s2301_ :=
string_drop
- _s2208_
- _s2209_ in
+ _s2299_
+ _s2300_ in
if string_startswith
- _s2210_
+ _s2301_
")"
then
let p0_ :=
string_drop
- _s2210_
+ _s2301_
(projT1
(string_length
")")) in
@@ -36292,51 +35979,343 @@ Definition _s2188_ (_s2189_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s2171_ (_s2172_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s2172_ with
- | _s2173_ =>
- (csr_mnemonic_matches_prefix _s2173_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s2267_ (_s2268_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s2269_ := _s2268_ in
+ (if string_startswith _s2269_ "fence.i.reserved." then
+ (match (string_drop _s2269_ (projT1 (string_length "fence.i.reserved."))) with
+ | _s2270_ =>
+ (reg_name_matches_prefix _s2270_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (rd, existT _ _s2271_ _) =>
+ let _s2272_ := string_drop _s2270_ _s2271_ in
+ (if string_startswith _s2272_ "." then
+ (match (string_drop _s2272_ (projT1 (string_length "."))) with
+ | _s2273_ =>
+ (reg_name_matches_prefix _s2273_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__1 with
+ | Some (rs, existT _ _s2274_ _) =>
+ let _s2275_ := string_drop _s2273_ _s2274_ in
+ if string_startswith _s2275_ "." then
+ match (string_drop _s2275_ (projT1 (string_length "."))) with
+ | _s2276_ =>
+ match (hex_bits_12_matches_prefix _s2276_) with
+ | Some (imm, existT _ _s2277_ _) =>
+ let p0_ := string_drop _s2276_ _s2277_ in
+ if generic_eq p0_ "" then Some (rd, rs, imm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12))).
+
+Definition _s2249_ (_s2250_ : string)
+: M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))) :=
+ let _s2251_ := _s2250_ in
+ (if string_startswith _s2251_ "fence.reserved." then
+ (match (string_drop _s2251_ (projT1 (string_length "fence.reserved."))) with
+ | _s2252_ =>
+ (fence_bits_matches_prefix _s2252_) >>= fun w__0 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (pred, existT _ _s2253_ _) =>
+ let _s2254_ := string_drop _s2252_ _s2253_ in
+ (if string_startswith _s2254_ "." then
+ (match (string_drop _s2254_ (projT1 (string_length "."))) with
+ | _s2255_ =>
+ (fence_bits_matches_prefix _s2255_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__1 with
+ | Some (succ, existT _ _s2256_ _) =>
+ let _s2257_ := string_drop _s2255_ _s2256_ in
+ (if string_startswith _s2257_ "." then
+ (match (string_drop _s2257_ (projT1 (string_length "."))) with
+ | _s2258_ =>
+ (reg_name_matches_prefix _s2258_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__2 with
+ | Some (rs, existT _ _s2259_ _) =>
+ let _s2260_ := string_drop _s2258_ _s2259_ in
+ (if string_startswith _s2260_ "." then
+ (match (string_drop _s2260_ (projT1 (string_length "."))) with
+ | _s2261_ =>
+ (reg_name_matches_prefix _s2261_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__3 with
+ | Some (rd, existT _ _s2262_ _) =>
+ let _s2263_ := string_drop _s2261_ _s2262_ in
+ if string_startswith _s2263_ "." then
+ match (string_drop _s2263_
+ (projT1
+ (string_length "."))) with
+ | _s2264_ =>
+ match (hex_bits_4_matches_prefix _s2264_) with
+ | Some (fm, existT _ _s2265_ _) =>
+ let p0_ :=
+ string_drop _s2264_ _s2265_ in
+ if generic_eq p0_ "" then
+ Some (pred, succ, rs, rd, fm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))).
+
+Definition _s2243_ (_s2244_ : string) : M (option (mword 3)) :=
+ let _s2245_ := _s2244_ in
+ (if string_startswith _s2245_ "c.srai.hint." then
+ (match (string_drop _s2245_ (projT1 (string_length "c.srai.hint."))) with
+ | _s2246_ =>
+ (creg_name_matches_prefix _s2246_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2247_ _) =>
+ let p0_ := string_drop _s2246_ _s2247_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s2237_ (_s2238_ : string) : M (option (mword 3)) :=
+ let _s2239_ := _s2238_ in
+ (if string_startswith _s2239_ "c.srli.hint." then
+ (match (string_drop _s2239_ (projT1 (string_length "c.srli.hint."))) with
+ | _s2240_ =>
+ (creg_name_matches_prefix _s2240_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2241_ _) =>
+ let p0_ := string_drop _s2240_ _s2241_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s2228_ (_s2229_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s2230_ := _s2229_ in
+ (if string_startswith _s2230_ "c.slli.hint." then
+ (match (string_drop _s2230_ (projT1 (string_length "c.slli.hint."))) with
+ | _s2231_ =>
+ (reg_name_matches_prefix _s2231_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2232_ _) =>
+ let _s2233_ := string_drop _s2231_ _s2232_ in
+ if string_startswith _s2233_ "." then
+ match (string_drop _s2233_ (projT1 (string_length "."))) with
+ | _s2234_ =>
+ match (hex_bits_6_matches_prefix _s2234_) with
+ | Some (shamt, existT _ _s2235_ _) =>
+ let p0_ := string_drop _s2234_ _s2235_ in
+ if generic_eq p0_ "" then Some (rsd, shamt)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 6)))
+ else returnm None)
+ : M (option ((mword 5 * mword 6))).
+
+Definition _s2222_ (_s2223_ : string) : M (option (mword 5)) :=
+ let _s2224_ := _s2223_ in
+ (if string_startswith _s2224_ "c.add.hint." then
+ (match (string_drop _s2224_ (projT1 (string_length "c.add.hint."))) with
+ | _s2225_ =>
+ (reg_name_matches_prefix _s2225_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s2226_ _) =>
+ let p0_ := string_drop _s2225_ _s2226_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s2216_ (_s2217_ : string) : M (option (mword 5)) :=
+ let _s2218_ := _s2217_ in
+ (if string_startswith _s2218_ "c.mv.hint." then
+ (match (string_drop _s2218_ (projT1 (string_length "c.mv.hint."))) with
+ | _s2219_ =>
+ (reg_name_matches_prefix _s2219_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s2220_ _) =>
+ let p0_ := string_drop _s2219_ _s2220_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s2210_ (_s2211_ : string) : option (mword 6) :=
+ let _s2212_ := _s2211_ in
+ if string_startswith _s2212_ "c.lui.hint." then
+ match (string_drop _s2212_ (projT1 (string_length "c.lui.hint."))) with
+ | _s2213_ =>
+ match (hex_bits_6_matches_prefix _s2213_) with
+ | Some (imm, existT _ _s2214_ _) =>
+ let p0_ := string_drop _s2213_ _s2214_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s2204_ (_s2205_ : string) : option (mword 6) :=
+ let _s2206_ := _s2205_ in
+ if string_startswith _s2206_ "c.li.hint." then
+ match (string_drop _s2206_ (projT1 (string_length "c.li.hint."))) with
+ | _s2207_ =>
+ match (hex_bits_6_matches_prefix _s2207_) with
+ | Some (imm, existT _ _s2208_ _) =>
+ let p0_ := string_drop _s2207_ _s2208_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s2198_ (_s2199_ : string) : M (option (mword 5)) :=
+ let _s2200_ := _s2199_ in
+ (if string_startswith _s2200_ "c.addi.hint." then
+ (match (string_drop _s2200_ (projT1 (string_length "c.addi.hint."))) with
+ | _s2201_ =>
+ (reg_name_matches_prefix _s2201_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s2202_ _) =>
+ let p0_ := string_drop _s2201_ _s2202_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s2192_ (_s2193_ : string) : option (mword 6) :=
+ let _s2194_ := _s2193_ in
+ if string_startswith _s2194_ "c.nop.hint." then
+ match (string_drop _s2194_ (projT1 (string_length "c.nop.hint."))) with
+ | _s2195_ =>
+ match (hex_bits_6_matches_prefix _s2195_) with
+ | Some (imm, existT _ _s2196_ _) =>
+ let p0_ := string_drop _s2195_ _s2196_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s2175_ (_s2176_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s2176_ with
+ | _s2177_ =>
+ (csr_mnemonic_matches_prefix _s2177_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2174_ _) =>
- (match (string_drop _s2173_ _s2174_) with
- | _s2175_ =>
- (spc_matches_prefix _s2175_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2178_ _) =>
+ (match (string_drop _s2177_ _s2178_) with
+ | _s2179_ =>
+ (spc_matches_prefix _s2179_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2176_ _) =>
- (match (string_drop _s2175_ _s2176_) with
- | _s2177_ =>
- (reg_name_matches_prefix _s2177_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2180_ _) =>
+ (match (string_drop _s2179_ _s2180_) with
+ | _s2181_ =>
+ (reg_name_matches_prefix _s2181_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2178_ _) =>
- (match (string_drop _s2177_ _s2178_) with
- | _s2179_ =>
- (sep_matches_prefix _s2179_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2182_ _) =>
+ (match (string_drop _s2181_ _s2182_) with
+ | _s2183_ =>
+ (sep_matches_prefix _s2183_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2180_ _) =>
- (match (string_drop _s2179_ _s2180_) with
- | _s2181_ =>
- (csr_name_map_matches_prefix _s2181_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2184_ _) =>
+ (match (string_drop _s2183_ _s2184_) with
+ | _s2185_ =>
+ (csr_name_map_matches_prefix _s2185_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s2182_ _) =>
- (match (string_drop _s2181_ _s2182_) with
- | _s2183_ =>
- (sep_matches_prefix _s2183_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s2186_ _) =>
+ (match (string_drop _s2185_ _s2186_) with
+ | _s2187_ =>
+ (sep_matches_prefix _s2187_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2184_ _) =>
- (match (string_drop _s2183_ _s2184_) with
- | _s2185_ =>
- (reg_name_matches_prefix _s2185_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2188_ _) =>
+ (match (string_drop _s2187_ _s2188_) with
+ | _s2189_ =>
+ (reg_name_matches_prefix _s2189_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s2186_ _) =>
+ | Some (rs1, existT _ _s2190_ _) =>
let p0_ :=
- string_drop _s2185_ _s2186_ in
+ string_drop _s2189_ _s2190_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -36375,52 +36354,52 @@ Definition _s2171_ (_s2172_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s2153_ (_s2154_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s2154_ with
- | _s2155_ =>
- (csr_mnemonic_matches_prefix _s2155_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s2157_ (_s2158_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s2158_ with
+ | _s2159_ =>
+ (csr_mnemonic_matches_prefix _s2159_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s2156_ _) =>
- let _s2157_ := string_drop _s2155_ _s2156_ in
- (if string_startswith _s2157_ "i" then
- (match (string_drop _s2157_ (projT1 (string_length "i"))) with
- | _s2158_ =>
- (spc_matches_prefix _s2158_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s2160_ _) =>
+ let _s2161_ := string_drop _s2159_ _s2160_ in
+ (if string_startswith _s2161_ "i" then
+ (match (string_drop _s2161_ (projT1 (string_length "i"))) with
+ | _s2162_ =>
+ (spc_matches_prefix _s2162_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2159_ _) =>
- (match (string_drop _s2158_ _s2159_) with
- | _s2160_ =>
- (reg_name_matches_prefix _s2160_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2163_ _) =>
+ (match (string_drop _s2162_ _s2163_) with
+ | _s2164_ =>
+ (reg_name_matches_prefix _s2164_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2161_ _) =>
- (match (string_drop _s2160_ _s2161_) with
- | _s2162_ =>
- (sep_matches_prefix _s2162_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2165_ _) =>
+ (match (string_drop _s2164_ _s2165_) with
+ | _s2166_ =>
+ (sep_matches_prefix _s2166_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2163_ _) =>
- (match (string_drop _s2162_ _s2163_) with
- | _s2164_ =>
- (csr_name_map_matches_prefix _s2164_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2167_ _) =>
+ (match (string_drop _s2166_ _s2167_) with
+ | _s2168_ =>
+ (csr_name_map_matches_prefix _s2168_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s2165_ _) =>
- (match (string_drop _s2164_ _s2165_) with
- | _s2166_ =>
- (sep_matches_prefix _s2166_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s2169_ _) =>
+ (match (string_drop _s2168_ _s2169_) with
+ | _s2170_ =>
+ (sep_matches_prefix _s2170_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s2167_ _) =>
- match (string_drop _s2166_ _s2167_) with
- | _s2168_ =>
+ | Some (tt, existT _ _s2171_ _) =>
+ match (string_drop _s2170_ _s2171_) with
+ | _s2172_ =>
match (hex_bits_5_matches_prefix
- _s2168_) with
- | Some (rs1, existT _ _s2169_ _) =>
+ _s2172_) with
+ | Some (rs1, existT _ _s2173_ _) =>
let p0_ :=
- string_drop _s2168_ _s2169_ in
+ string_drop _s2172_ _s2173_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -36459,57 +36438,57 @@ Definition _s2153_ (_s2154_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s2134_ (_s2135_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s2136_ := _s2135_ in
- (if string_startswith _s2136_ "rem" then
- (match (string_drop _s2136_ (projT1 (string_length "rem"))) with
- | _s2137_ =>
- (maybe_not_u_matches_prefix _s2137_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s2138_ (_s2139_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s2140_ := _s2139_ in
+ (if string_startswith _s2140_ "rem" then
+ (match (string_drop _s2140_ (projT1 (string_length "rem"))) with
+ | _s2141_ =>
+ (maybe_not_u_matches_prefix _s2141_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s2138_ _) =>
- let _s2139_ := string_drop _s2137_ _s2138_ in
- (if string_startswith _s2139_ "w" then
- (match (string_drop _s2139_ (projT1 (string_length "w"))) with
- | _s2140_ =>
- (spc_matches_prefix _s2140_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s2142_ _) =>
+ let _s2143_ := string_drop _s2141_ _s2142_ in
+ (if string_startswith _s2143_ "w" then
+ (match (string_drop _s2143_ (projT1 (string_length "w"))) with
+ | _s2144_ =>
+ (spc_matches_prefix _s2144_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2141_ _) =>
- (match (string_drop _s2140_ _s2141_) with
- | _s2142_ =>
- (reg_name_matches_prefix _s2142_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2145_ _) =>
+ (match (string_drop _s2144_ _s2145_) with
+ | _s2146_ =>
+ (reg_name_matches_prefix _s2146_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2143_ _) =>
- (match (string_drop _s2142_ _s2143_) with
- | _s2144_ =>
- (sep_matches_prefix _s2144_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2147_ _) =>
+ (match (string_drop _s2146_ _s2147_) with
+ | _s2148_ =>
+ (sep_matches_prefix _s2148_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2145_ _) =>
- (match (string_drop _s2144_ _s2145_) with
- | _s2146_ =>
- (reg_name_matches_prefix _s2146_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2149_ _) =>
+ (match (string_drop _s2148_ _s2149_) with
+ | _s2150_ =>
+ (reg_name_matches_prefix _s2150_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2147_ _) =>
- (match (string_drop _s2146_ _s2147_) with
- | _s2148_ =>
- (sep_matches_prefix _s2148_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2151_ _) =>
+ (match (string_drop _s2150_ _s2151_) with
+ | _s2152_ =>
+ (sep_matches_prefix _s2152_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2149_ _) =>
- (match (string_drop _s2148_ _s2149_) with
- | _s2150_ =>
- (reg_name_matches_prefix _s2150_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2153_ _) =>
+ (match (string_drop _s2152_ _s2153_) with
+ | _s2154_ =>
+ (reg_name_matches_prefix _s2154_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s2151_ _) =>
+ (rs2, existT _ _s2155_ _) =>
let p0_ :=
- string_drop _s2150_
- _s2151_ in
+ string_drop _s2154_
+ _s2155_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -36552,57 +36531,57 @@ Definition _s2134_ (_s2135_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s2115_ (_s2116_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s2117_ := _s2116_ in
- (if string_startswith _s2117_ "div" then
- (match (string_drop _s2117_ (projT1 (string_length "div"))) with
- | _s2118_ =>
- (maybe_not_u_matches_prefix _s2118_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s2119_ (_s2120_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s2121_ := _s2120_ in
+ (if string_startswith _s2121_ "div" then
+ (match (string_drop _s2121_ (projT1 (string_length "div"))) with
+ | _s2122_ =>
+ (maybe_not_u_matches_prefix _s2122_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s2119_ _) =>
- let _s2120_ := string_drop _s2118_ _s2119_ in
- (if string_startswith _s2120_ "w" then
- (match (string_drop _s2120_ (projT1 (string_length "w"))) with
- | _s2121_ =>
- (spc_matches_prefix _s2121_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s2123_ _) =>
+ let _s2124_ := string_drop _s2122_ _s2123_ in
+ (if string_startswith _s2124_ "w" then
+ (match (string_drop _s2124_ (projT1 (string_length "w"))) with
+ | _s2125_ =>
+ (spc_matches_prefix _s2125_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2122_ _) =>
- (match (string_drop _s2121_ _s2122_) with
- | _s2123_ =>
- (reg_name_matches_prefix _s2123_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2126_ _) =>
+ (match (string_drop _s2125_ _s2126_) with
+ | _s2127_ =>
+ (reg_name_matches_prefix _s2127_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2124_ _) =>
- (match (string_drop _s2123_ _s2124_) with
- | _s2125_ =>
- (sep_matches_prefix _s2125_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2128_ _) =>
+ (match (string_drop _s2127_ _s2128_) with
+ | _s2129_ =>
+ (sep_matches_prefix _s2129_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2126_ _) =>
- (match (string_drop _s2125_ _s2126_) with
- | _s2127_ =>
- (reg_name_matches_prefix _s2127_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2130_ _) =>
+ (match (string_drop _s2129_ _s2130_) with
+ | _s2131_ =>
+ (reg_name_matches_prefix _s2131_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2128_ _) =>
- (match (string_drop _s2127_ _s2128_) with
- | _s2129_ =>
- (sep_matches_prefix _s2129_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2132_ _) =>
+ (match (string_drop _s2131_ _s2132_) with
+ | _s2133_ =>
+ (sep_matches_prefix _s2133_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2130_ _) =>
- (match (string_drop _s2129_ _s2130_) with
- | _s2131_ =>
- (reg_name_matches_prefix _s2131_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2134_ _) =>
+ (match (string_drop _s2133_ _s2134_) with
+ | _s2135_ =>
+ (reg_name_matches_prefix _s2135_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s2132_ _) =>
+ (rs2, existT _ _s2136_ _) =>
let p0_ :=
- string_drop _s2131_
- _s2132_ in
+ string_drop _s2135_
+ _s2136_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -36645,45 +36624,45 @@ Definition _s2115_ (_s2116_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s2099_ (_s2100_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
- let _s2101_ := _s2100_ in
- (if string_startswith _s2101_ "mulw" then
- (match (string_drop _s2101_ (projT1 (string_length "mulw"))) with
- | _s2102_ =>
- (spc_matches_prefix _s2102_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2103_ (_s2104_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
+ let _s2105_ := _s2104_ in
+ (if string_startswith _s2105_ "mulw" then
+ (match (string_drop _s2105_ (projT1 (string_length "mulw"))) with
+ | _s2106_ =>
+ (spc_matches_prefix _s2106_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2103_ _) =>
- (match (string_drop _s2102_ _s2103_) with
- | _s2104_ =>
- (reg_name_matches_prefix _s2104_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2107_ _) =>
+ (match (string_drop _s2106_ _s2107_) with
+ | _s2108_ =>
+ (reg_name_matches_prefix _s2108_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2105_ _) =>
- (match (string_drop _s2104_ _s2105_) with
- | _s2106_ =>
- (sep_matches_prefix _s2106_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2109_ _) =>
+ (match (string_drop _s2108_ _s2109_) with
+ | _s2110_ =>
+ (sep_matches_prefix _s2110_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2107_ _) =>
- (match (string_drop _s2106_ _s2107_) with
- | _s2108_ =>
- (reg_name_matches_prefix _s2108_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2111_ _) =>
+ (match (string_drop _s2110_ _s2111_) with
+ | _s2112_ =>
+ (reg_name_matches_prefix _s2112_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s2109_ _) =>
- (match (string_drop _s2108_ _s2109_) with
- | _s2110_ =>
- (sep_matches_prefix _s2110_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2113_ _) =>
+ (match (string_drop _s2112_ _s2113_) with
+ | _s2114_ =>
+ (sep_matches_prefix _s2114_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s2111_ _) =>
- (match (string_drop _s2110_ _s2111_) with
- | _s2112_ =>
- (reg_name_matches_prefix _s2112_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2115_ _) =>
+ (match (string_drop _s2114_ _s2115_) with
+ | _s2116_ =>
+ (reg_name_matches_prefix _s2116_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (rs2, existT _ _s2113_ _) =>
- let p0_ := string_drop _s2112_ _s2113_ in
+ | Some (rs2, existT _ _s2117_ _) =>
+ let p0_ := string_drop _s2116_ _s2117_ in
if generic_eq p0_ "" then
Some (rd, rs1, rs2)
else None
@@ -36719,53 +36698,53 @@ Definition _s2099_ (_s2100_ : string) : M (option ((mword 5 * mword 5 * mword 5)
else returnm None)
: M (option ((mword 5 * mword 5 * mword 5))).
-Definition _s2081_ (_s2082_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s2083_ := _s2082_ in
- (if string_startswith _s2083_ "rem" then
- (match (string_drop _s2083_ (projT1 (string_length "rem"))) with
- | _s2084_ =>
- (maybe_not_u_matches_prefix _s2084_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s2085_ (_s2086_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s2087_ := _s2086_ in
+ (if string_startswith _s2087_ "rem" then
+ (match (string_drop _s2087_ (projT1 (string_length "rem"))) with
+ | _s2088_ =>
+ (maybe_not_u_matches_prefix _s2088_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s2085_ _) =>
- (match (string_drop _s2084_ _s2085_) with
- | _s2086_ =>
- (spc_matches_prefix _s2086_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s2089_ _) =>
+ (match (string_drop _s2088_ _s2089_) with
+ | _s2090_ =>
+ (spc_matches_prefix _s2090_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2087_ _) =>
- (match (string_drop _s2086_ _s2087_) with
- | _s2088_ =>
- (reg_name_matches_prefix _s2088_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2091_ _) =>
+ (match (string_drop _s2090_ _s2091_) with
+ | _s2092_ =>
+ (reg_name_matches_prefix _s2092_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2089_ _) =>
- (match (string_drop _s2088_ _s2089_) with
- | _s2090_ =>
- (sep_matches_prefix _s2090_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2093_ _) =>
+ (match (string_drop _s2092_ _s2093_) with
+ | _s2094_ =>
+ (sep_matches_prefix _s2094_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2091_ _) =>
- (match (string_drop _s2090_ _s2091_) with
- | _s2092_ =>
- (reg_name_matches_prefix _s2092_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2095_ _) =>
+ (match (string_drop _s2094_ _s2095_) with
+ | _s2096_ =>
+ (reg_name_matches_prefix _s2096_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2093_ _) =>
- (match (string_drop _s2092_ _s2093_) with
- | _s2094_ =>
- (sep_matches_prefix _s2094_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2097_ _) =>
+ (match (string_drop _s2096_ _s2097_) with
+ | _s2098_ =>
+ (sep_matches_prefix _s2098_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2095_ _) =>
- (match (string_drop _s2094_ _s2095_) with
- | _s2096_ =>
- (reg_name_matches_prefix _s2096_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2099_ _) =>
+ (match (string_drop _s2098_ _s2099_) with
+ | _s2100_ =>
+ (reg_name_matches_prefix _s2100_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2097_ _) =>
+ | Some (rs2, existT _ _s2101_ _) =>
let p0_ :=
- string_drop _s2096_ _s2097_ in
+ string_drop _s2100_ _s2101_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -36806,53 +36785,53 @@ Definition _s2081_ (_s2082_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s2063_ (_s2064_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s2065_ := _s2064_ in
- (if string_startswith _s2065_ "div" then
- (match (string_drop _s2065_ (projT1 (string_length "div"))) with
- | _s2066_ =>
- (maybe_not_u_matches_prefix _s2066_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s2067_ (_s2068_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s2069_ := _s2068_ in
+ (if string_startswith _s2069_ "div" then
+ (match (string_drop _s2069_ (projT1 (string_length "div"))) with
+ | _s2070_ =>
+ (maybe_not_u_matches_prefix _s2070_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s2067_ _) =>
- (match (string_drop _s2066_ _s2067_) with
- | _s2068_ =>
- (spc_matches_prefix _s2068_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s2071_ _) =>
+ (match (string_drop _s2070_ _s2071_) with
+ | _s2072_ =>
+ (spc_matches_prefix _s2072_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2069_ _) =>
- (match (string_drop _s2068_ _s2069_) with
- | _s2070_ =>
- (reg_name_matches_prefix _s2070_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2073_ _) =>
+ (match (string_drop _s2072_ _s2073_) with
+ | _s2074_ =>
+ (reg_name_matches_prefix _s2074_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2071_ _) =>
- (match (string_drop _s2070_ _s2071_) with
- | _s2072_ =>
- (sep_matches_prefix _s2072_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2075_ _) =>
+ (match (string_drop _s2074_ _s2075_) with
+ | _s2076_ =>
+ (sep_matches_prefix _s2076_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2073_ _) =>
- (match (string_drop _s2072_ _s2073_) with
- | _s2074_ =>
- (reg_name_matches_prefix _s2074_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2077_ _) =>
+ (match (string_drop _s2076_ _s2077_) with
+ | _s2078_ =>
+ (reg_name_matches_prefix _s2078_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2075_ _) =>
- (match (string_drop _s2074_ _s2075_) with
- | _s2076_ =>
- (sep_matches_prefix _s2076_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2079_ _) =>
+ (match (string_drop _s2078_ _s2079_) with
+ | _s2080_ =>
+ (sep_matches_prefix _s2080_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2077_ _) =>
- (match (string_drop _s2076_ _s2077_) with
- | _s2078_ =>
- (reg_name_matches_prefix _s2078_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2081_ _) =>
+ (match (string_drop _s2080_ _s2081_) with
+ | _s2082_ =>
+ (reg_name_matches_prefix _s2082_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2079_ _) =>
+ | Some (rs2, existT _ _s2083_ _) =>
let p0_ :=
- string_drop _s2078_ _s2079_ in
+ string_drop _s2082_ _s2083_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -36893,52 +36872,52 @@ Definition _s2063_ (_s2064_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s2046_ (_s2047_ : string)
+Definition _s2050_ (_s2051_ : string)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s2047_ with
- | _s2048_ =>
- (mul_mnemonic_matches_prefix _s2048_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
+ (match _s2051_ with
+ | _s2052_ =>
+ (mul_mnemonic_matches_prefix _s2052_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some ((high, signed1, signed2), existT _ _s2049_ _) =>
- (match (string_drop _s2048_ _s2049_) with
- | _s2050_ =>
- (spc_matches_prefix _s2050_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some ((high, signed1, signed2), existT _ _s2053_ _) =>
+ (match (string_drop _s2052_ _s2053_) with
+ | _s2054_ =>
+ (spc_matches_prefix _s2054_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s2051_ _) =>
- (match (string_drop _s2050_ _s2051_) with
- | _s2052_ =>
- (reg_name_matches_prefix _s2052_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2055_ _) =>
+ (match (string_drop _s2054_ _s2055_) with
+ | _s2056_ =>
+ (reg_name_matches_prefix _s2056_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s2053_ _) =>
- (match (string_drop _s2052_ _s2053_) with
- | _s2054_ =>
- (sep_matches_prefix _s2054_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2057_ _) =>
+ (match (string_drop _s2056_ _s2057_) with
+ | _s2058_ =>
+ (sep_matches_prefix _s2058_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s2055_ _) =>
- (match (string_drop _s2054_ _s2055_) with
- | _s2056_ =>
- (reg_name_matches_prefix _s2056_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2059_ _) =>
+ (match (string_drop _s2058_ _s2059_) with
+ | _s2060_ =>
+ (reg_name_matches_prefix _s2060_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s2057_ _) =>
- (match (string_drop _s2056_ _s2057_) with
- | _s2058_ =>
- (sep_matches_prefix _s2058_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s2061_ _) =>
+ (match (string_drop _s2060_ _s2061_) with
+ | _s2062_ =>
+ (sep_matches_prefix _s2062_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s2059_ _) =>
- (match (string_drop _s2058_ _s2059_) with
- | _s2060_ =>
- (reg_name_matches_prefix _s2060_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2063_ _) =>
+ (match (string_drop _s2062_ _s2063_) with
+ | _s2064_ =>
+ (reg_name_matches_prefix _s2064_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s2061_ _) =>
+ | Some (rs2, existT _ _s2065_ _) =>
let p0_ :=
- string_drop _s2060_ _s2061_ in
+ string_drop _s2064_ _s2065_ in
if generic_eq p0_ "" then
Some
(high, signed1, signed2, rd, rs1, rs2)
@@ -36978,33 +36957,33 @@ Definition _s2046_ (_s2047_ : string)
end)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s2034_ (_s2035_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s2036_ := _s2035_ in
- (if string_startswith _s2036_ "c.add" then
- (match (string_drop _s2036_ (projT1 (string_length "c.add"))) with
- | _s2037_ =>
- (spc_matches_prefix _s2037_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2038_ (_s2039_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s2040_ := _s2039_ in
+ (if string_startswith _s2040_ "c.add" then
+ (match (string_drop _s2040_ (projT1 (string_length "c.add"))) with
+ | _s2041_ =>
+ (spc_matches_prefix _s2041_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2038_ _) =>
- (match (string_drop _s2037_ _s2038_) with
- | _s2039_ =>
- (reg_name_matches_prefix _s2039_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2042_ _) =>
+ (match (string_drop _s2041_ _s2042_) with
+ | _s2043_ =>
+ (reg_name_matches_prefix _s2043_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s2040_ _) =>
- (match (string_drop _s2039_ _s2040_) with
- | _s2041_ =>
- (sep_matches_prefix _s2041_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s2044_ _) =>
+ (match (string_drop _s2043_ _s2044_) with
+ | _s2045_ =>
+ (sep_matches_prefix _s2045_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2042_ _) =>
- (match (string_drop _s2041_ _s2042_) with
- | _s2043_ =>
- (reg_name_matches_prefix _s2043_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2046_ _) =>
+ (match (string_drop _s2045_ _s2046_) with
+ | _s2047_ =>
+ (reg_name_matches_prefix _s2047_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s2044_ _) =>
- let p0_ := string_drop _s2043_ _s2044_ in
+ | Some (rs2, existT _ _s2048_ _) =>
+ let p0_ := string_drop _s2047_ _s2048_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37029,33 +37008,33 @@ Definition _s2034_ (_s2035_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s2022_ (_s2023_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s2024_ := _s2023_ in
- (if string_startswith _s2024_ "c.mv" then
- (match (string_drop _s2024_ (projT1 (string_length "c.mv"))) with
- | _s2025_ =>
- (spc_matches_prefix _s2025_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2026_ (_s2027_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s2028_ := _s2027_ in
+ (if string_startswith _s2028_ "c.mv" then
+ (match (string_drop _s2028_ (projT1 (string_length "c.mv"))) with
+ | _s2029_ =>
+ (spc_matches_prefix _s2029_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2026_ _) =>
- (match (string_drop _s2025_ _s2026_) with
- | _s2027_ =>
- (reg_name_matches_prefix _s2027_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2030_ _) =>
+ (match (string_drop _s2029_ _s2030_) with
+ | _s2031_ =>
+ (reg_name_matches_prefix _s2031_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s2028_ _) =>
- (match (string_drop _s2027_ _s2028_) with
- | _s2029_ =>
- (sep_matches_prefix _s2029_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s2032_ _) =>
+ (match (string_drop _s2031_ _s2032_) with
+ | _s2033_ =>
+ (sep_matches_prefix _s2033_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s2030_ _) =>
- (match (string_drop _s2029_ _s2030_) with
- | _s2031_ =>
- (reg_name_matches_prefix _s2031_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2034_ _) =>
+ (match (string_drop _s2033_ _s2034_) with
+ | _s2035_ =>
+ (reg_name_matches_prefix _s2035_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s2032_ _) =>
- let p0_ := string_drop _s2031_ _s2032_ in
+ | Some (rs2, existT _ _s2036_ _) =>
+ let p0_ := string_drop _s2035_ _s2036_ in
if generic_eq p0_ "" then Some (rd, rs2)
else None
| _ => None
@@ -37080,21 +37059,21 @@ Definition _s2022_ (_s2023_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s2014_ (_s2015_ : string) : M (option (mword 5)) :=
- let _s2016_ := _s2015_ in
- (if string_startswith _s2016_ "c.jalr" then
- (match (string_drop _s2016_ (projT1 (string_length "c.jalr"))) with
- | _s2017_ =>
- (spc_matches_prefix _s2017_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2018_ (_s2019_ : string) : M (option (mword 5)) :=
+ let _s2020_ := _s2019_ in
+ (if string_startswith _s2020_ "c.jalr" then
+ (match (string_drop _s2020_ (projT1 (string_length "c.jalr"))) with
+ | _s2021_ =>
+ (spc_matches_prefix _s2021_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2018_ _) =>
- (match (string_drop _s2017_ _s2018_) with
- | _s2019_ =>
- (reg_name_matches_prefix _s2019_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2022_ _) =>
+ (match (string_drop _s2021_ _s2022_) with
+ | _s2023_ =>
+ (reg_name_matches_prefix _s2023_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s2020_ _) =>
- let p0_ := string_drop _s2019_ _s2020_ in
+ | Some (rs1, existT _ _s2024_ _) =>
+ let p0_ := string_drop _s2023_ _s2024_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -37109,21 +37088,21 @@ Definition _s2014_ (_s2015_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s2006_ (_s2007_ : string) : M (option (mword 5)) :=
- let _s2008_ := _s2007_ in
- (if string_startswith _s2008_ "c.jr" then
- (match (string_drop _s2008_ (projT1 (string_length "c.jr"))) with
- | _s2009_ =>
- (spc_matches_prefix _s2009_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s2010_ (_s2011_ : string) : M (option (mword 5)) :=
+ let _s2012_ := _s2011_ in
+ (if string_startswith _s2012_ "c.jr" then
+ (match (string_drop _s2012_ (projT1 (string_length "c.jr"))) with
+ | _s2013_ =>
+ (spc_matches_prefix _s2013_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s2010_ _) =>
- (match (string_drop _s2009_ _s2010_) with
- | _s2011_ =>
- (reg_name_matches_prefix _s2011_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2014_ _) =>
+ (match (string_drop _s2013_ _s2014_) with
+ | _s2015_ =>
+ (reg_name_matches_prefix _s2015_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s2012_ _) =>
- let p0_ := string_drop _s2011_ _s2012_ in
+ | Some (rs1, existT _ _s2016_ _) =>
+ let p0_ := string_drop _s2015_ _s2016_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -37138,31 +37117,31 @@ Definition _s2006_ (_s2007_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s1994_ (_s1995_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1996_ := _s1995_ in
- (if string_startswith _s1996_ "c.sdsp" then
- (match (string_drop _s1996_ (projT1 (string_length "c.sdsp"))) with
- | _s1997_ =>
- (spc_matches_prefix _s1997_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1998_ (_s1999_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s2000_ := _s1999_ in
+ (if string_startswith _s2000_ "c.sdsp" then
+ (match (string_drop _s2000_ (projT1 (string_length "c.sdsp"))) with
+ | _s2001_ =>
+ (spc_matches_prefix _s2001_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1998_ _) =>
- (match (string_drop _s1997_ _s1998_) with
- | _s1999_ =>
- (reg_name_matches_prefix _s1999_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s2002_ _) =>
+ (match (string_drop _s2001_ _s2002_) with
+ | _s2003_ =>
+ (reg_name_matches_prefix _s2003_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s2000_ _) =>
- (match (string_drop _s1999_ _s2000_) with
- | _s2001_ =>
- (sep_matches_prefix _s2001_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s2004_ _) =>
+ (match (string_drop _s2003_ _s2004_) with
+ | _s2005_ =>
+ (sep_matches_prefix _s2005_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s2002_ _) =>
- match (string_drop _s2001_ _s2002_) with
- | _s2003_ =>
- match (hex_bits_6_matches_prefix _s2003_) with
- | Some (uimm, existT _ _s2004_ _) =>
- let p0_ := string_drop _s2003_ _s2004_ in
+ | Some (tt, existT _ _s2006_ _) =>
+ match (string_drop _s2005_ _s2006_) with
+ | _s2007_ =>
+ match (hex_bits_6_matches_prefix _s2007_) with
+ | Some (uimm, existT _ _s2008_ _) =>
+ let p0_ := string_drop _s2007_ _s2008_ in
if generic_eq p0_ "" then Some (rs2, uimm)
else None
| _ => None
@@ -37185,31 +37164,31 @@ Definition _s1994_ (_s1995_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1982_ (_s1983_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1984_ := _s1983_ in
- (if string_startswith _s1984_ "c.swsp" then
- (match (string_drop _s1984_ (projT1 (string_length "c.swsp"))) with
- | _s1985_ =>
- (spc_matches_prefix _s1985_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1986_ (_s1987_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1988_ := _s1987_ in
+ (if string_startswith _s1988_ "c.swsp" then
+ (match (string_drop _s1988_ (projT1 (string_length "c.swsp"))) with
+ | _s1989_ =>
+ (spc_matches_prefix _s1989_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1986_ _) =>
- (match (string_drop _s1985_ _s1986_) with
- | _s1987_ =>
- (reg_name_matches_prefix _s1987_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1990_ _) =>
+ (match (string_drop _s1989_ _s1990_) with
+ | _s1991_ =>
+ (reg_name_matches_prefix _s1991_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1988_ _) =>
- (match (string_drop _s1987_ _s1988_) with
- | _s1989_ =>
- (sep_matches_prefix _s1989_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1992_ _) =>
+ (match (string_drop _s1991_ _s1992_) with
+ | _s1993_ =>
+ (sep_matches_prefix _s1993_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1990_ _) =>
- match (string_drop _s1989_ _s1990_) with
- | _s1991_ =>
- match (hex_bits_6_matches_prefix _s1991_) with
- | Some (uimm, existT _ _s1992_ _) =>
- let p0_ := string_drop _s1991_ _s1992_ in
+ | Some (tt, existT _ _s1994_ _) =>
+ match (string_drop _s1993_ _s1994_) with
+ | _s1995_ =>
+ match (hex_bits_6_matches_prefix _s1995_) with
+ | Some (uimm, existT _ _s1996_ _) =>
+ let p0_ := string_drop _s1995_ _s1996_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -37232,31 +37211,31 @@ Definition _s1982_ (_s1983_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1970_ (_s1971_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1972_ := _s1971_ in
- (if string_startswith _s1972_ "c.ldsp" then
- (match (string_drop _s1972_ (projT1 (string_length "c.ldsp"))) with
- | _s1973_ =>
- (spc_matches_prefix _s1973_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1974_ (_s1975_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1976_ := _s1975_ in
+ (if string_startswith _s1976_ "c.ldsp" then
+ (match (string_drop _s1976_ (projT1 (string_length "c.ldsp"))) with
+ | _s1977_ =>
+ (spc_matches_prefix _s1977_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1974_ _) =>
- (match (string_drop _s1973_ _s1974_) with
- | _s1975_ =>
- (reg_name_matches_prefix _s1975_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1978_ _) =>
+ (match (string_drop _s1977_ _s1978_) with
+ | _s1979_ =>
+ (reg_name_matches_prefix _s1979_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1976_ _) =>
- (match (string_drop _s1975_ _s1976_) with
- | _s1977_ =>
- (sep_matches_prefix _s1977_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1980_ _) =>
+ (match (string_drop _s1979_ _s1980_) with
+ | _s1981_ =>
+ (sep_matches_prefix _s1981_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1978_ _) =>
- match (string_drop _s1977_ _s1978_) with
- | _s1979_ =>
- match (hex_bits_6_matches_prefix _s1979_) with
- | Some (uimm, existT _ _s1980_ _) =>
- let p0_ := string_drop _s1979_ _s1980_ in
+ | Some (tt, existT _ _s1982_ _) =>
+ match (string_drop _s1981_ _s1982_) with
+ | _s1983_ =>
+ match (hex_bits_6_matches_prefix _s1983_) with
+ | Some (uimm, existT _ _s1984_ _) =>
+ let p0_ := string_drop _s1983_ _s1984_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -37279,31 +37258,31 @@ Definition _s1970_ (_s1971_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1958_ (_s1959_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1960_ := _s1959_ in
- (if string_startswith _s1960_ "c.lwsp" then
- (match (string_drop _s1960_ (projT1 (string_length "c.lwsp"))) with
- | _s1961_ =>
- (spc_matches_prefix _s1961_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1962_ (_s1963_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1964_ := _s1963_ in
+ (if string_startswith _s1964_ "c.lwsp" then
+ (match (string_drop _s1964_ (projT1 (string_length "c.lwsp"))) with
+ | _s1965_ =>
+ (spc_matches_prefix _s1965_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1962_ _) =>
- (match (string_drop _s1961_ _s1962_) with
- | _s1963_ =>
- (reg_name_matches_prefix _s1963_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1966_ _) =>
+ (match (string_drop _s1965_ _s1966_) with
+ | _s1967_ =>
+ (reg_name_matches_prefix _s1967_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1964_ _) =>
- (match (string_drop _s1963_ _s1964_) with
- | _s1965_ =>
- (sep_matches_prefix _s1965_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1968_ _) =>
+ (match (string_drop _s1967_ _s1968_) with
+ | _s1969_ =>
+ (sep_matches_prefix _s1969_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1966_ _) =>
- match (string_drop _s1965_ _s1966_) with
- | _s1967_ =>
- match (hex_bits_6_matches_prefix _s1967_) with
- | Some (uimm, existT _ _s1968_ _) =>
- let p0_ := string_drop _s1967_ _s1968_ in
+ | Some (tt, existT _ _s1970_ _) =>
+ match (string_drop _s1969_ _s1970_) with
+ | _s1971_ =>
+ match (hex_bits_6_matches_prefix _s1971_) with
+ | Some (uimm, existT _ _s1972_ _) =>
+ let p0_ := string_drop _s1971_ _s1972_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -37326,31 +37305,31 @@ Definition _s1958_ (_s1959_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1946_ (_s1947_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1948_ := _s1947_ in
- (if string_startswith _s1948_ "c.slli" then
- (match (string_drop _s1948_ (projT1 (string_length "c.slli"))) with
- | _s1949_ =>
- (spc_matches_prefix _s1949_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1950_ (_s1951_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1952_ := _s1951_ in
+ (if string_startswith _s1952_ "c.slli" then
+ (match (string_drop _s1952_ (projT1 (string_length "c.slli"))) with
+ | _s1953_ =>
+ (spc_matches_prefix _s1953_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1950_ _) =>
- (match (string_drop _s1949_ _s1950_) with
- | _s1951_ =>
- (reg_name_matches_prefix _s1951_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1954_ _) =>
+ (match (string_drop _s1953_ _s1954_) with
+ | _s1955_ =>
+ (reg_name_matches_prefix _s1955_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1952_ _) =>
- (match (string_drop _s1951_ _s1952_) with
- | _s1953_ =>
- (sep_matches_prefix _s1953_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1956_ _) =>
+ (match (string_drop _s1955_ _s1956_) with
+ | _s1957_ =>
+ (sep_matches_prefix _s1957_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1954_ _) =>
- match (string_drop _s1953_ _s1954_) with
- | _s1955_ =>
- match (hex_bits_6_matches_prefix _s1955_) with
- | Some (shamt, existT _ _s1956_ _) =>
- let p0_ := string_drop _s1955_ _s1956_ in
+ | Some (tt, existT _ _s1958_ _) =>
+ match (string_drop _s1957_ _s1958_) with
+ | _s1959_ =>
+ match (hex_bits_6_matches_prefix _s1959_) with
+ | Some (shamt, existT _ _s1960_ _) =>
+ let p0_ := string_drop _s1959_ _s1960_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -37373,31 +37352,31 @@ Definition _s1946_ (_s1947_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1934_ (_s1935_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s1936_ := _s1935_ in
- (if string_startswith _s1936_ "c.bnez" then
- (match (string_drop _s1936_ (projT1 (string_length "c.bnez"))) with
- | _s1937_ =>
- (spc_matches_prefix _s1937_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1938_ (_s1939_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s1940_ := _s1939_ in
+ (if string_startswith _s1940_ "c.bnez" then
+ (match (string_drop _s1940_ (projT1 (string_length "c.bnez"))) with
+ | _s1941_ =>
+ (spc_matches_prefix _s1941_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1938_ _) =>
- (match (string_drop _s1937_ _s1938_) with
- | _s1939_ =>
- (creg_name_matches_prefix _s1939_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1942_ _) =>
+ (match (string_drop _s1941_ _s1942_) with
+ | _s1943_ =>
+ (creg_name_matches_prefix _s1943_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s1940_ _) =>
- (match (string_drop _s1939_ _s1940_) with
- | _s1941_ =>
- (sep_matches_prefix _s1941_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s1944_ _) =>
+ (match (string_drop _s1943_ _s1944_) with
+ | _s1945_ =>
+ (sep_matches_prefix _s1945_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1942_ _) =>
- match (string_drop _s1941_ _s1942_) with
- | _s1943_ =>
- match (hex_bits_8_matches_prefix _s1943_) with
- | Some (imm, existT _ _s1944_ _) =>
- let p0_ := string_drop _s1943_ _s1944_ in
+ | Some (tt, existT _ _s1946_ _) =>
+ match (string_drop _s1945_ _s1946_) with
+ | _s1947_ =>
+ match (hex_bits_8_matches_prefix _s1947_) with
+ | Some (imm, existT _ _s1948_ _) =>
+ let p0_ := string_drop _s1947_ _s1948_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -37420,31 +37399,31 @@ Definition _s1934_ (_s1935_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s1922_ (_s1923_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s1924_ := _s1923_ in
- (if string_startswith _s1924_ "c.beqz" then
- (match (string_drop _s1924_ (projT1 (string_length "c.beqz"))) with
- | _s1925_ =>
- (spc_matches_prefix _s1925_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1926_ (_s1927_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s1928_ := _s1927_ in
+ (if string_startswith _s1928_ "c.beqz" then
+ (match (string_drop _s1928_ (projT1 (string_length "c.beqz"))) with
+ | _s1929_ =>
+ (spc_matches_prefix _s1929_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1926_ _) =>
- (match (string_drop _s1925_ _s1926_) with
- | _s1927_ =>
- (creg_name_matches_prefix _s1927_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1930_ _) =>
+ (match (string_drop _s1929_ _s1930_) with
+ | _s1931_ =>
+ (creg_name_matches_prefix _s1931_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s1928_ _) =>
- (match (string_drop _s1927_ _s1928_) with
- | _s1929_ =>
- (sep_matches_prefix _s1929_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s1932_ _) =>
+ (match (string_drop _s1931_ _s1932_) with
+ | _s1933_ =>
+ (sep_matches_prefix _s1933_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1930_ _) =>
- match (string_drop _s1929_ _s1930_) with
- | _s1931_ =>
- match (hex_bits_8_matches_prefix _s1931_) with
- | Some (imm, existT _ _s1932_ _) =>
- let p0_ := string_drop _s1931_ _s1932_ in
+ | Some (tt, existT _ _s1934_ _) =>
+ match (string_drop _s1933_ _s1934_) with
+ | _s1935_ =>
+ match (hex_bits_8_matches_prefix _s1935_) with
+ | Some (imm, existT _ _s1936_ _) =>
+ let p0_ := string_drop _s1935_ _s1936_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -37467,19 +37446,19 @@ Definition _s1922_ (_s1923_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s1914_ (_s1915_ : string) : M (option (mword 11)) :=
- let _s1916_ := _s1915_ in
- (if string_startswith _s1916_ "c.j" then
- (match (string_drop _s1916_ (projT1 (string_length "c.j"))) with
- | _s1917_ =>
- (spc_matches_prefix _s1917_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1918_ (_s1919_ : string) : M (option (mword 11)) :=
+ let _s1920_ := _s1919_ in
+ (if string_startswith _s1920_ "c.j" then
+ (match (string_drop _s1920_ (projT1 (string_length "c.j"))) with
+ | _s1921_ =>
+ (spc_matches_prefix _s1921_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s1918_ _) =>
- match (string_drop _s1917_ _s1918_) with
- | _s1919_ =>
- match (hex_bits_11_matches_prefix _s1919_) with
- | Some (imm, existT _ _s1920_ _) =>
- let p0_ := string_drop _s1919_ _s1920_ in
+ | Some (tt, existT _ _s1922_ _) =>
+ match (string_drop _s1921_ _s1922_) with
+ | _s1923_ =>
+ match (hex_bits_11_matches_prefix _s1923_) with
+ | Some (imm, existT _ _s1924_ _) =>
+ let p0_ := string_drop _s1923_ _s1924_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -37492,33 +37471,33 @@ Definition _s1914_ (_s1915_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s1902_ (_s1903_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1904_ := _s1903_ in
- (if string_startswith _s1904_ "c.addw" then
- (match (string_drop _s1904_ (projT1 (string_length "c.addw"))) with
- | _s1905_ =>
- (spc_matches_prefix _s1905_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1906_ (_s1907_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1908_ := _s1907_ in
+ (if string_startswith _s1908_ "c.addw" then
+ (match (string_drop _s1908_ (projT1 (string_length "c.addw"))) with
+ | _s1909_ =>
+ (spc_matches_prefix _s1909_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1906_ _) =>
- (match (string_drop _s1905_ _s1906_) with
- | _s1907_ =>
- (creg_name_matches_prefix _s1907_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1910_ _) =>
+ (match (string_drop _s1909_ _s1910_) with
+ | _s1911_ =>
+ (creg_name_matches_prefix _s1911_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1908_ _) =>
- (match (string_drop _s1907_ _s1908_) with
- | _s1909_ =>
- (sep_matches_prefix _s1909_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1912_ _) =>
+ (match (string_drop _s1911_ _s1912_) with
+ | _s1913_ =>
+ (sep_matches_prefix _s1913_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1910_ _) =>
- (match (string_drop _s1909_ _s1910_) with
- | _s1911_ =>
- (creg_name_matches_prefix _s1911_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1914_ _) =>
+ (match (string_drop _s1913_ _s1914_) with
+ | _s1915_ =>
+ (creg_name_matches_prefix _s1915_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1912_ _) =>
- let p0_ := string_drop _s1911_ _s1912_ in
+ | Some (rs2, existT _ _s1916_ _) =>
+ let p0_ := string_drop _s1915_ _s1916_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37543,33 +37522,33 @@ Definition _s1902_ (_s1903_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1890_ (_s1891_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1892_ := _s1891_ in
- (if string_startswith _s1892_ "c.subw" then
- (match (string_drop _s1892_ (projT1 (string_length "c.subw"))) with
- | _s1893_ =>
- (spc_matches_prefix _s1893_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1894_ (_s1895_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1896_ := _s1895_ in
+ (if string_startswith _s1896_ "c.subw" then
+ (match (string_drop _s1896_ (projT1 (string_length "c.subw"))) with
+ | _s1897_ =>
+ (spc_matches_prefix _s1897_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1894_ _) =>
- (match (string_drop _s1893_ _s1894_) with
- | _s1895_ =>
- (creg_name_matches_prefix _s1895_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1898_ _) =>
+ (match (string_drop _s1897_ _s1898_) with
+ | _s1899_ =>
+ (creg_name_matches_prefix _s1899_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1896_ _) =>
- (match (string_drop _s1895_ _s1896_) with
- | _s1897_ =>
- (sep_matches_prefix _s1897_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1900_ _) =>
+ (match (string_drop _s1899_ _s1900_) with
+ | _s1901_ =>
+ (sep_matches_prefix _s1901_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1898_ _) =>
- (match (string_drop _s1897_ _s1898_) with
- | _s1899_ =>
- (creg_name_matches_prefix _s1899_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1902_ _) =>
+ (match (string_drop _s1901_ _s1902_) with
+ | _s1903_ =>
+ (creg_name_matches_prefix _s1903_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1900_ _) =>
- let p0_ := string_drop _s1899_ _s1900_ in
+ | Some (rs2, existT _ _s1904_ _) =>
+ let p0_ := string_drop _s1903_ _s1904_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37594,33 +37573,33 @@ Definition _s1890_ (_s1891_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1878_ (_s1879_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1880_ := _s1879_ in
- (if string_startswith _s1880_ "c.and" then
- (match (string_drop _s1880_ (projT1 (string_length "c.and"))) with
- | _s1881_ =>
- (spc_matches_prefix _s1881_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1882_ (_s1883_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1884_ := _s1883_ in
+ (if string_startswith _s1884_ "c.and" then
+ (match (string_drop _s1884_ (projT1 (string_length "c.and"))) with
+ | _s1885_ =>
+ (spc_matches_prefix _s1885_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1882_ _) =>
- (match (string_drop _s1881_ _s1882_) with
- | _s1883_ =>
- (creg_name_matches_prefix _s1883_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1886_ _) =>
+ (match (string_drop _s1885_ _s1886_) with
+ | _s1887_ =>
+ (creg_name_matches_prefix _s1887_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1884_ _) =>
- (match (string_drop _s1883_ _s1884_) with
- | _s1885_ =>
- (sep_matches_prefix _s1885_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1888_ _) =>
+ (match (string_drop _s1887_ _s1888_) with
+ | _s1889_ =>
+ (sep_matches_prefix _s1889_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1886_ _) =>
- (match (string_drop _s1885_ _s1886_) with
- | _s1887_ =>
- (creg_name_matches_prefix _s1887_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1890_ _) =>
+ (match (string_drop _s1889_ _s1890_) with
+ | _s1891_ =>
+ (creg_name_matches_prefix _s1891_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1888_ _) =>
- let p0_ := string_drop _s1887_ _s1888_ in
+ | Some (rs2, existT _ _s1892_ _) =>
+ let p0_ := string_drop _s1891_ _s1892_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37645,33 +37624,33 @@ Definition _s1878_ (_s1879_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1866_ (_s1867_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1868_ := _s1867_ in
- (if string_startswith _s1868_ "c.or" then
- (match (string_drop _s1868_ (projT1 (string_length "c.or"))) with
- | _s1869_ =>
- (spc_matches_prefix _s1869_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1870_ (_s1871_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1872_ := _s1871_ in
+ (if string_startswith _s1872_ "c.or" then
+ (match (string_drop _s1872_ (projT1 (string_length "c.or"))) with
+ | _s1873_ =>
+ (spc_matches_prefix _s1873_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1870_ _) =>
- (match (string_drop _s1869_ _s1870_) with
- | _s1871_ =>
- (creg_name_matches_prefix _s1871_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1874_ _) =>
+ (match (string_drop _s1873_ _s1874_) with
+ | _s1875_ =>
+ (creg_name_matches_prefix _s1875_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1872_ _) =>
- (match (string_drop _s1871_ _s1872_) with
- | _s1873_ =>
- (sep_matches_prefix _s1873_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1876_ _) =>
+ (match (string_drop _s1875_ _s1876_) with
+ | _s1877_ =>
+ (sep_matches_prefix _s1877_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1874_ _) =>
- (match (string_drop _s1873_ _s1874_) with
- | _s1875_ =>
- (creg_name_matches_prefix _s1875_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1878_ _) =>
+ (match (string_drop _s1877_ _s1878_) with
+ | _s1879_ =>
+ (creg_name_matches_prefix _s1879_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1876_ _) =>
- let p0_ := string_drop _s1875_ _s1876_ in
+ | Some (rs2, existT _ _s1880_ _) =>
+ let p0_ := string_drop _s1879_ _s1880_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37696,33 +37675,33 @@ Definition _s1866_ (_s1867_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1854_ (_s1855_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1856_ := _s1855_ in
- (if string_startswith _s1856_ "c.xor" then
- (match (string_drop _s1856_ (projT1 (string_length "c.xor"))) with
- | _s1857_ =>
- (spc_matches_prefix _s1857_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1858_ (_s1859_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1860_ := _s1859_ in
+ (if string_startswith _s1860_ "c.xor" then
+ (match (string_drop _s1860_ (projT1 (string_length "c.xor"))) with
+ | _s1861_ =>
+ (spc_matches_prefix _s1861_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1858_ _) =>
- (match (string_drop _s1857_ _s1858_) with
- | _s1859_ =>
- (creg_name_matches_prefix _s1859_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1862_ _) =>
+ (match (string_drop _s1861_ _s1862_) with
+ | _s1863_ =>
+ (creg_name_matches_prefix _s1863_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1860_ _) =>
- (match (string_drop _s1859_ _s1860_) with
- | _s1861_ =>
- (sep_matches_prefix _s1861_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1864_ _) =>
+ (match (string_drop _s1863_ _s1864_) with
+ | _s1865_ =>
+ (sep_matches_prefix _s1865_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1862_ _) =>
- (match (string_drop _s1861_ _s1862_) with
- | _s1863_ =>
- (creg_name_matches_prefix _s1863_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1866_ _) =>
+ (match (string_drop _s1865_ _s1866_) with
+ | _s1867_ =>
+ (creg_name_matches_prefix _s1867_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1864_ _) =>
- let p0_ := string_drop _s1863_ _s1864_ in
+ | Some (rs2, existT _ _s1868_ _) =>
+ let p0_ := string_drop _s1867_ _s1868_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37747,33 +37726,33 @@ Definition _s1854_ (_s1855_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1842_ (_s1843_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s1844_ := _s1843_ in
- (if string_startswith _s1844_ "c.sub" then
- (match (string_drop _s1844_ (projT1 (string_length "c.sub"))) with
- | _s1845_ =>
- (spc_matches_prefix _s1845_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1846_ (_s1847_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s1848_ := _s1847_ in
+ (if string_startswith _s1848_ "c.sub" then
+ (match (string_drop _s1848_ (projT1 (string_length "c.sub"))) with
+ | _s1849_ =>
+ (spc_matches_prefix _s1849_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1846_ _) =>
- (match (string_drop _s1845_ _s1846_) with
- | _s1847_ =>
- (creg_name_matches_prefix _s1847_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1850_ _) =>
+ (match (string_drop _s1849_ _s1850_) with
+ | _s1851_ =>
+ (creg_name_matches_prefix _s1851_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1848_ _) =>
- (match (string_drop _s1847_ _s1848_) with
- | _s1849_ =>
- (sep_matches_prefix _s1849_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1852_ _) =>
+ (match (string_drop _s1851_ _s1852_) with
+ | _s1853_ =>
+ (sep_matches_prefix _s1853_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1850_ _) =>
- (match (string_drop _s1849_ _s1850_) with
- | _s1851_ =>
- (creg_name_matches_prefix _s1851_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1854_ _) =>
+ (match (string_drop _s1853_ _s1854_) with
+ | _s1855_ =>
+ (creg_name_matches_prefix _s1855_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1852_ _) =>
- let p0_ := string_drop _s1851_ _s1852_ in
+ | Some (rs2, existT _ _s1856_ _) =>
+ let p0_ := string_drop _s1855_ _s1856_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -37798,31 +37777,31 @@ Definition _s1842_ (_s1843_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s1830_ (_s1831_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s1832_ := _s1831_ in
- (if string_startswith _s1832_ "c.andi" then
- (match (string_drop _s1832_ (projT1 (string_length "c.andi"))) with
- | _s1833_ =>
- (spc_matches_prefix _s1833_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1834_ (_s1835_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s1836_ := _s1835_ in
+ (if string_startswith _s1836_ "c.andi" then
+ (match (string_drop _s1836_ (projT1 (string_length "c.andi"))) with
+ | _s1837_ =>
+ (spc_matches_prefix _s1837_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1834_ _) =>
- (match (string_drop _s1833_ _s1834_) with
- | _s1835_ =>
- (creg_name_matches_prefix _s1835_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1838_ _) =>
+ (match (string_drop _s1837_ _s1838_) with
+ | _s1839_ =>
+ (creg_name_matches_prefix _s1839_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1836_ _) =>
- (match (string_drop _s1835_ _s1836_) with
- | _s1837_ =>
- (sep_matches_prefix _s1837_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1840_ _) =>
+ (match (string_drop _s1839_ _s1840_) with
+ | _s1841_ =>
+ (sep_matches_prefix _s1841_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1838_ _) =>
- match (string_drop _s1837_ _s1838_) with
- | _s1839_ =>
- match (hex_bits_6_matches_prefix _s1839_) with
- | Some (imm, existT _ _s1840_ _) =>
- let p0_ := string_drop _s1839_ _s1840_ in
+ | Some (tt, existT _ _s1842_ _) =>
+ match (string_drop _s1841_ _s1842_) with
+ | _s1843_ =>
+ match (hex_bits_6_matches_prefix _s1843_) with
+ | Some (imm, existT _ _s1844_ _) =>
+ let p0_ := string_drop _s1843_ _s1844_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -37845,31 +37824,31 @@ Definition _s1830_ (_s1831_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s1818_ (_s1819_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s1820_ := _s1819_ in
- (if string_startswith _s1820_ "c.srai" then
- (match (string_drop _s1820_ (projT1 (string_length "c.srai"))) with
- | _s1821_ =>
- (spc_matches_prefix _s1821_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1822_ (_s1823_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s1824_ := _s1823_ in
+ (if string_startswith _s1824_ "c.srai" then
+ (match (string_drop _s1824_ (projT1 (string_length "c.srai"))) with
+ | _s1825_ =>
+ (spc_matches_prefix _s1825_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1822_ _) =>
- (match (string_drop _s1821_ _s1822_) with
- | _s1823_ =>
- (creg_name_matches_prefix _s1823_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1826_ _) =>
+ (match (string_drop _s1825_ _s1826_) with
+ | _s1827_ =>
+ (creg_name_matches_prefix _s1827_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1824_ _) =>
- (match (string_drop _s1823_ _s1824_) with
- | _s1825_ =>
- (sep_matches_prefix _s1825_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1828_ _) =>
+ (match (string_drop _s1827_ _s1828_) with
+ | _s1829_ =>
+ (sep_matches_prefix _s1829_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1826_ _) =>
- match (string_drop _s1825_ _s1826_) with
- | _s1827_ =>
- match (hex_bits_6_matches_prefix _s1827_) with
- | Some (shamt, existT _ _s1828_ _) =>
- let p0_ := string_drop _s1827_ _s1828_ in
+ | Some (tt, existT _ _s1830_ _) =>
+ match (string_drop _s1829_ _s1830_) with
+ | _s1831_ =>
+ match (hex_bits_6_matches_prefix _s1831_) with
+ | Some (shamt, existT _ _s1832_ _) =>
+ let p0_ := string_drop _s1831_ _s1832_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -37892,31 +37871,31 @@ Definition _s1818_ (_s1819_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s1806_ (_s1807_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s1808_ := _s1807_ in
- (if string_startswith _s1808_ "c.srli" then
- (match (string_drop _s1808_ (projT1 (string_length "c.srli"))) with
- | _s1809_ =>
- (spc_matches_prefix _s1809_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1810_ (_s1811_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s1812_ := _s1811_ in
+ (if string_startswith _s1812_ "c.srli" then
+ (match (string_drop _s1812_ (projT1 (string_length "c.srli"))) with
+ | _s1813_ =>
+ (spc_matches_prefix _s1813_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1810_ _) =>
- (match (string_drop _s1809_ _s1810_) with
- | _s1811_ =>
- (creg_name_matches_prefix _s1811_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1814_ _) =>
+ (match (string_drop _s1813_ _s1814_) with
+ | _s1815_ =>
+ (creg_name_matches_prefix _s1815_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1812_ _) =>
- (match (string_drop _s1811_ _s1812_) with
- | _s1813_ =>
- (sep_matches_prefix _s1813_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1816_ _) =>
+ (match (string_drop _s1815_ _s1816_) with
+ | _s1817_ =>
+ (sep_matches_prefix _s1817_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1814_ _) =>
- match (string_drop _s1813_ _s1814_) with
- | _s1815_ =>
- match (hex_bits_6_matches_prefix _s1815_) with
- | Some (shamt, existT _ _s1816_ _) =>
- let p0_ := string_drop _s1815_ _s1816_ in
+ | Some (tt, existT _ _s1818_ _) =>
+ match (string_drop _s1817_ _s1818_) with
+ | _s1819_ =>
+ match (hex_bits_6_matches_prefix _s1819_) with
+ | Some (shamt, existT _ _s1820_ _) =>
+ let p0_ := string_drop _s1819_ _s1820_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -37939,31 +37918,31 @@ Definition _s1806_ (_s1807_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s1794_ (_s1795_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1796_ := _s1795_ in
- (if string_startswith _s1796_ "c.lui" then
- (match (string_drop _s1796_ (projT1 (string_length "c.lui"))) with
- | _s1797_ =>
- (spc_matches_prefix _s1797_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1798_ (_s1799_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1800_ := _s1799_ in
+ (if string_startswith _s1800_ "c.lui" then
+ (match (string_drop _s1800_ (projT1 (string_length "c.lui"))) with
+ | _s1801_ =>
+ (spc_matches_prefix _s1801_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1798_ _) =>
- (match (string_drop _s1797_ _s1798_) with
- | _s1799_ =>
- (reg_name_matches_prefix _s1799_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1802_ _) =>
+ (match (string_drop _s1801_ _s1802_) with
+ | _s1803_ =>
+ (reg_name_matches_prefix _s1803_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1800_ _) =>
- (match (string_drop _s1799_ _s1800_) with
- | _s1801_ =>
- (sep_matches_prefix _s1801_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1804_ _) =>
+ (match (string_drop _s1803_ _s1804_) with
+ | _s1805_ =>
+ (sep_matches_prefix _s1805_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1802_ _) =>
- match (string_drop _s1801_ _s1802_) with
- | _s1803_ =>
- match (hex_bits_6_matches_prefix _s1803_) with
- | Some (imm, existT _ _s1804_ _) =>
- let p0_ := string_drop _s1803_ _s1804_ in
+ | Some (tt, existT _ _s1806_ _) =>
+ match (string_drop _s1805_ _s1806_) with
+ | _s1807_ =>
+ match (hex_bits_6_matches_prefix _s1807_) with
+ | Some (imm, existT _ _s1808_ _) =>
+ let p0_ := string_drop _s1807_ _s1808_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -37986,19 +37965,19 @@ Definition _s1794_ (_s1795_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1786_ (_s1787_ : string) : M (option (mword 6)) :=
- let _s1788_ := _s1787_ in
- (if string_startswith _s1788_ "c.addi16sp" then
- (match (string_drop _s1788_ (projT1 (string_length "c.addi16sp"))) with
- | _s1789_ =>
- (spc_matches_prefix _s1789_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1790_ (_s1791_ : string) : M (option (mword 6)) :=
+ let _s1792_ := _s1791_ in
+ (if string_startswith _s1792_ "c.addi16sp" then
+ (match (string_drop _s1792_ (projT1 (string_length "c.addi16sp"))) with
+ | _s1793_ =>
+ (spc_matches_prefix _s1793_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s1790_ _) =>
- match (string_drop _s1789_ _s1790_) with
- | _s1791_ =>
- match (hex_bits_6_matches_prefix _s1791_) with
- | Some (imm, existT _ _s1792_ _) =>
- let p0_ := string_drop _s1791_ _s1792_ in
+ | Some (tt, existT _ _s1794_ _) =>
+ match (string_drop _s1793_ _s1794_) with
+ | _s1795_ =>
+ match (hex_bits_6_matches_prefix _s1795_) with
+ | Some (imm, existT _ _s1796_ _) =>
+ let p0_ := string_drop _s1795_ _s1796_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -38011,31 +37990,31 @@ Definition _s1786_ (_s1787_ : string) : M (option (mword 6)) :=
else returnm None)
: M (option (mword 6)).
-Definition _s1774_ (_s1775_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1776_ := _s1775_ in
- (if string_startswith _s1776_ "c.li" then
- (match (string_drop _s1776_ (projT1 (string_length "c.li"))) with
- | _s1777_ =>
- (spc_matches_prefix _s1777_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1778_ (_s1779_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1780_ := _s1779_ in
+ (if string_startswith _s1780_ "c.li" then
+ (match (string_drop _s1780_ (projT1 (string_length "c.li"))) with
+ | _s1781_ =>
+ (spc_matches_prefix _s1781_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1778_ _) =>
- (match (string_drop _s1777_ _s1778_) with
- | _s1779_ =>
- (reg_name_matches_prefix _s1779_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1782_ _) =>
+ (match (string_drop _s1781_ _s1782_) with
+ | _s1783_ =>
+ (reg_name_matches_prefix _s1783_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1780_ _) =>
- (match (string_drop _s1779_ _s1780_) with
- | _s1781_ =>
- (sep_matches_prefix _s1781_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1784_ _) =>
+ (match (string_drop _s1783_ _s1784_) with
+ | _s1785_ =>
+ (sep_matches_prefix _s1785_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1782_ _) =>
- match (string_drop _s1781_ _s1782_) with
- | _s1783_ =>
- match (hex_bits_6_matches_prefix _s1783_) with
- | Some (imm, existT _ _s1784_ _) =>
- let p0_ := string_drop _s1783_ _s1784_ in
+ | Some (tt, existT _ _s1786_ _) =>
+ match (string_drop _s1785_ _s1786_) with
+ | _s1787_ =>
+ match (hex_bits_6_matches_prefix _s1787_) with
+ | Some (imm, existT _ _s1788_ _) =>
+ let p0_ := string_drop _s1787_ _s1788_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -38058,31 +38037,31 @@ Definition _s1774_ (_s1775_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1762_ (_s1763_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1764_ := _s1763_ in
- (if string_startswith _s1764_ "c.addiw" then
- (match (string_drop _s1764_ (projT1 (string_length "c.addiw"))) with
- | _s1765_ =>
- (spc_matches_prefix _s1765_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1766_ (_s1767_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1768_ := _s1767_ in
+ (if string_startswith _s1768_ "c.addiw" then
+ (match (string_drop _s1768_ (projT1 (string_length "c.addiw"))) with
+ | _s1769_ =>
+ (spc_matches_prefix _s1769_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1766_ _) =>
- (match (string_drop _s1765_ _s1766_) with
- | _s1767_ =>
- (reg_name_matches_prefix _s1767_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1770_ _) =>
+ (match (string_drop _s1769_ _s1770_) with
+ | _s1771_ =>
+ (reg_name_matches_prefix _s1771_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1768_ _) =>
- (match (string_drop _s1767_ _s1768_) with
- | _s1769_ =>
- (sep_matches_prefix _s1769_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1772_ _) =>
+ (match (string_drop _s1771_ _s1772_) with
+ | _s1773_ =>
+ (sep_matches_prefix _s1773_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1770_ _) =>
- match (string_drop _s1769_ _s1770_) with
- | _s1771_ =>
- match (hex_bits_6_matches_prefix _s1771_) with
- | Some (imm, existT _ _s1772_ _) =>
- let p0_ := string_drop _s1771_ _s1772_ in
+ | Some (tt, existT _ _s1774_ _) =>
+ match (string_drop _s1773_ _s1774_) with
+ | _s1775_ =>
+ match (hex_bits_6_matches_prefix _s1775_) with
+ | Some (imm, existT _ _s1776_ _) =>
+ let p0_ := string_drop _s1775_ _s1776_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -38105,23 +38084,23 @@ Definition _s1762_ (_s1763_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1754_ (_s1755_ : string) : M (option (mword 11)) :=
- let _s1756_ := _s1755_ in
- (if string_startswith _s1756_ "c.jal" then
- (match (string_drop _s1756_ (projT1 (string_length "c.jal"))) with
- | _s1757_ =>
- (spc_matches_prefix _s1757_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1758_ (_s1759_ : string) : M (option (mword 11)) :=
+ let _s1760_ := _s1759_ in
+ (if string_startswith _s1760_ "c.jal" then
+ (match (string_drop _s1760_ (projT1 (string_length "c.jal"))) with
+ | _s1761_ =>
+ (spc_matches_prefix _s1761_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s1758_ _) =>
- match (string_drop _s1757_ _s1758_) with
- | _s1759_ =>
- match (hex_bits_12_matches_prefix _s1759_) with
- | Some (v__1346, existT _ _s1760_ _) =>
- if eq_vec (subrange_vec_dec v__1346 0 0) ('b"0" : mword (0 - 0 + 1))
+ | Some (tt, existT _ _s1762_ _) =>
+ match (string_drop _s1761_ _s1762_) with
+ | _s1763_ =>
+ match (hex_bits_12_matches_prefix _s1763_) with
+ | Some (v__1450, existT _ _s1764_ _) =>
+ if eq_vec (subrange_vec_dec v__1450 0 0) ('b"0" : mword (0 - 0 + 1))
then
- let imm : mword 11 := subrange_vec_dec v__1346 11 1 in
- let imm : mword 11 := subrange_vec_dec v__1346 11 1 in
- let p0_ := string_drop _s1759_ _s1760_ in
+ let imm : mword 11 := subrange_vec_dec v__1450 11 1 in
+ let imm : mword 11 := subrange_vec_dec v__1450 11 1 in
+ let p0_ := string_drop _s1763_ _s1764_ in
if generic_eq p0_ "" then Some imm
else None
else None
@@ -38135,31 +38114,31 @@ Definition _s1754_ (_s1755_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s1742_ (_s1743_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s1744_ := _s1743_ in
- (if string_startswith _s1744_ "c.addi" then
- (match (string_drop _s1744_ (projT1 (string_length "c.addi"))) with
- | _s1745_ =>
- (spc_matches_prefix _s1745_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1746_ (_s1747_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s1748_ := _s1747_ in
+ (if string_startswith _s1748_ "c.addi" then
+ (match (string_drop _s1748_ (projT1 (string_length "c.addi"))) with
+ | _s1749_ =>
+ (spc_matches_prefix _s1749_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1746_ _) =>
- (match (string_drop _s1745_ _s1746_) with
- | _s1747_ =>
- (reg_name_matches_prefix _s1747_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1750_ _) =>
+ (match (string_drop _s1749_ _s1750_) with
+ | _s1751_ =>
+ (reg_name_matches_prefix _s1751_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s1748_ _) =>
- (match (string_drop _s1747_ _s1748_) with
- | _s1749_ =>
- (sep_matches_prefix _s1749_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s1752_ _) =>
+ (match (string_drop _s1751_ _s1752_) with
+ | _s1753_ =>
+ (sep_matches_prefix _s1753_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1750_ _) =>
- match (string_drop _s1749_ _s1750_) with
- | _s1751_ =>
- match (hex_bits_6_matches_prefix _s1751_) with
- | Some (nzi, existT _ _s1752_ _) =>
- let p0_ := string_drop _s1751_ _s1752_ in
+ | Some (tt, existT _ _s1754_ _) =>
+ match (string_drop _s1753_ _s1754_) with
+ | _s1755_ =>
+ match (hex_bits_6_matches_prefix _s1755_) with
+ | Some (nzi, existT _ _s1756_ _) =>
+ let p0_ := string_drop _s1755_ _s1756_ in
if generic_eq p0_ "" then Some (rsd, nzi)
else None
| _ => None
@@ -38182,50 +38161,50 @@ Definition _s1742_ (_s1743_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s1726_ (_s1727_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1728_ := _s1727_ in
- (if string_startswith _s1728_ "c.sd" then
- (match (string_drop _s1728_ (projT1 (string_length "c.sd"))) with
- | _s1729_ =>
- (spc_matches_prefix _s1729_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1730_ (_s1731_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1732_ := _s1731_ in
+ (if string_startswith _s1732_ "c.sd" then
+ (match (string_drop _s1732_ (projT1 (string_length "c.sd"))) with
+ | _s1733_ =>
+ (spc_matches_prefix _s1733_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1730_ _) =>
- (match (string_drop _s1729_ _s1730_) with
- | _s1731_ =>
- (creg_name_matches_prefix _s1731_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1734_ _) =>
+ (match (string_drop _s1733_ _s1734_) with
+ | _s1735_ =>
+ (creg_name_matches_prefix _s1735_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s1732_ _) =>
- (match (string_drop _s1731_ _s1732_) with
- | _s1733_ =>
- (sep_matches_prefix _s1733_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s1736_ _) =>
+ (match (string_drop _s1735_ _s1736_) with
+ | _s1737_ =>
+ (sep_matches_prefix _s1737_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1734_ _) =>
- (match (string_drop _s1733_ _s1734_) with
- | _s1735_ =>
- (creg_name_matches_prefix _s1735_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1738_ _) =>
+ (match (string_drop _s1737_ _s1738_) with
+ | _s1739_ =>
+ (creg_name_matches_prefix _s1739_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s1736_ _) =>
- (match (string_drop _s1735_ _s1736_) with
- | _s1737_ =>
- (sep_matches_prefix _s1737_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s1740_ _) =>
+ (match (string_drop _s1739_ _s1740_) with
+ | _s1741_ =>
+ (sep_matches_prefix _s1741_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1738_ _) =>
- match (string_drop _s1737_ _s1738_) with
- | _s1739_ =>
- match (hex_bits_8_matches_prefix _s1739_) with
- | Some (v__1348, existT _ _s1740_ _) =>
- if eq_vec (subrange_vec_dec v__1348 2 0)
+ | Some (tt, existT _ _s1742_ _) =>
+ match (string_drop _s1741_ _s1742_) with
+ | _s1743_ =>
+ match (hex_bits_8_matches_prefix _s1743_) with
+ | Some (v__1452, existT _ _s1744_ _) =>
+ if eq_vec (subrange_vec_dec v__1452 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1348 7 3 in
+ subrange_vec_dec v__1452 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1348 7 3 in
- let p0_ := string_drop _s1739_ _s1740_ in
+ subrange_vec_dec v__1452 7 3 in
+ let p0_ := string_drop _s1743_ _s1744_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -38260,50 +38239,50 @@ Definition _s1726_ (_s1727_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1710_ (_s1711_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1712_ := _s1711_ in
- (if string_startswith _s1712_ "c.sw" then
- (match (string_drop _s1712_ (projT1 (string_length "c.sw"))) with
- | _s1713_ =>
- (spc_matches_prefix _s1713_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1714_ (_s1715_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1716_ := _s1715_ in
+ (if string_startswith _s1716_ "c.sw" then
+ (match (string_drop _s1716_ (projT1 (string_length "c.sw"))) with
+ | _s1717_ =>
+ (spc_matches_prefix _s1717_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1714_ _) =>
- (match (string_drop _s1713_ _s1714_) with
- | _s1715_ =>
- (creg_name_matches_prefix _s1715_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1718_ _) =>
+ (match (string_drop _s1717_ _s1718_) with
+ | _s1719_ =>
+ (creg_name_matches_prefix _s1719_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s1716_ _) =>
- (match (string_drop _s1715_ _s1716_) with
- | _s1717_ =>
- (sep_matches_prefix _s1717_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s1720_ _) =>
+ (match (string_drop _s1719_ _s1720_) with
+ | _s1721_ =>
+ (sep_matches_prefix _s1721_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1718_ _) =>
- (match (string_drop _s1717_ _s1718_) with
- | _s1719_ =>
- (creg_name_matches_prefix _s1719_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1722_ _) =>
+ (match (string_drop _s1721_ _s1722_) with
+ | _s1723_ =>
+ (creg_name_matches_prefix _s1723_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s1720_ _) =>
- (match (string_drop _s1719_ _s1720_) with
- | _s1721_ =>
- (sep_matches_prefix _s1721_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s1724_ _) =>
+ (match (string_drop _s1723_ _s1724_) with
+ | _s1725_ =>
+ (sep_matches_prefix _s1725_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1722_ _) =>
- match (string_drop _s1721_ _s1722_) with
- | _s1723_ =>
- match (hex_bits_7_matches_prefix _s1723_) with
- | Some (v__1350, existT _ _s1724_ _) =>
- if eq_vec (subrange_vec_dec v__1350 1 0)
+ | Some (tt, existT _ _s1726_ _) =>
+ match (string_drop _s1725_ _s1726_) with
+ | _s1727_ =>
+ match (hex_bits_7_matches_prefix _s1727_) with
+ | Some (v__1454, existT _ _s1728_ _) =>
+ if eq_vec (subrange_vec_dec v__1454 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1350 6 2 in
+ subrange_vec_dec v__1454 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1350 6 2 in
- let p0_ := string_drop _s1723_ _s1724_ in
+ subrange_vec_dec v__1454 6 2 in
+ let p0_ := string_drop _s1727_ _s1728_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -38338,50 +38317,50 @@ Definition _s1710_ (_s1711_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1694_ (_s1695_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1696_ := _s1695_ in
- (if string_startswith _s1696_ "c.ld" then
- (match (string_drop _s1696_ (projT1 (string_length "c.ld"))) with
- | _s1697_ =>
- (spc_matches_prefix _s1697_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1698_ (_s1699_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1700_ := _s1699_ in
+ (if string_startswith _s1700_ "c.ld" then
+ (match (string_drop _s1700_ (projT1 (string_length "c.ld"))) with
+ | _s1701_ =>
+ (spc_matches_prefix _s1701_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1698_ _) =>
- (match (string_drop _s1697_ _s1698_) with
- | _s1699_ =>
- (creg_name_matches_prefix _s1699_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1702_ _) =>
+ (match (string_drop _s1701_ _s1702_) with
+ | _s1703_ =>
+ (creg_name_matches_prefix _s1703_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s1700_ _) =>
- (match (string_drop _s1699_ _s1700_) with
- | _s1701_ =>
- (sep_matches_prefix _s1701_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s1704_ _) =>
+ (match (string_drop _s1703_ _s1704_) with
+ | _s1705_ =>
+ (sep_matches_prefix _s1705_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1702_ _) =>
- (match (string_drop _s1701_ _s1702_) with
- | _s1703_ =>
- (creg_name_matches_prefix _s1703_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1706_ _) =>
+ (match (string_drop _s1705_ _s1706_) with
+ | _s1707_ =>
+ (creg_name_matches_prefix _s1707_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s1704_ _) =>
- (match (string_drop _s1703_ _s1704_) with
- | _s1705_ =>
- (sep_matches_prefix _s1705_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s1708_ _) =>
+ (match (string_drop _s1707_ _s1708_) with
+ | _s1709_ =>
+ (sep_matches_prefix _s1709_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1706_ _) =>
- match (string_drop _s1705_ _s1706_) with
- | _s1707_ =>
- match (hex_bits_8_matches_prefix _s1707_) with
- | Some (v__1352, existT _ _s1708_ _) =>
- if eq_vec (subrange_vec_dec v__1352 2 0)
+ | Some (tt, existT _ _s1710_ _) =>
+ match (string_drop _s1709_ _s1710_) with
+ | _s1711_ =>
+ match (hex_bits_8_matches_prefix _s1711_) with
+ | Some (v__1456, existT _ _s1712_ _) =>
+ if eq_vec (subrange_vec_dec v__1456 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1352 7 3 in
+ subrange_vec_dec v__1456 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1352 7 3 in
- let p0_ := string_drop _s1707_ _s1708_ in
+ subrange_vec_dec v__1456 7 3 in
+ let p0_ := string_drop _s1711_ _s1712_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -38416,50 +38395,50 @@ Definition _s1694_ (_s1695_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1678_ (_s1679_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s1680_ := _s1679_ in
- (if string_startswith _s1680_ "c.lw" then
- (match (string_drop _s1680_ (projT1 (string_length "c.lw"))) with
- | _s1681_ =>
- (spc_matches_prefix _s1681_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1682_ (_s1683_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s1684_ := _s1683_ in
+ (if string_startswith _s1684_ "c.lw" then
+ (match (string_drop _s1684_ (projT1 (string_length "c.lw"))) with
+ | _s1685_ =>
+ (spc_matches_prefix _s1685_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1682_ _) =>
- (match (string_drop _s1681_ _s1682_) with
- | _s1683_ =>
- (creg_name_matches_prefix _s1683_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1686_ _) =>
+ (match (string_drop _s1685_ _s1686_) with
+ | _s1687_ =>
+ (creg_name_matches_prefix _s1687_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s1684_ _) =>
- (match (string_drop _s1683_ _s1684_) with
- | _s1685_ =>
- (sep_matches_prefix _s1685_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s1688_ _) =>
+ (match (string_drop _s1687_ _s1688_) with
+ | _s1689_ =>
+ (sep_matches_prefix _s1689_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1686_ _) =>
- (match (string_drop _s1685_ _s1686_) with
- | _s1687_ =>
- (creg_name_matches_prefix _s1687_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1690_ _) =>
+ (match (string_drop _s1689_ _s1690_) with
+ | _s1691_ =>
+ (creg_name_matches_prefix _s1691_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s1688_ _) =>
- (match (string_drop _s1687_ _s1688_) with
- | _s1689_ =>
- (sep_matches_prefix _s1689_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s1692_ _) =>
+ (match (string_drop _s1691_ _s1692_) with
+ | _s1693_ =>
+ (sep_matches_prefix _s1693_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1690_ _) =>
- match (string_drop _s1689_ _s1690_) with
- | _s1691_ =>
- match (hex_bits_7_matches_prefix _s1691_) with
- | Some (v__1354, existT _ _s1692_ _) =>
- if eq_vec (subrange_vec_dec v__1354 1 0)
+ | Some (tt, existT _ _s1694_ _) =>
+ match (string_drop _s1693_ _s1694_) with
+ | _s1695_ =>
+ match (hex_bits_7_matches_prefix _s1695_) with
+ | Some (v__1458, existT _ _s1696_ _) =>
+ if eq_vec (subrange_vec_dec v__1458 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1354 6 2 in
+ subrange_vec_dec v__1458 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1354 6 2 in
- let p0_ := string_drop _s1691_ _s1692_ in
+ subrange_vec_dec v__1458 6 2 in
+ let p0_ := string_drop _s1695_ _s1696_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -38494,36 +38473,36 @@ Definition _s1678_ (_s1679_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s1666_ (_s1667_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s1668_ := _s1667_ in
- (if string_startswith _s1668_ "c.addi4spn" then
- (match (string_drop _s1668_ (projT1 (string_length "c.addi4spn"))) with
- | _s1669_ =>
- (spc_matches_prefix _s1669_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1670_ (_s1671_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s1672_ := _s1671_ in
+ (if string_startswith _s1672_ "c.addi4spn" then
+ (match (string_drop _s1672_ (projT1 (string_length "c.addi4spn"))) with
+ | _s1673_ =>
+ (spc_matches_prefix _s1673_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1670_ _) =>
- (match (string_drop _s1669_ _s1670_) with
- | _s1671_ =>
- (creg_name_matches_prefix _s1671_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1674_ _) =>
+ (match (string_drop _s1673_ _s1674_) with
+ | _s1675_ =>
+ (creg_name_matches_prefix _s1675_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s1672_ _) =>
- (match (string_drop _s1671_ _s1672_) with
- | _s1673_ =>
- (sep_matches_prefix _s1673_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s1676_ _) =>
+ (match (string_drop _s1675_ _s1676_) with
+ | _s1677_ =>
+ (sep_matches_prefix _s1677_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1674_ _) =>
- match (string_drop _s1673_ _s1674_) with
- | _s1675_ =>
- match (hex_bits_10_matches_prefix _s1675_) with
- | Some (v__1356, existT _ _s1676_ _) =>
- if eq_vec (subrange_vec_dec v__1356 1 0)
+ | Some (tt, existT _ _s1678_ _) =>
+ match (string_drop _s1677_ _s1678_) with
+ | _s1679_ =>
+ match (hex_bits_10_matches_prefix _s1679_) with
+ | Some (v__1460, existT _ _s1680_ _) =>
+ if eq_vec (subrange_vec_dec v__1460 1 0)
('b"00"
: mword (1 - 0 + 1)) then
- let nzimm : mword 8 := subrange_vec_dec v__1356 9 2 in
- let nzimm : mword 8 := subrange_vec_dec v__1356 9 2 in
- let p0_ := string_drop _s1675_ _s1676_ in
+ let nzimm : mword 8 := subrange_vec_dec v__1460 9 2 in
+ let nzimm : mword 8 := subrange_vec_dec v__1460 9 2 in
+ let p0_ := string_drop _s1679_ _s1680_ in
if generic_eq p0_ "" then Some (rdc, nzimm)
else None
else None
@@ -38547,95 +38526,95 @@ Definition _s1666_ (_s1667_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s1640_ (_s1641_ : string)
+Definition _s1644_ (_s1645_ : string)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s1641_ with
- | _s1642_ =>
- (amo_mnemonic_matches_prefix _s1642_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
+ (match _s1645_ with
+ | _s1646_ =>
+ (amo_mnemonic_matches_prefix _s1646_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1643_ _) =>
- let _s1644_ := string_drop _s1642_ _s1643_ in
- (if string_startswith _s1644_ "." then
- (match (string_drop _s1644_ (projT1 (string_length "."))) with
- | _s1645_ =>
- (size_mnemonic_matches_prefix _s1645_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1647_ _) =>
+ let _s1648_ := string_drop _s1646_ _s1647_ in
+ (if string_startswith _s1648_ "." then
+ (match (string_drop _s1648_ (projT1 (string_length "."))) with
+ | _s1649_ =>
+ (size_mnemonic_matches_prefix _s1649_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (width, existT _ _s1646_ _) =>
- (match (string_drop _s1645_ _s1646_) with
- | _s1647_ =>
- (maybe_aq_matches_prefix _s1647_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s1650_ _) =>
+ (match (string_drop _s1649_ _s1650_) with
+ | _s1651_ =>
+ (maybe_aq_matches_prefix _s1651_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s1648_ _) =>
- (match (string_drop _s1647_ _s1648_) with
- | _s1649_ =>
- (maybe_rl_matches_prefix _s1649_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1652_ _) =>
+ (match (string_drop _s1651_ _s1652_) with
+ | _s1653_ =>
+ (maybe_rl_matches_prefix _s1653_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s1650_ _) =>
- (match (string_drop _s1649_ _s1650_) with
- | _s1651_ =>
- (spc_matches_prefix _s1651_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1654_ _) =>
+ (match (string_drop _s1653_ _s1654_) with
+ | _s1655_ =>
+ (spc_matches_prefix _s1655_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s1652_ _) =>
- (match (string_drop _s1651_ _s1652_) with
- | _s1653_ =>
- (reg_name_matches_prefix _s1653_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1656_ _) =>
+ (match (string_drop _s1655_ _s1656_) with
+ | _s1657_ =>
+ (reg_name_matches_prefix _s1657_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s1654_ _) =>
- (match (string_drop _s1653_ _s1654_) with
- | _s1655_ =>
- (sep_matches_prefix _s1655_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1658_ _) =>
+ (match (string_drop _s1657_ _s1658_) with
+ | _s1659_ =>
+ (sep_matches_prefix _s1659_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s1656_ _) =>
- (match (string_drop _s1655_ _s1656_) with
- | _s1657_ =>
- (reg_name_matches_prefix _s1657_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1660_ _) =>
+ (match (string_drop _s1659_ _s1660_) with
+ | _s1661_ =>
+ (reg_name_matches_prefix _s1661_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (rs2, existT _ _s1658_ _) =>
- (match (string_drop _s1657_
- _s1658_) with
- | _s1659_ =>
+ | Some (rs2, existT _ _s1662_ _) =>
+ (match (string_drop _s1661_
+ _s1662_) with
+ | _s1663_ =>
(sep_matches_prefix
- _s1659_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1663_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s1660_ _) =>
- let _s1661_ :=
- string_drop _s1659_
- _s1660_ in
+ (tt, existT _ _s1664_ _) =>
+ let _s1665_ :=
+ string_drop _s1663_
+ _s1664_ in
(if string_startswith
- _s1661_ "(" then
+ _s1665_ "(" then
(match (string_drop
- _s1661_
+ _s1665_
(projT1
(string_length
"("))) with
- | _s1662_ =>
+ | _s1666_ =>
(reg_name_matches_prefix
- _s1662_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1666_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (rs1, existT _ _s1663_ _) =>
- let _s1664_ :=
+ (rs1, existT _ _s1667_ _) =>
+ let _s1668_ :=
string_drop
- _s1662_
- _s1663_ in
+ _s1666_
+ _s1667_ in
if string_startswith
- _s1664_
+ _s1668_
")"
then
let p0_ :=
string_drop
- _s1664_
+ _s1668_
(projT1
(string_length
")")) in
@@ -38705,71 +38684,71 @@ Definition _s1640_ (_s1641_ : string)
end)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s1618_ (_s1619_ : string)
+Definition _s1622_ (_s1623_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- let _s1620_ := _s1619_ in
- (if string_startswith _s1620_ "sc." then
- (match (string_drop _s1620_ (projT1 (string_length "sc."))) with
- | _s1621_ =>
- (size_mnemonic_matches_prefix _s1621_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s1624_ := _s1623_ in
+ (if string_startswith _s1624_ "sc." then
+ (match (string_drop _s1624_ (projT1 (string_length "sc."))) with
+ | _s1625_ =>
+ (size_mnemonic_matches_prefix _s1625_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1622_ _) =>
- (match (string_drop _s1621_ _s1622_) with
- | _s1623_ =>
- (maybe_aq_matches_prefix _s1623_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1626_ _) =>
+ (match (string_drop _s1625_ _s1626_) with
+ | _s1627_ =>
+ (maybe_aq_matches_prefix _s1627_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s1624_ _) =>
- (match (string_drop _s1623_ _s1624_) with
- | _s1625_ =>
- (maybe_rl_matches_prefix _s1625_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1628_ _) =>
+ (match (string_drop _s1627_ _s1628_) with
+ | _s1629_ =>
+ (maybe_rl_matches_prefix _s1629_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s1626_ _) =>
- (match (string_drop _s1625_ _s1626_) with
- | _s1627_ =>
- (spc_matches_prefix _s1627_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1630_ _) =>
+ (match (string_drop _s1629_ _s1630_) with
+ | _s1631_ =>
+ (spc_matches_prefix _s1631_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1628_ _) =>
- (match (string_drop _s1627_ _s1628_) with
- | _s1629_ =>
- (reg_name_matches_prefix _s1629_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1632_ _) =>
+ (match (string_drop _s1631_ _s1632_) with
+ | _s1633_ =>
+ (reg_name_matches_prefix _s1633_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s1630_ _) =>
- (match (string_drop _s1629_ _s1630_) with
- | _s1631_ =>
- (sep_matches_prefix _s1631_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1634_ _) =>
+ (match (string_drop _s1633_ _s1634_) with
+ | _s1635_ =>
+ (sep_matches_prefix _s1635_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1632_ _) =>
- (match (string_drop _s1631_ _s1632_) with
- | _s1633_ =>
- (reg_name_matches_prefix _s1633_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1636_ _) =>
+ (match (string_drop _s1635_ _s1636_) with
+ | _s1637_ =>
+ (reg_name_matches_prefix _s1637_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs1, existT _ _s1634_ _) =>
- (match (string_drop _s1633_ _s1634_) with
- | _s1635_ =>
- (sep_matches_prefix _s1635_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1638_ _) =>
+ (match (string_drop _s1637_ _s1638_) with
+ | _s1639_ =>
+ (sep_matches_prefix _s1639_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s1636_ _) =>
- (match (string_drop _s1635_
- _s1636_) with
- | _s1637_ =>
+ | Some (tt, existT _ _s1640_ _) =>
+ (match (string_drop _s1639_
+ _s1640_) with
+ | _s1641_ =>
(reg_name_matches_prefix
- _s1637_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1641_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rs2, existT _ _s1638_ _) =>
+ (rs2, existT _ _s1642_ _) =>
let p0_ :=
string_drop
- _s1637_
- _s1638_ in
+ _s1641_
+ _s1642_ in
if generic_eq
p0_ ""
then
@@ -38823,53 +38802,53 @@ Definition _s1618_ (_s1619_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s1600_ (_s1601_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
- let _s1602_ := _s1601_ in
- (if string_startswith _s1602_ "lr." then
- (match (string_drop _s1602_ (projT1 (string_length "lr."))) with
- | _s1603_ =>
- (size_mnemonic_matches_prefix _s1603_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s1604_ (_s1605_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
+ let _s1606_ := _s1605_ in
+ (if string_startswith _s1606_ "lr." then
+ (match (string_drop _s1606_ (projT1 (string_length "lr."))) with
+ | _s1607_ =>
+ (size_mnemonic_matches_prefix _s1607_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1604_ _) =>
- (match (string_drop _s1603_ _s1604_) with
- | _s1605_ =>
- (maybe_aq_matches_prefix _s1605_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1608_ _) =>
+ (match (string_drop _s1607_ _s1608_) with
+ | _s1609_ =>
+ (maybe_aq_matches_prefix _s1609_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s1606_ _) =>
- (match (string_drop _s1605_ _s1606_) with
- | _s1607_ =>
- (maybe_rl_matches_prefix _s1607_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1610_ _) =>
+ (match (string_drop _s1609_ _s1610_) with
+ | _s1611_ =>
+ (maybe_rl_matches_prefix _s1611_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s1608_ _) =>
- (match (string_drop _s1607_ _s1608_) with
- | _s1609_ =>
- (spc_matches_prefix _s1609_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1612_ _) =>
+ (match (string_drop _s1611_ _s1612_) with
+ | _s1613_ =>
+ (spc_matches_prefix _s1613_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1610_ _) =>
- (match (string_drop _s1609_ _s1610_) with
- | _s1611_ =>
- (reg_name_matches_prefix _s1611_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1614_ _) =>
+ (match (string_drop _s1613_ _s1614_) with
+ | _s1615_ =>
+ (reg_name_matches_prefix _s1615_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s1612_ _) =>
- (match (string_drop _s1611_ _s1612_) with
- | _s1613_ =>
- (sep_matches_prefix _s1613_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1616_ _) =>
+ (match (string_drop _s1615_ _s1616_) with
+ | _s1617_ =>
+ (sep_matches_prefix _s1617_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1614_ _) =>
- (match (string_drop _s1613_ _s1614_) with
- | _s1615_ =>
- (reg_name_matches_prefix _s1615_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1618_ _) =>
+ (match (string_drop _s1617_ _s1618_) with
+ | _s1619_ =>
+ (reg_name_matches_prefix _s1619_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s1616_ _) =>
+ | Some (rs1, existT _ _s1620_ _) =>
let p0_ :=
- string_drop _s1615_ _s1616_ in
+ string_drop _s1619_ _s1620_ in
if generic_eq p0_ "" then
Some (size, aq, rl, rd, rs1)
else None
@@ -38910,33 +38889,33 @@ Definition _s1600_ (_s1601_ : string) : M (option ((word_width * bool * bool * m
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5))).
-Definition _s1588_ (_s1589_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s1590_ := _s1589_ in
- (if string_startswith _s1590_ "sfence.vma" then
- (match (string_drop _s1590_ (projT1 (string_length "sfence.vma"))) with
- | _s1591_ =>
- (spc_matches_prefix _s1591_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1592_ (_s1593_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s1594_ := _s1593_ in
+ (if string_startswith _s1594_ "sfence.vma" then
+ (match (string_drop _s1594_ (projT1 (string_length "sfence.vma"))) with
+ | _s1595_ =>
+ (spc_matches_prefix _s1595_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1592_ _) =>
- (match (string_drop _s1591_ _s1592_) with
- | _s1593_ =>
- (reg_name_matches_prefix _s1593_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1596_ _) =>
+ (match (string_drop _s1595_ _s1596_) with
+ | _s1597_ =>
+ (reg_name_matches_prefix _s1597_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs1, existT _ _s1594_ _) =>
- (match (string_drop _s1593_ _s1594_) with
- | _s1595_ =>
- (sep_matches_prefix _s1595_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1598_ _) =>
+ (match (string_drop _s1597_ _s1598_) with
+ | _s1599_ =>
+ (sep_matches_prefix _s1599_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1596_ _) =>
- (match (string_drop _s1595_ _s1596_) with
- | _s1597_ =>
- (reg_name_matches_prefix _s1597_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1600_ _) =>
+ (match (string_drop _s1599_ _s1600_) with
+ | _s1601_ =>
+ (reg_name_matches_prefix _s1601_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s1598_ _) =>
- let p0_ := string_drop _s1597_ _s1598_ in
+ | Some (rs2, existT _ _s1602_ _) =>
+ let p0_ := string_drop _s1601_ _s1602_ in
if generic_eq p0_ "" then Some (rs1, rs2)
else None
| _ => None
@@ -38961,33 +38940,33 @@ Definition _s1588_ (_s1589_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s1576_ (_s1577_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s1578_ := _s1577_ in
- (if string_startswith _s1578_ "fence.tso" then
- (match (string_drop _s1578_ (projT1 (string_length "fence.tso"))) with
- | _s1579_ =>
- (spc_matches_prefix _s1579_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1580_ (_s1581_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s1582_ := _s1581_ in
+ (if string_startswith _s1582_ "fence.tso" then
+ (match (string_drop _s1582_ (projT1 (string_length "fence.tso"))) with
+ | _s1583_ =>
+ (spc_matches_prefix _s1583_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1580_ _) =>
- (match (string_drop _s1579_ _s1580_) with
- | _s1581_ =>
- (fence_bits_matches_prefix _s1581_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1584_ _) =>
+ (match (string_drop _s1583_ _s1584_) with
+ | _s1585_ =>
+ (fence_bits_matches_prefix _s1585_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s1582_ _) =>
- (match (string_drop _s1581_ _s1582_) with
- | _s1583_ =>
- (sep_matches_prefix _s1583_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s1586_ _) =>
+ (match (string_drop _s1585_ _s1586_) with
+ | _s1587_ =>
+ (sep_matches_prefix _s1587_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1584_ _) =>
- (match (string_drop _s1583_ _s1584_) with
- | _s1585_ =>
- (fence_bits_matches_prefix _s1585_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1588_ _) =>
+ (match (string_drop _s1587_ _s1588_) with
+ | _s1589_ =>
+ (fence_bits_matches_prefix _s1589_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s1586_ _) =>
- let p0_ := string_drop _s1585_ _s1586_ in
+ | Some (succ, existT _ _s1590_ _) =>
+ let p0_ := string_drop _s1589_ _s1590_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -39012,33 +38991,33 @@ Definition _s1576_ (_s1577_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s1564_ (_s1565_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s1566_ := _s1565_ in
- (if string_startswith _s1566_ "fence" then
- (match (string_drop _s1566_ (projT1 (string_length "fence"))) with
- | _s1567_ =>
- (spc_matches_prefix _s1567_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1568_ (_s1569_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s1570_ := _s1569_ in
+ (if string_startswith _s1570_ "fence" then
+ (match (string_drop _s1570_ (projT1 (string_length "fence"))) with
+ | _s1571_ =>
+ (spc_matches_prefix _s1571_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1568_ _) =>
- (match (string_drop _s1567_ _s1568_) with
- | _s1569_ =>
- (fence_bits_matches_prefix _s1569_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1572_ _) =>
+ (match (string_drop _s1571_ _s1572_) with
+ | _s1573_ =>
+ (fence_bits_matches_prefix _s1573_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s1570_ _) =>
- (match (string_drop _s1569_ _s1570_) with
- | _s1571_ =>
- (sep_matches_prefix _s1571_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s1574_ _) =>
+ (match (string_drop _s1573_ _s1574_) with
+ | _s1575_ =>
+ (sep_matches_prefix _s1575_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1572_ _) =>
- (match (string_drop _s1571_ _s1572_) with
- | _s1573_ =>
- (fence_bits_matches_prefix _s1573_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1576_ _) =>
+ (match (string_drop _s1575_ _s1576_) with
+ | _s1577_ =>
+ (fence_bits_matches_prefix _s1577_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s1574_ _) =>
- let p0_ := string_drop _s1573_ _s1574_ in
+ | Some (succ, existT _ _s1578_ _) =>
+ let p0_ := string_drop _s1577_ _s1578_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -39063,50 +39042,50 @@ Definition _s1564_ (_s1565_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s1547_ (_s1548_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
- (match _s1548_ with
- | _s1549_ =>
- (shiftiwop_mnemonic_matches_prefix _s1549_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
+Definition _s1551_ (_s1552_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
+ (match _s1552_ with
+ | _s1553_ =>
+ (shiftiwop_mnemonic_matches_prefix _s1553_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1550_ _) =>
- (match (string_drop _s1549_ _s1550_) with
- | _s1551_ =>
- (spc_matches_prefix _s1551_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1554_ _) =>
+ (match (string_drop _s1553_ _s1554_) with
+ | _s1555_ =>
+ (spc_matches_prefix _s1555_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1552_ _) =>
- (match (string_drop _s1551_ _s1552_) with
- | _s1553_ =>
- (reg_name_matches_prefix _s1553_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1556_ _) =>
+ (match (string_drop _s1555_ _s1556_) with
+ | _s1557_ =>
+ (reg_name_matches_prefix _s1557_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1554_ _) =>
- (match (string_drop _s1553_ _s1554_) with
- | _s1555_ =>
- (sep_matches_prefix _s1555_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1558_ _) =>
+ (match (string_drop _s1557_ _s1558_) with
+ | _s1559_ =>
+ (sep_matches_prefix _s1559_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1556_ _) =>
- (match (string_drop _s1555_ _s1556_) with
- | _s1557_ =>
- (reg_name_matches_prefix _s1557_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1560_ _) =>
+ (match (string_drop _s1559_ _s1560_) with
+ | _s1561_ =>
+ (reg_name_matches_prefix _s1561_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1558_ _) =>
- (match (string_drop _s1557_ _s1558_) with
- | _s1559_ =>
- (sep_matches_prefix _s1559_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1562_ _) =>
+ (match (string_drop _s1561_ _s1562_) with
+ | _s1563_ =>
+ (sep_matches_prefix _s1563_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1560_ _) =>
- match (string_drop _s1559_ _s1560_) with
- | _s1561_ =>
+ | Some (tt, existT _ _s1564_ _) =>
+ match (string_drop _s1563_ _s1564_) with
+ | _s1565_ =>
match (hex_bits_5_matches_prefix
- _s1561_) with
- | Some (shamt, existT _ _s1562_ _) =>
+ _s1565_) with
+ | Some (shamt, existT _ _s1566_ _) =>
let p0_ :=
- string_drop _s1561_ _s1562_ in
+ string_drop _s1565_ _s1566_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -39143,51 +39122,51 @@ Definition _s1547_ (_s1548_ : string) : M (option ((sopw * mword 5 * mword 5 * m
end)
: M (option ((sopw * mword 5 * mword 5 * mword 5))).
-Definition _s1530_ (_s1531_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
- (match _s1531_ with
- | _s1532_ =>
- (rtypew_mnemonic_matches_prefix _s1532_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
+Definition _s1534_ (_s1535_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
+ (match _s1535_ with
+ | _s1536_ =>
+ (rtypew_mnemonic_matches_prefix _s1536_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1533_ _) =>
- (match (string_drop _s1532_ _s1533_) with
- | _s1534_ =>
- (spc_matches_prefix _s1534_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1537_ _) =>
+ (match (string_drop _s1536_ _s1537_) with
+ | _s1538_ =>
+ (spc_matches_prefix _s1538_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1535_ _) =>
- (match (string_drop _s1534_ _s1535_) with
- | _s1536_ =>
- (reg_name_matches_prefix _s1536_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1539_ _) =>
+ (match (string_drop _s1538_ _s1539_) with
+ | _s1540_ =>
+ (reg_name_matches_prefix _s1540_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1537_ _) =>
- (match (string_drop _s1536_ _s1537_) with
- | _s1538_ =>
- (sep_matches_prefix _s1538_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1541_ _) =>
+ (match (string_drop _s1540_ _s1541_) with
+ | _s1542_ =>
+ (sep_matches_prefix _s1542_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1539_ _) =>
- (match (string_drop _s1538_ _s1539_) with
- | _s1540_ =>
- (reg_name_matches_prefix _s1540_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1543_ _) =>
+ (match (string_drop _s1542_ _s1543_) with
+ | _s1544_ =>
+ (reg_name_matches_prefix _s1544_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1541_ _) =>
- (match (string_drop _s1540_ _s1541_) with
- | _s1542_ =>
- (sep_matches_prefix _s1542_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1545_ _) =>
+ (match (string_drop _s1544_ _s1545_) with
+ | _s1546_ =>
+ (sep_matches_prefix _s1546_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1543_ _) =>
- (match (string_drop _s1542_ _s1543_) with
- | _s1544_ =>
- (reg_name_matches_prefix _s1544_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1547_ _) =>
+ (match (string_drop _s1546_ _s1547_) with
+ | _s1548_ =>
+ (reg_name_matches_prefix _s1548_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s1545_ _) =>
+ | Some (rs2, existT _ _s1549_ _) =>
let p0_ :=
- string_drop _s1544_ _s1545_ in
+ string_drop _s1548_ _s1549_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -39226,50 +39205,50 @@ Definition _s1530_ (_s1531_ : string) : M (option ((ropw * mword 5 * mword 5 * m
end)
: M (option ((ropw * mword 5 * mword 5 * mword 5))).
-Definition _s1513_ (_s1514_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
- (match _s1514_ with
- | _s1515_ =>
- (shiftw_mnemonic_matches_prefix _s1515_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s1517_ (_s1518_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
+ (match _s1518_ with
+ | _s1519_ =>
+ (shiftw_mnemonic_matches_prefix _s1519_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1516_ _) =>
- (match (string_drop _s1515_ _s1516_) with
- | _s1517_ =>
- (spc_matches_prefix _s1517_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1520_ _) =>
+ (match (string_drop _s1519_ _s1520_) with
+ | _s1521_ =>
+ (spc_matches_prefix _s1521_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1518_ _) =>
- (match (string_drop _s1517_ _s1518_) with
- | _s1519_ =>
- (reg_name_matches_prefix _s1519_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1522_ _) =>
+ (match (string_drop _s1521_ _s1522_) with
+ | _s1523_ =>
+ (reg_name_matches_prefix _s1523_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1520_ _) =>
- (match (string_drop _s1519_ _s1520_) with
- | _s1521_ =>
- (sep_matches_prefix _s1521_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1524_ _) =>
+ (match (string_drop _s1523_ _s1524_) with
+ | _s1525_ =>
+ (sep_matches_prefix _s1525_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1522_ _) =>
- (match (string_drop _s1521_ _s1522_) with
- | _s1523_ =>
- (reg_name_matches_prefix _s1523_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1526_ _) =>
+ (match (string_drop _s1525_ _s1526_) with
+ | _s1527_ =>
+ (reg_name_matches_prefix _s1527_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1524_ _) =>
- (match (string_drop _s1523_ _s1524_) with
- | _s1525_ =>
- (sep_matches_prefix _s1525_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1528_ _) =>
+ (match (string_drop _s1527_ _s1528_) with
+ | _s1529_ =>
+ (sep_matches_prefix _s1529_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1526_ _) =>
- match (string_drop _s1525_ _s1526_) with
- | _s1527_ =>
+ | Some (tt, existT _ _s1530_ _) =>
+ match (string_drop _s1529_ _s1530_) with
+ | _s1531_ =>
match (hex_bits_5_matches_prefix
- _s1527_) with
- | Some (shamt, existT _ _s1528_ _) =>
+ _s1531_) with
+ | Some (shamt, existT _ _s1532_ _) =>
let p0_ :=
- string_drop _s1527_ _s1528_ in
+ string_drop _s1531_ _s1532_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -39306,43 +39285,43 @@ Definition _s1513_ (_s1514_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 5))).
-Definition _s1497_ (_s1498_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s1499_ := _s1498_ in
- (if string_startswith _s1499_ "addiw" then
- (match (string_drop _s1499_ (projT1 (string_length "addiw"))) with
- | _s1500_ =>
- (spc_matches_prefix _s1500_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1501_ (_s1502_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s1503_ := _s1502_ in
+ (if string_startswith _s1503_ "addiw" then
+ (match (string_drop _s1503_ (projT1 (string_length "addiw"))) with
+ | _s1504_ =>
+ (spc_matches_prefix _s1504_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1501_ _) =>
- (match (string_drop _s1500_ _s1501_) with
- | _s1502_ =>
- (reg_name_matches_prefix _s1502_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1505_ _) =>
+ (match (string_drop _s1504_ _s1505_) with
+ | _s1506_ =>
+ (reg_name_matches_prefix _s1506_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1503_ _) =>
- (match (string_drop _s1502_ _s1503_) with
- | _s1504_ =>
- (sep_matches_prefix _s1504_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1507_ _) =>
+ (match (string_drop _s1506_ _s1507_) with
+ | _s1508_ =>
+ (sep_matches_prefix _s1508_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1505_ _) =>
- (match (string_drop _s1504_ _s1505_) with
- | _s1506_ =>
- (reg_name_matches_prefix _s1506_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1509_ _) =>
+ (match (string_drop _s1508_ _s1509_) with
+ | _s1510_ =>
+ (reg_name_matches_prefix _s1510_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s1507_ _) =>
- (match (string_drop _s1506_ _s1507_) with
- | _s1508_ =>
- (sep_matches_prefix _s1508_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1511_ _) =>
+ (match (string_drop _s1510_ _s1511_) with
+ | _s1512_ =>
+ (sep_matches_prefix _s1512_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1509_ _) =>
- match (string_drop _s1508_ _s1509_) with
- | _s1510_ =>
- match (hex_bits_12_matches_prefix _s1510_) with
- | Some (imm, existT _ _s1511_ _) =>
- let p0_ := string_drop _s1510_ _s1511_ in
+ | Some (tt, existT _ _s1513_ _) =>
+ match (string_drop _s1512_ _s1513_) with
+ | _s1514_ =>
+ match (hex_bits_12_matches_prefix _s1514_) with
+ | Some (imm, existT _ _s1515_ _) =>
+ let p0_ := string_drop _s1514_ _s1515_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -39376,103 +39355,103 @@ Definition _s1497_ (_s1498_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s1469_ (_s1470_ : string)
+Definition _s1473_ (_s1474_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s1471_ := _s1470_ in
- (if string_startswith _s1471_ "s" then
- (match (string_drop _s1471_ (projT1 (string_length "s"))) with
- | _s1472_ =>
- (size_mnemonic_matches_prefix _s1472_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s1475_ := _s1474_ in
+ (if string_startswith _s1475_ "s" then
+ (match (string_drop _s1475_ (projT1 (string_length "s"))) with
+ | _s1476_ =>
+ (size_mnemonic_matches_prefix _s1476_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1473_ _) =>
- (match (string_drop _s1472_ _s1473_) with
- | _s1474_ =>
- (maybe_aq_matches_prefix _s1474_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1477_ _) =>
+ (match (string_drop _s1476_ _s1477_) with
+ | _s1478_ =>
+ (maybe_aq_matches_prefix _s1478_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s1475_ _) =>
- (match (string_drop _s1474_ _s1475_) with
- | _s1476_ =>
- (maybe_rl_matches_prefix _s1476_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1479_ _) =>
+ (match (string_drop _s1478_ _s1479_) with
+ | _s1480_ =>
+ (maybe_rl_matches_prefix _s1480_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s1477_ _) =>
- (match (string_drop _s1476_ _s1477_) with
- | _s1478_ =>
- (spc_matches_prefix _s1478_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1481_ _) =>
+ (match (string_drop _s1480_ _s1481_) with
+ | _s1482_ =>
+ (spc_matches_prefix _s1482_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1479_ _) =>
- (match (string_drop _s1478_ _s1479_) with
- | _s1480_ =>
- (reg_name_matches_prefix _s1480_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1483_ _) =>
+ (match (string_drop _s1482_ _s1483_) with
+ | _s1484_ =>
+ (reg_name_matches_prefix _s1484_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s1481_ _) =>
- (match (string_drop _s1480_ _s1481_) with
- | _s1482_ =>
- (sep_matches_prefix _s1482_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s1485_ _) =>
+ (match (string_drop _s1484_ _s1485_) with
+ | _s1486_ =>
+ (sep_matches_prefix _s1486_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1483_ _) =>
- (match (string_drop _s1482_ _s1483_) with
- | _s1484_ =>
- (match (hex_bits_12_matches_prefix _s1484_) with
- | Some (imm, existT _ _s1485_ _) =>
- (match (string_drop _s1484_ _s1485_) with
- | _s1486_ =>
- (opt_spc_matches_prefix _s1486_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1487_ _) =>
+ (match (string_drop _s1486_ _s1487_) with
+ | _s1488_ =>
+ (match (hex_bits_12_matches_prefix _s1488_) with
+ | Some (imm, existT _ _s1489_ _) =>
+ (match (string_drop _s1488_ _s1489_) with
+ | _s1490_ =>
+ (opt_spc_matches_prefix _s1490_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s1487_ _) =>
- let _s1488_ :=
- string_drop _s1486_ _s1487_ in
- (if string_startswith _s1488_
+ | Some (tt, existT _ _s1491_ _) =>
+ let _s1492_ :=
+ string_drop _s1490_ _s1491_ in
+ (if string_startswith _s1492_
"(" then
- (match (string_drop _s1488_
+ (match (string_drop _s1492_
(projT1
(string_length
"("))) with
- | _s1489_ =>
+ | _s1493_ =>
(opt_spc_matches_prefix
- _s1489_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1493_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s1490_ _) =>
+ (tt, existT _ _s1494_ _) =>
(match (string_drop
- _s1489_
- _s1490_) with
- | _s1491_ =>
+ _s1493_
+ _s1494_) with
+ | _s1495_ =>
(reg_name_matches_prefix
- _s1491_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1495_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs1, existT _ _s1492_ _) =>
+ (rs1, existT _ _s1496_ _) =>
(match (string_drop
- _s1491_
- _s1492_) with
- | _s1493_ =>
+ _s1495_
+ _s1496_) with
+ | _s1497_ =>
(opt_spc_matches_prefix
- _s1493_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1497_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (tt, existT _ _s1494_ _) =>
- let _s1495_ :=
+ (tt, existT _ _s1498_ _) =>
+ let _s1499_ :=
string_drop
- _s1493_
- _s1494_ in
+ _s1497_
+ _s1498_ in
if
string_startswith
- _s1495_
+ _s1499_
")"
then
let p0_ :=
string_drop
- _s1495_
+ _s1499_
(projT1
(string_length
")")) in
@@ -39548,115 +39527,115 @@ Definition _s1469_ (_s1470_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s1439_ (_s1440_ : string)
+Definition _s1443_ (_s1444_ : string)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s1441_ := _s1440_ in
- (if string_startswith _s1441_ "l" then
- (match (string_drop _s1441_ (projT1 (string_length "l"))) with
- | _s1442_ =>
- (size_mnemonic_matches_prefix _s1442_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s1445_ := _s1444_ in
+ (if string_startswith _s1445_ "l" then
+ (match (string_drop _s1445_ (projT1 (string_length "l"))) with
+ | _s1446_ =>
+ (size_mnemonic_matches_prefix _s1446_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s1443_ _) =>
- (match (string_drop _s1442_ _s1443_) with
- | _s1444_ =>
- (maybe_u_matches_prefix _s1444_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s1447_ _) =>
+ (match (string_drop _s1446_ _s1447_) with
+ | _s1448_ =>
+ (maybe_u_matches_prefix _s1448_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (is_unsigned, existT _ _s1445_ _) =>
- (match (string_drop _s1444_ _s1445_) with
- | _s1446_ =>
- (maybe_aq_matches_prefix _s1446_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (is_unsigned, existT _ _s1449_ _) =>
+ (match (string_drop _s1448_ _s1449_) with
+ | _s1450_ =>
+ (maybe_aq_matches_prefix _s1450_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s1447_ _) =>
- (match (string_drop _s1446_ _s1447_) with
- | _s1448_ =>
- (maybe_rl_matches_prefix _s1448_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s1451_ _) =>
+ (match (string_drop _s1450_ _s1451_) with
+ | _s1452_ =>
+ (maybe_rl_matches_prefix _s1452_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s1449_ _) =>
- (match (string_drop _s1448_ _s1449_) with
- | _s1450_ =>
- (spc_matches_prefix _s1450_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s1453_ _) =>
+ (match (string_drop _s1452_ _s1453_) with
+ | _s1454_ =>
+ (spc_matches_prefix _s1454_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s1451_ _) =>
- (match (string_drop _s1450_ _s1451_) with
- | _s1452_ =>
- (reg_name_matches_prefix _s1452_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1455_ _) =>
+ (match (string_drop _s1454_ _s1455_) with
+ | _s1456_ =>
+ (reg_name_matches_prefix _s1456_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s1453_ _) =>
- (match (string_drop _s1452_ _s1453_) with
- | _s1454_ =>
- (sep_matches_prefix _s1454_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1457_ _) =>
+ (match (string_drop _s1456_ _s1457_) with
+ | _s1458_ =>
+ (sep_matches_prefix _s1458_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s1455_ _) =>
- (match (string_drop _s1454_ _s1455_) with
- | _s1456_ =>
+ | Some (tt, existT _ _s1459_ _) =>
+ (match (string_drop _s1458_ _s1459_) with
+ | _s1460_ =>
(match (hex_bits_12_matches_prefix
- _s1456_) with
- | Some (imm, existT _ _s1457_ _) =>
- (match (string_drop _s1456_
- _s1457_) with
- | _s1458_ =>
+ _s1460_) with
+ | Some (imm, existT _ _s1461_ _) =>
+ (match (string_drop _s1460_
+ _s1461_) with
+ | _s1462_ =>
(opt_spc_matches_prefix
- _s1458_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1462_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s1459_ _) =>
- let _s1460_ :=
- string_drop _s1458_
- _s1459_ in
+ (tt, existT _ _s1463_ _) =>
+ let _s1464_ :=
+ string_drop _s1462_
+ _s1463_ in
(if string_startswith
- _s1460_ "(" then
+ _s1464_ "(" then
(match (string_drop
- _s1460_
+ _s1464_
(projT1
(string_length
"("))) with
- | _s1461_ =>
+ | _s1465_ =>
(opt_spc_matches_prefix
- _s1461_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1465_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s1462_ _) =>
+ (tt, existT _ _s1466_ _) =>
(match (string_drop
- _s1461_
- _s1462_) with
- | _s1463_ =>
+ _s1465_
+ _s1466_) with
+ | _s1467_ =>
(reg_name_matches_prefix
- _s1463_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s1467_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (rs1, existT _ _s1464_ _) =>
+ (rs1, existT _ _s1468_ _) =>
(match (string_drop
- _s1463_
- _s1464_) with
- | _s1465_ =>
+ _s1467_
+ _s1468_) with
+ | _s1469_ =>
(opt_spc_matches_prefix
- _s1465_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
+ _s1469_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (tt, existT _ _s1466_ _) =>
- let _s1467_ :=
+ (tt, existT _ _s1470_ _) =>
+ let _s1471_ :=
string_drop
- _s1465_
- _s1466_ in
+ _s1469_
+ _s1470_ in
if
string_startswith
- _s1467_
+ _s1471_
")"
then
let p0_ :=
string_drop
- _s1467_
+ _s1471_
(projT1
(string_length
")")) in
@@ -39738,51 +39717,51 @@ Definition _s1439_ (_s1440_ : string)
else returnm None)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s1422_ (_s1423_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
- (match _s1423_ with
- | _s1424_ =>
- (rtype_mnemonic_matches_prefix _s1424_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
+Definition _s1426_ (_s1427_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
+ (match _s1427_ with
+ | _s1428_ =>
+ (rtype_mnemonic_matches_prefix _s1428_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1425_ _) =>
- (match (string_drop _s1424_ _s1425_) with
- | _s1426_ =>
- (spc_matches_prefix _s1426_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1429_ _) =>
+ (match (string_drop _s1428_ _s1429_) with
+ | _s1430_ =>
+ (spc_matches_prefix _s1430_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1427_ _) =>
- (match (string_drop _s1426_ _s1427_) with
- | _s1428_ =>
- (reg_name_matches_prefix _s1428_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1431_ _) =>
+ (match (string_drop _s1430_ _s1431_) with
+ | _s1432_ =>
+ (reg_name_matches_prefix _s1432_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1429_ _) =>
- (match (string_drop _s1428_ _s1429_) with
- | _s1430_ =>
- (sep_matches_prefix _s1430_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1433_ _) =>
+ (match (string_drop _s1432_ _s1433_) with
+ | _s1434_ =>
+ (sep_matches_prefix _s1434_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1431_ _) =>
- (match (string_drop _s1430_ _s1431_) with
- | _s1432_ =>
- (reg_name_matches_prefix _s1432_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1435_ _) =>
+ (match (string_drop _s1434_ _s1435_) with
+ | _s1436_ =>
+ (reg_name_matches_prefix _s1436_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1433_ _) =>
- (match (string_drop _s1432_ _s1433_) with
- | _s1434_ =>
- (sep_matches_prefix _s1434_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1437_ _) =>
+ (match (string_drop _s1436_ _s1437_) with
+ | _s1438_ =>
+ (sep_matches_prefix _s1438_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s1435_ _) =>
- (match (string_drop _s1434_ _s1435_) with
- | _s1436_ =>
- (reg_name_matches_prefix _s1436_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1439_ _) =>
+ (match (string_drop _s1438_ _s1439_) with
+ | _s1440_ =>
+ (reg_name_matches_prefix _s1440_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s1437_ _) =>
+ | Some (rs2, existT _ _s1441_ _) =>
let p0_ :=
- string_drop _s1436_ _s1437_ in
+ string_drop _s1440_ _s1441_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -39821,50 +39800,50 @@ Definition _s1422_ (_s1423_ : string) : M (option ((rop * mword 5 * mword 5 * mw
end)
: M (option ((rop * mword 5 * mword 5 * mword 5))).
-Definition _s1405_ (_s1406_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
- (match _s1406_ with
- | _s1407_ =>
- (shiftiop_mnemonic_matches_prefix _s1407_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s1409_ (_s1410_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
+ (match _s1410_ with
+ | _s1411_ =>
+ (shiftiop_mnemonic_matches_prefix _s1411_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1408_ _) =>
- (match (string_drop _s1407_ _s1408_) with
- | _s1409_ =>
- (spc_matches_prefix _s1409_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1412_ _) =>
+ (match (string_drop _s1411_ _s1412_) with
+ | _s1413_ =>
+ (spc_matches_prefix _s1413_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1410_ _) =>
- (match (string_drop _s1409_ _s1410_) with
- | _s1411_ =>
- (reg_name_matches_prefix _s1411_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1414_ _) =>
+ (match (string_drop _s1413_ _s1414_) with
+ | _s1415_ =>
+ (reg_name_matches_prefix _s1415_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1412_ _) =>
- (match (string_drop _s1411_ _s1412_) with
- | _s1413_ =>
- (sep_matches_prefix _s1413_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1416_ _) =>
+ (match (string_drop _s1415_ _s1416_) with
+ | _s1417_ =>
+ (sep_matches_prefix _s1417_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1414_ _) =>
- (match (string_drop _s1413_ _s1414_) with
- | _s1415_ =>
- (reg_name_matches_prefix _s1415_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1418_ _) =>
+ (match (string_drop _s1417_ _s1418_) with
+ | _s1419_ =>
+ (reg_name_matches_prefix _s1419_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1416_ _) =>
- (match (string_drop _s1415_ _s1416_) with
- | _s1417_ =>
- (sep_matches_prefix _s1417_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1420_ _) =>
+ (match (string_drop _s1419_ _s1420_) with
+ | _s1421_ =>
+ (sep_matches_prefix _s1421_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1418_ _) =>
- match (string_drop _s1417_ _s1418_) with
- | _s1419_ =>
+ | Some (tt, existT _ _s1422_ _) =>
+ match (string_drop _s1421_ _s1422_) with
+ | _s1423_ =>
match (hex_bits_6_matches_prefix
- _s1419_) with
- | Some (shamt, existT _ _s1420_ _) =>
+ _s1423_) with
+ | Some (shamt, existT _ _s1424_ _) =>
let p0_ :=
- string_drop _s1419_ _s1420_ in
+ string_drop _s1423_ _s1424_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -39901,50 +39880,50 @@ Definition _s1405_ (_s1406_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 6))).
-Definition _s1388_ (_s1389_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
- (match _s1389_ with
- | _s1390_ =>
- (itype_mnemonic_matches_prefix _s1390_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
+Definition _s1392_ (_s1393_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
+ (match _s1393_ with
+ | _s1394_ =>
+ (itype_mnemonic_matches_prefix _s1394_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1391_ _) =>
- (match (string_drop _s1390_ _s1391_) with
- | _s1392_ =>
- (spc_matches_prefix _s1392_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1395_ _) =>
+ (match (string_drop _s1394_ _s1395_) with
+ | _s1396_ =>
+ (spc_matches_prefix _s1396_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1393_ _) =>
- (match (string_drop _s1392_ _s1393_) with
- | _s1394_ =>
- (reg_name_matches_prefix _s1394_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1397_ _) =>
+ (match (string_drop _s1396_ _s1397_) with
+ | _s1398_ =>
+ (reg_name_matches_prefix _s1398_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1395_ _) =>
- (match (string_drop _s1394_ _s1395_) with
- | _s1396_ =>
- (sep_matches_prefix _s1396_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1399_ _) =>
+ (match (string_drop _s1398_ _s1399_) with
+ | _s1400_ =>
+ (sep_matches_prefix _s1400_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1397_ _) =>
- (match (string_drop _s1396_ _s1397_) with
- | _s1398_ =>
- (reg_name_matches_prefix _s1398_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1401_ _) =>
+ (match (string_drop _s1400_ _s1401_) with
+ | _s1402_ =>
+ (reg_name_matches_prefix _s1402_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s1399_ _) =>
- (match (string_drop _s1398_ _s1399_) with
- | _s1400_ =>
- (sep_matches_prefix _s1400_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1403_ _) =>
+ (match (string_drop _s1402_ _s1403_) with
+ | _s1404_ =>
+ (sep_matches_prefix _s1404_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1401_ _) =>
- match (string_drop _s1400_ _s1401_) with
- | _s1402_ =>
+ | Some (tt, existT _ _s1405_ _) =>
+ match (string_drop _s1404_ _s1405_) with
+ | _s1406_ =>
match (hex_bits_12_matches_prefix
- _s1402_) with
- | Some (imm, existT _ _s1403_ _) =>
+ _s1406_) with
+ | Some (imm, existT _ _s1407_ _) =>
let p0_ :=
- string_drop _s1402_ _s1403_ in
+ string_drop _s1406_ _s1407_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, imm)
else None
@@ -39981,50 +39960,50 @@ Definition _s1388_ (_s1389_ : string) : M (option ((iop * mword 5 * mword 5 * mw
end)
: M (option ((iop * mword 5 * mword 5 * mword 12))).
-Definition _s1371_ (_s1372_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
- (match _s1372_ with
- | _s1373_ =>
- (btype_mnemonic_matches_prefix _s1373_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
+Definition _s1375_ (_s1376_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
+ (match _s1376_ with
+ | _s1377_ =>
+ (btype_mnemonic_matches_prefix _s1377_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1374_ _) =>
- (match (string_drop _s1373_ _s1374_) with
- | _s1375_ =>
- (spc_matches_prefix _s1375_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1378_ _) =>
+ (match (string_drop _s1377_ _s1378_) with
+ | _s1379_ =>
+ (spc_matches_prefix _s1379_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1376_ _) =>
- (match (string_drop _s1375_ _s1376_) with
- | _s1377_ =>
- (reg_name_matches_prefix _s1377_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1380_ _) =>
+ (match (string_drop _s1379_ _s1380_) with
+ | _s1381_ =>
+ (reg_name_matches_prefix _s1381_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs1, existT _ _s1378_ _) =>
- (match (string_drop _s1377_ _s1378_) with
- | _s1379_ =>
- (sep_matches_prefix _s1379_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1382_ _) =>
+ (match (string_drop _s1381_ _s1382_) with
+ | _s1383_ =>
+ (sep_matches_prefix _s1383_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s1380_ _) =>
- (match (string_drop _s1379_ _s1380_) with
- | _s1381_ =>
- (reg_name_matches_prefix _s1381_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1384_ _) =>
+ (match (string_drop _s1383_ _s1384_) with
+ | _s1385_ =>
+ (reg_name_matches_prefix _s1385_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s1382_ _) =>
- (match (string_drop _s1381_ _s1382_) with
- | _s1383_ =>
- (sep_matches_prefix _s1383_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s1386_ _) =>
+ (match (string_drop _s1385_ _s1386_) with
+ | _s1387_ =>
+ (sep_matches_prefix _s1387_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s1384_ _) =>
- match (string_drop _s1383_ _s1384_) with
- | _s1385_ =>
+ | Some (tt, existT _ _s1388_ _) =>
+ match (string_drop _s1387_ _s1388_) with
+ | _s1389_ =>
match (hex_bits_13_matches_prefix
- _s1385_) with
- | Some (imm, existT _ _s1386_ _) =>
+ _s1389_) with
+ | Some (imm, existT _ _s1390_ _) =>
let p0_ :=
- string_drop _s1385_ _s1386_ in
+ string_drop _s1389_ _s1390_ in
if generic_eq p0_ "" then
Some (op, rs1, rs2, imm)
else None
@@ -40061,43 +40040,43 @@ Definition _s1371_ (_s1372_ : string) : M (option ((bop * mword 5 * mword 5 * mw
end)
: M (option ((bop * mword 5 * mword 5 * mword 13))).
-Definition _s1355_ (_s1356_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s1357_ := _s1356_ in
- (if string_startswith _s1357_ "jalr" then
- (match (string_drop _s1357_ (projT1 (string_length "jalr"))) with
- | _s1358_ =>
- (spc_matches_prefix _s1358_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1359_ (_s1360_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s1361_ := _s1360_ in
+ (if string_startswith _s1361_ "jalr" then
+ (match (string_drop _s1361_ (projT1 (string_length "jalr"))) with
+ | _s1362_ =>
+ (spc_matches_prefix _s1362_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1359_ _) =>
- (match (string_drop _s1358_ _s1359_) with
- | _s1360_ =>
- (reg_name_matches_prefix _s1360_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1363_ _) =>
+ (match (string_drop _s1362_ _s1363_) with
+ | _s1364_ =>
+ (reg_name_matches_prefix _s1364_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1361_ _) =>
- (match (string_drop _s1360_ _s1361_) with
- | _s1362_ =>
- (sep_matches_prefix _s1362_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1365_ _) =>
+ (match (string_drop _s1364_ _s1365_) with
+ | _s1366_ =>
+ (sep_matches_prefix _s1366_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s1363_ _) =>
- (match (string_drop _s1362_ _s1363_) with
- | _s1364_ =>
- (reg_name_matches_prefix _s1364_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1367_ _) =>
+ (match (string_drop _s1366_ _s1367_) with
+ | _s1368_ =>
+ (reg_name_matches_prefix _s1368_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s1365_ _) =>
- (match (string_drop _s1364_ _s1365_) with
- | _s1366_ =>
- (sep_matches_prefix _s1366_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s1369_ _) =>
+ (match (string_drop _s1368_ _s1369_) with
+ | _s1370_ =>
+ (sep_matches_prefix _s1370_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s1367_ _) =>
- match (string_drop _s1366_ _s1367_) with
- | _s1368_ =>
- match (hex_bits_12_matches_prefix _s1368_) with
- | Some (imm, existT _ _s1369_ _) =>
- let p0_ := string_drop _s1368_ _s1369_ in
+ | Some (tt, existT _ _s1371_ _) =>
+ match (string_drop _s1370_ _s1371_) with
+ | _s1372_ =>
+ match (hex_bits_12_matches_prefix _s1372_) with
+ | Some (imm, existT _ _s1373_ _) =>
+ let p0_ := string_drop _s1372_ _s1373_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -40131,31 +40110,31 @@ Definition _s1355_ (_s1356_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s1343_ (_s1344_ : string) : M (option ((mword 5 * mword 21))) :=
- let _s1345_ := _s1344_ in
- (if string_startswith _s1345_ "jal" then
- (match (string_drop _s1345_ (projT1 (string_length "jal"))) with
- | _s1346_ =>
- (spc_matches_prefix _s1346_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s1347_ (_s1348_ : string) : M (option ((mword 5 * mword 21))) :=
+ let _s1349_ := _s1348_ in
+ (if string_startswith _s1349_ "jal" then
+ (match (string_drop _s1349_ (projT1 (string_length "jal"))) with
+ | _s1350_ =>
+ (spc_matches_prefix _s1350_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s1347_ _) =>
- (match (string_drop _s1346_ _s1347_) with
- | _s1348_ =>
- (reg_name_matches_prefix _s1348_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1351_ _) =>
+ (match (string_drop _s1350_ _s1351_) with
+ | _s1352_ =>
+ (reg_name_matches_prefix _s1352_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s1349_ _) =>
- (match (string_drop _s1348_ _s1349_) with
- | _s1350_ =>
- (sep_matches_prefix _s1350_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1353_ _) =>
+ (match (string_drop _s1352_ _s1353_) with
+ | _s1354_ =>
+ (sep_matches_prefix _s1354_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s1351_ _) =>
- match (string_drop _s1350_ _s1351_) with
- | _s1352_ =>
- match (hex_bits_21_matches_prefix _s1352_) with
- | Some (imm, existT _ _s1353_ _) =>
- let p0_ := string_drop _s1352_ _s1353_ in
+ | Some (tt, existT _ _s1355_ _) =>
+ match (string_drop _s1354_ _s1355_) with
+ | _s1356_ =>
+ match (hex_bits_21_matches_prefix _s1356_) with
+ | Some (imm, existT _ _s1357_ _) =>
+ let p0_ := string_drop _s1356_ _s1357_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -40178,36 +40157,36 @@ Definition _s1343_ (_s1344_ : string) : M (option ((mword 5 * mword 21))) :=
else returnm None)
: M (option ((mword 5 * mword 21))).
-Definition _s1330_ (_s1331_ : string) : M (option ((uop * mword 5 * mword 20))) :=
- (match _s1331_ with
- | _s1332_ =>
- (utype_mnemonic_matches_prefix _s1332_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
+Definition _s1334_ (_s1335_ : string) : M (option ((uop * mword 5 * mword 20))) :=
+ (match _s1335_ with
+ | _s1336_ =>
+ (utype_mnemonic_matches_prefix _s1336_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s1333_ _) =>
- (match (string_drop _s1332_ _s1333_) with
- | _s1334_ =>
- (spc_matches_prefix _s1334_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s1337_ _) =>
+ (match (string_drop _s1336_ _s1337_) with
+ | _s1338_ =>
+ (spc_matches_prefix _s1338_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s1335_ _) =>
- (match (string_drop _s1334_ _s1335_) with
- | _s1336_ =>
- (reg_name_matches_prefix _s1336_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s1339_ _) =>
+ (match (string_drop _s1338_ _s1339_) with
+ | _s1340_ =>
+ (reg_name_matches_prefix _s1340_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s1337_ _) =>
- (match (string_drop _s1336_ _s1337_) with
- | _s1338_ =>
- (sep_matches_prefix _s1338_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s1341_ _) =>
+ (match (string_drop _s1340_ _s1341_) with
+ | _s1342_ =>
+ (sep_matches_prefix _s1342_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (tt, existT _ _s1339_ _) =>
- match (string_drop _s1338_ _s1339_) with
- | _s1340_ =>
- match (hex_bits_20_matches_prefix _s1340_) with
- | Some (imm, existT _ _s1341_ _) =>
- let p0_ := string_drop _s1340_ _s1341_ in
+ | Some (tt, existT _ _s1343_ _) =>
+ match (string_drop _s1342_ _s1343_) with
+ | _s1344_ =>
+ match (hex_bits_20_matches_prefix _s1344_) with
+ | Some (imm, existT _ _s1345_ _) =>
+ let p0_ := string_drop _s1344_ _s1345_ in
if generic_eq p0_ "" then Some (op, rd, imm)
else None
| _ => None
@@ -40234,76 +40213,76 @@ Definition _s1330_ (_s1331_ : string) : M (option ((uop * mword 5 * mword 20)))
: M (option ((uop * mword 5 * mword 20))).
Definition assembly_backwards (arg_ : string) : M (ast) :=
- let _s1342_ := arg_ in
- (_s1330_ _s1342_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
+ let _s1346_ := arg_ in
+ (_s1334_ _s1346_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
(if match w__0 with | Some (op, rd, imm) => true | _ => false end then
- (_s1330_ _s1342_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
+ (_s1334_ _s1346_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
(match w__1 with
| Some (op, rd, imm) => returnm (UTYPE (imm, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1343_ _s1342_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
+ (_s1347_ _s1346_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
(if match w__4 with | Some (rd, imm) => true | _ => false end then
- (_s1343_ _s1342_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
+ (_s1347_ _s1346_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
(match w__5 with
| Some (rd, imm) => returnm (RISCV_JAL (imm, rd))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1355_ _s1342_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1359_ _s1346_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__8 with | Some (rd, rs1, imm) => true | _ => false end then
- (_s1355_ _s1342_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1359_ _s1346_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__9 with
| Some (rd, rs1, imm) => returnm (RISCV_JALR (imm, rs1, rd))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1371_ _s1342_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s1375_ _s1346_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(if match w__12 with | Some (op, rs1, rs2, imm) => true | _ => false end then
- (_s1371_ _s1342_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s1375_ _s1346_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(match w__13 with
| Some (op, rs1, rs2, imm) => returnm (BTYPE (imm, rs2, rs1, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1388_ _s1342_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s1392_ _s1346_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(if match w__16 with | Some (op, rd, rs1, imm) => true | _ => false end then
- (_s1388_ _s1342_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s1392_ _s1346_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(match w__17 with
| Some (op, rd, rs1, imm) => returnm (ITYPE (imm, rs1, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1405_ _s1342_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s1409_ _s1346_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(if match w__20 with | Some (op, rd, rs1, shamt) => true | _ => false end then
- (_s1405_ _s1342_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s1409_ _s1346_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(match w__21 with
| Some (op, rd, rs1, shamt) => returnm (SHIFTIOP (shamt, rs1, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1422_ _s1342_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s1426_ _s1346_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(if match w__24 with | Some (op, rd, rs1, rs2) => true | _ => false end then
- (_s1422_ _s1342_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s1426_ _s1346_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(match w__25 with
| Some (op, rd, rs1, rs2) => returnm (RTYPE (rs2, rs1, rd, op))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1439_ _s1342_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1443_ _s1346_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__28 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) => true
| _ => false
end then
- (_s1439_ _s1342_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1443_ _s1346_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__29 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) =>
returnm (LOAD (imm, rs1, rd, is_unsigned, size, aq, rl))
@@ -40311,12 +40290,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1469_ _s1342_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1473_ _s1346_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__32 with
| Some (size, aq, rl, rs2, imm, rs1) => true
| _ => false
end then
- (_s1469_ _s1342_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s1473_ _s1346_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__33 with
| Some (size, aq, rl, rs2, imm, rs1) =>
returnm (STORE (imm, rs2, rs1, size, aq, rl))
@@ -40324,24 +40303,24 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1497_ _s1342_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1501_ _s1346_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__36 with
| Some (rd, rs1, imm) => Z.eqb 64 64
| _ => false
end then
- (_s1497_ _s1342_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s1501_ _s1346_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__37 with
| Some (rd, rs1, imm) => returnm (ADDIW (imm, rs1, rd))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1513_ _s1342_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s1517_ _s1346_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(if match w__40 with
| Some (op, rd, rs1, shamt) => Z.eqb 64 64
| _ => false
end then
- (_s1513_ _s1342_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s1517_ _s1346_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(match w__41 with
| Some (op, rd, rs1, shamt) =>
returnm (SHIFTW (shamt, rs1, rd, op))
@@ -40349,12 +40328,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1530_ _s1342_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s1534_ _s1346_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(if match w__44 with
| Some (op, rd, rs1, rs2) => Z.eqb 64 64
| _ => false
end then
- (_s1530_ _s1342_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s1534_ _s1346_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(match w__45 with
| Some (op, rd, rs1, rs2) =>
returnm (RTYPEW (rs2, rs1, rd, op))
@@ -40362,12 +40341,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1547_ _s1342_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s1551_ _s1346_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(if match w__48 with
| Some (op, rd, rs1, shamt) => Z.eqb 64 64
| _ => false
end then
- (_s1547_ _s1342_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s1551_ _s1346_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(match w__49 with
| Some (op, rd, rs1, shamt) =>
returnm (SHIFTIWOP (shamt, rs1, rd, op))
@@ -40375,48 +40354,48 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1564_ _s1342_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
+ (_s1568_ _s1346_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
(if match w__52 with
| Some (pred, succ) => true
| _ => false
end then
- (_s1564_ _s1342_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
+ (_s1568_ _s1346_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
(match w__53 with
| Some (pred, succ) => returnm (FENCE (pred, succ))
| _ => exit tt : M (ast)
end)
: M (ast)
else
- (_s1576_ _s1342_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
+ (_s1580_ _s1346_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
(if match w__56 with
| Some (pred, succ) => true
| _ => false
end then
- (_s1576_ _s1342_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
+ (_s1580_ _s1346_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
(match w__57 with
| Some (pred, succ) =>
returnm (FENCE_TSO (pred, succ))
| _ => exit tt : M (ast)
end)
: M (ast)
- else if generic_eq _s1342_ "fence.i" then
+ else if generic_eq _s1346_ "fence.i" then
returnm (FENCEI tt)
- else if generic_eq _s1342_ "ecall" then
+ else if generic_eq _s1346_ "ecall" then
returnm (ECALL tt)
- else if generic_eq _s1342_ "mret" then
+ else if generic_eq _s1346_ "mret" then
returnm (MRET tt)
- else if generic_eq _s1342_ "sret" then
+ else if generic_eq _s1346_ "sret" then
returnm (SRET tt)
- else if generic_eq _s1342_ "ebreak" then
+ else if generic_eq _s1346_ "ebreak" then
returnm (EBREAK tt)
- else if generic_eq _s1342_ "wfi" then returnm (WFI tt)
+ else if generic_eq _s1346_ "wfi" then returnm (WFI tt)
else
- (_s1588_ _s1342_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
+ (_s1592_ _s1346_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
(if match w__60 with
| Some (rs1, rs2) => true
| _ => false
end then
- (_s1588_ _s1342_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
+ (_s1592_ _s1346_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
(match w__61 with
| Some (rs1, rs2) =>
returnm (SFENCE_VMA (rs1, rs2))
@@ -40424,12 +40403,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1600_ _s1342_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s1604_ _s1346_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(if match w__64 with
| Some (size, aq, rl, rd, rs1) => true
| _ => false
end then
- (_s1600_ _s1342_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s1604_ _s1346_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(match w__65 with
| Some (size, aq, rl, rd, rs1) =>
returnm (LOADRES (aq, rl, rs1, size, rd))
@@ -40437,13 +40416,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1618_ _s1342_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1622_ _s1346_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__68 with
| Some (size, aq, rl, rd, rs1, rs2) =>
true
| _ => false
end then
- (_s1618_ _s1342_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1622_ _s1346_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__69 with
| Some (size, aq, rl, rd, rs1, rs2) =>
returnm (STORECON
@@ -40452,14 +40431,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1640_ _s1342_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1644_ _s1346_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__72 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
true
| _ => false
end then
- (_s1640_ _s1342_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s1644_ _s1346_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__73 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
@@ -40468,16 +40447,16 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
| _ => exit tt : M (ast)
end)
: M (ast)
- else if generic_eq _s1342_ "c.nop" then
+ else if generic_eq _s1346_ "c.nop" then
returnm (C_NOP tt)
else
- (_s1666_ _s1342_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
+ (_s1670_ _s1346_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
(if match w__76 with
| Some (rdc, nzimm) =>
neq_vec nzimm (Ox"00" : mword 8)
| _ => false
end then
- (_s1666_ _s1342_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
+ (_s1670_ _s1346_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
(match w__77 with
| Some (rdc, nzimm) =>
returnm (C_ADDI4SPN (rdc, nzimm))
@@ -40485,12 +40464,12 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1678_ _s1342_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1682_ _s1346_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__80 with
| Some (rdc, rsc, uimm) => true
| _ => false
end then
- (_s1678_ _s1342_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1682_ _s1346_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__81 with
| Some (rdc, rsc, uimm) =>
returnm (C_LW (uimm, rsc, rdc))
@@ -40498,13 +40477,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1694_ _s1342_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1698_ _s1346_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__84 with
| Some (rdc, rsc, uimm) =>
Z.eqb 64 64
| _ => false
end then
- (_s1694_ _s1342_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1698_ _s1346_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__85 with
| Some (rdc, rsc, uimm) =>
returnm (C_LD
@@ -40513,13 +40492,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1710_ _s1342_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1714_ _s1346_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__88 with
| Some (rsc1, rsc2, uimm) =>
true
| _ => false
end then
- (_s1710_ _s1342_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1714_ _s1346_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__89 with
| Some (rsc1, rsc2, uimm) =>
returnm (C_SW
@@ -40528,14 +40507,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1726_ _s1342_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1730_ _s1346_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__92 with
| Some
(rsc1, rsc2, uimm) =>
Z.eqb 64 64
| _ => false
end then
- (_s1726_ _s1342_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s1730_ _s1346_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__93 with
| Some
(rsc1, rsc2, uimm) =>
@@ -40546,7 +40525,7 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1742_ _s1342_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
+ (_s1746_ _s1346_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
(if match w__96 with
| Some (rsd, nzi) =>
andb
@@ -40557,7 +40536,7 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
zreg)
| _ => false
end then
- (_s1742_ _s1342_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
+ (_s1746_ _s1346_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
(match w__97 with
| Some (rsd, nzi) =>
returnm (C_ADDI
@@ -40567,13 +40546,13 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1754_ _s1342_) >>= fun w__100 : option (mword 11) =>
+ (_s1758_ _s1346_) >>= fun w__100 : option (mword 11) =>
(if match w__100 with
| Some imm =>
Z.eqb 64 32
| _ => false
end then
- (_s1754_ _s1342_) >>= fun w__101 : option (mword 11) =>
+ (_s1758_ _s1346_) >>= fun w__101 : option (mword 11) =>
(match w__101 with
| Some imm =>
returnm (C_JAL
@@ -40584,14 +40563,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1762_ _s1342_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
+ (_s1766_ _s1346_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
(if match w__104 with
| Some
(rsd, imm) =>
Z.eqb 64 64
| _ => false
end then
- (_s1762_ _s1342_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
+ (_s1766_ _s1346_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
(match w__105 with
| Some
(rsd, imm) =>
@@ -40603,7 +40582,7 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1774_ _s1342_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
+ (_s1778_ _s1346_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
(if match w__108 with
| Some
(rd, imm) =>
@@ -40611,8 +40590,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
rd zreg
| _ => false
end then
- (_s1774_
- _s1342_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
+ (_s1778_
+ _s1346_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
(match w__109 with
| Some
(rd, imm) =>
@@ -40624,8 +40603,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1786_
- _s1342_) >>= fun w__112 : option (mword 6) =>
+ (_s1790_
+ _s1346_) >>= fun w__112 : option (mword 6) =>
(if match w__112 with
| Some
imm =>
@@ -40636,8 +40615,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
| _ =>
false
end then
- (_s1786_
- _s1342_) >>= fun w__113 : option (mword 6) =>
+ (_s1790_
+ _s1346_) >>= fun w__113 : option (mword 6) =>
(match w__113 with
| Some
imm =>
@@ -40649,8 +40628,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1794_
- _s1342_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
+ (_s1798_
+ _s1346_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
(if match w__116 with
| Some
(rd, imm) =>
@@ -40670,8 +40649,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1794_
- _s1342_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
+ (_s1798_
+ _s1346_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
(match w__117 with
| Some
(rd, imm) =>
@@ -40683,8 +40662,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1806_
- _s1342_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
+ (_s1810_
+ _s1346_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
(if match w__120 with
| Some
(rsd, shamt) =>
@@ -40696,8 +40675,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1806_
- _s1342_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
+ (_s1810_
+ _s1346_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
(match w__121 with
| Some
(rsd, shamt) =>
@@ -40709,8 +40688,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1818_
- _s1342_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
+ (_s1822_
+ _s1346_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
(if match w__124 with
| Some
(rsd, shamt) =>
@@ -40722,8 +40701,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1818_
- _s1342_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
+ (_s1822_
+ _s1346_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
(match w__125 with
| Some
(rsd, shamt) =>
@@ -40735,8 +40714,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1830_
- _s1342_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
+ (_s1834_
+ _s1346_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
(if
match w__128 with
| Some
@@ -40746,8 +40725,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1830_
- _s1342_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
+ (_s1834_
+ _s1346_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
(match w__129 with
| Some
(rsd, imm) =>
@@ -40759,8 +40738,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1842_
- _s1342_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
+ (_s1846_
+ _s1346_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
(if
match w__132 with
| Some
@@ -40770,8 +40749,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1842_
- _s1342_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
+ (_s1846_
+ _s1346_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
(match w__133 with
| Some
(rsd, rs2) =>
@@ -40783,8 +40762,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1854_
- _s1342_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
+ (_s1858_
+ _s1346_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
(if
match w__136 with
| Some
@@ -40794,8 +40773,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1854_
- _s1342_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
+ (_s1858_
+ _s1346_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
(match w__137 with
| Some
(rsd, rs2) =>
@@ -40807,8 +40786,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1866_
- _s1342_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
+ (_s1870_
+ _s1346_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
(if
match w__140 with
| Some
@@ -40818,8 +40797,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1866_
- _s1342_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
+ (_s1870_
+ _s1346_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
(match w__141 with
| Some
(rsd, rs2) =>
@@ -40831,8 +40810,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1878_
- _s1342_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
+ (_s1882_
+ _s1346_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
(if
match w__144 with
| Some
@@ -40842,8 +40821,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1878_
- _s1342_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
+ (_s1882_
+ _s1346_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
(match w__145 with
| Some
(rsd, rs2) =>
@@ -40855,8 +40834,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1890_
- _s1342_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
+ (_s1894_
+ _s1346_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
(if
match w__148 with
| Some
@@ -40868,8 +40847,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1890_
- _s1342_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
+ (_s1894_
+ _s1346_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
(match w__149 with
| Some
(rsd, rs2) =>
@@ -40881,8 +40860,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1902_
- _s1342_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
+ (_s1906_
+ _s1346_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
(if
match w__152 with
| Some
@@ -40894,8 +40873,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1902_
- _s1342_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
+ (_s1906_
+ _s1346_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
(match w__153 with
| Some
(rsd, rs2) =>
@@ -40907,8 +40886,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1914_
- _s1342_) >>= fun w__156 : option (mword 11) =>
+ (_s1918_
+ _s1346_) >>= fun w__156 : option (mword 11) =>
(if
match w__156 with
| Some
@@ -40918,8 +40897,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1914_
- _s1342_) >>= fun w__157 : option (mword 11) =>
+ (_s1918_
+ _s1346_) >>= fun w__157 : option (mword 11) =>
(match w__157 with
| Some
imm =>
@@ -40931,8 +40910,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1922_
- _s1342_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
+ (_s1926_
+ _s1346_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
(if
match w__160 with
| Some
@@ -40942,8 +40921,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1922_
- _s1342_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
+ (_s1926_
+ _s1346_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
(match w__161 with
| Some
(rs, imm) =>
@@ -40955,8 +40934,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1934_
- _s1342_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
+ (_s1938_
+ _s1346_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
(if
match w__164 with
| Some
@@ -40966,8 +40945,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1934_
- _s1342_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
+ (_s1938_
+ _s1346_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
(match w__165 with
| Some
(rs, imm) =>
@@ -40979,8 +40958,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1946_
- _s1342_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
+ (_s1950_
+ _s1346_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
(if
match w__168 with
| Some
@@ -40997,8 +40976,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1946_
- _s1342_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
+ (_s1950_
+ _s1346_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
(match w__169 with
| Some
(rsd, shamt) =>
@@ -41010,8 +40989,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1958_
- _s1342_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
+ (_s1962_
+ _s1346_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
(if
match w__172 with
| Some
@@ -41023,8 +41002,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1958_
- _s1342_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
+ (_s1962_
+ _s1346_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
(match w__173 with
| Some
(rd, uimm) =>
@@ -41036,8 +41015,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1970_
- _s1342_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
+ (_s1974_
+ _s1346_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
(if
match w__176 with
| Some
@@ -41053,8 +41032,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1970_
- _s1342_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
+ (_s1974_
+ _s1346_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
(match w__177 with
| Some
(rd, uimm) =>
@@ -41066,8 +41045,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1982_
- _s1342_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
+ (_s1986_
+ _s1346_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
(if
match w__180 with
| Some
@@ -41077,8 +41056,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1982_
- _s1342_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
+ (_s1986_
+ _s1346_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
(match w__181 with
| Some
(rd, uimm) =>
@@ -41090,8 +41069,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s1994_
- _s1342_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
+ (_s1998_
+ _s1346_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
(if
match w__184 with
| Some
@@ -41103,8 +41082,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s1994_
- _s1342_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
+ (_s1998_
+ _s1346_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
(match w__185 with
| Some
(rs2, uimm) =>
@@ -41116,8 +41095,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2006_
- _s1342_) >>= fun w__188 : option (mword 5) =>
+ (_s2010_
+ _s1346_) >>= fun w__188 : option (mword 5) =>
(if
match w__188 with
| Some
@@ -41129,8 +41108,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2006_
- _s1342_) >>= fun w__189 : option (mword 5) =>
+ (_s2010_
+ _s1346_) >>= fun w__189 : option (mword 5) =>
(match w__189 with
| Some
rs1 =>
@@ -41142,8 +41121,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2014_
- _s1342_) >>= fun w__192 : option (mword 5) =>
+ (_s2018_
+ _s1346_) >>= fun w__192 : option (mword 5) =>
(if
match w__192 with
| Some
@@ -41155,8 +41134,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2014_
- _s1342_) >>= fun w__193 : option (mword 5) =>
+ (_s2018_
+ _s1346_) >>= fun w__193 : option (mword 5) =>
(match w__193 with
| Some
rs1 =>
@@ -41168,8 +41147,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2022_
- _s1342_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
+ (_s2026_
+ _s1346_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
(if
match w__196 with
| Some
@@ -41185,8 +41164,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2022_
- _s1342_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
+ (_s2026_
+ _s1346_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
(match w__197 with
| Some
(rd, rs2) =>
@@ -41199,14 +41178,14 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
: M (ast)
else if
generic_eq
- _s1342_
+ _s1346_
"c.ebreak"
then
returnm (C_EBREAK
tt)
else
- (_s2034_
- _s1342_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
+ (_s2038_
+ _s1346_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
(if
match w__200 with
| Some
@@ -41222,8 +41201,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2034_
- _s1342_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
+ (_s2038_
+ _s1346_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
(match w__201 with
| Some
(rsd, rs2) =>
@@ -41235,8 +41214,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2046_
- _s1342_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2050_
+ _s1346_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__204 with
| Some
@@ -41246,8 +41225,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2046_
- _s1342_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2050_
+ _s1346_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__205 with
| Some
(high, signed1, signed2, rd, rs1, rs2) =>
@@ -41259,8 +41238,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2063_
- _s1342_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2067_
+ _s1346_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__208 with
| Some
@@ -41270,8 +41249,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2063_
- _s1342_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2067_
+ _s1346_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__209 with
| Some
(s, rd, rs1, rs2) =>
@@ -41283,8 +41262,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2081_
- _s1342_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2085_
+ _s1346_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__212 with
| Some
@@ -41294,8 +41273,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2081_
- _s1342_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2085_
+ _s1346_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__213 with
| Some
(s, rd, rs1, rs2) =>
@@ -41307,8 +41286,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2099_
- _s1342_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s2103_
+ _s1346_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
(if
match w__216 with
| Some
@@ -41320,8 +41299,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2099_
- _s1342_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s2103_
+ _s1346_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
(match w__217 with
| Some
(rd, rs1, rs2) =>
@@ -41333,8 +41312,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2115_
- _s1342_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2119_
+ _s1346_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__220 with
| Some
@@ -41346,8 +41325,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2115_
- _s1342_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2119_
+ _s1346_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__221 with
| Some
(s, rd, rs1, rs2) =>
@@ -41359,8 +41338,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2134_
- _s1342_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2138_
+ _s1346_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__224 with
| Some
@@ -41372,8 +41351,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2134_
- _s1342_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s2138_
+ _s1346_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__225 with
| Some
(s, rd, rs1, rs2) =>
@@ -41385,8 +41364,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2153_
- _s1342_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2157_
+ _s1346_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__228 with
| Some
@@ -41396,8 +41375,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2153_
- _s1342_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2157_
+ _s1346_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__229 with
| Some
(op, rd, csr, rs1) =>
@@ -41409,8 +41388,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
end)
: M (ast)
else
- (_s2171_
- _s1342_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2175_
+ _s1346_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__232 with
| Some
@@ -41420,8 +41399,8 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
false
end
then
- (_s2171_
- _s1342_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s2175_
+ _s1346_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__233 with
| Some
(op, rd, csr, rs1) =>
@@ -41434,1438 +41413,1746 @@ Definition assembly_backwards (arg_ : string) : M (ast) :=
: M (ast)
else if
generic_eq
- _s1342_
+ _s1346_
"uret"
then
returnm (URET
tt)
+ else if
+ match (_s2192_
+ _s1346_) with
+ | Some
+ imm =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (match (_s2192_
+ _s1346_) with
+ | Some
+ imm =>
+ returnm (C_NOP_HINT
+ imm)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
else
- (_s2188_
- _s1342_) >>= fun w__236 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s2198_
+ _s1346_) >>= fun w__238 : option (mword 5) =>
(if
- match w__236 with
+ match w__238 with
| Some
- (width, rd, imm, rs1) =>
+ rsd =>
+ neq_vec
+ rsd
+ zreg
+ | _ =>
+ false
+ end
+ then
+ (_s2198_
+ _s1346_) >>= fun w__239 : option (mword 5) =>
+ (match w__239 with
+ | Some
+ rsd =>
+ returnm (C_ADDI_HINT
+ rsd)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else if
+ match (_s2204_
+ _s1346_) with
+ | Some
+ imm =>
true
| _ =>
false
end
then
- (_s2188_
- _s1342_) >>= fun w__237 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__237 with
+ (match (_s2204_
+ _s1346_) with
| Some
- (width, rd, imm, rs1) =>
- returnm (LOAD_FP
- (imm, rs1, rd, width))
+ imm =>
+ returnm (C_LI_HINT
+ imm)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else if
+ match (_s2210_
+ _s1346_) with
+ | Some
+ imm =>
+ neq_vec
+ imm
+ ('b"000000"
+ : mword 6)
+ | _ =>
+ false
+ end
+ then
+ (match (_s2210_
+ _s1346_) with
+ | Some
+ imm =>
+ returnm (C_LUI_HINT
+ imm)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2212_
- _s1342_) >>= fun w__240 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s2216_
+ _s1346_) >>= fun w__246 : option (mword 5) =>
(if
- match w__240 with
+ match w__246 with
| Some
- (width, rs2, imm, rs1) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s2212_
- _s1342_) >>= fun w__241 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__241 with
+ (_s2216_
+ _s1346_) >>= fun w__247 : option (mword 5) =>
+ (match w__247 with
| Some
- (width, rs2, imm, rs1) =>
- returnm (STORE_FP
- (imm, rs2, rs1, width))
+ rs2 =>
+ returnm (C_MV_HINT
+ rs2)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2236_
- _s1342_) >>= fun w__244 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2222_
+ _s1346_) >>= fun w__250 : option (mword 5) =>
(if
- match w__244 with
+ match w__250 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s2236_
- _s1342_) >>= fun w__245 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__245 with
+ (_s2222_
+ _s1346_) >>= fun w__251 : option (mword 5) =>
+ (match w__251 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
- returnm (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, op))
+ rs2 =>
+ returnm (C_ADD_HINT
+ rs2)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2261_
- _s1342_) >>= fun w__248 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2228_
+ _s1346_) >>= fun w__254 : option ((mword 5 * mword 6)) =>
(if
- match w__248 with
+ match w__254 with
| Some
- (op, rd, rs1, rs2, rm) =>
- true
+ (rsd, shamt) =>
+ orb
+ (eq_vec
+ shamt
+ ('b"000000"
+ : mword 6))
+ (eq_vec
+ rsd
+ zreg)
| _ =>
false
end
then
- (_s2261_
- _s1342_) >>= fun w__249 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__249 with
+ (_s2228_
+ _s1346_) >>= fun w__255 : option ((mword 5 * mword 6)) =>
+ (match w__255 with
| Some
- (op, rd, rs1, rs2, rm) =>
- returnm (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, op))
+ (rsd, shamt) =>
+ returnm (C_SLLI_HINT
+ (shamt, rsd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2282_
- _s1342_) >>= fun w__252 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2237_
+ _s1346_) >>= fun w__258 : option (mword 3) =>
(if
- match w__252 with
+ match w__258 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s2282_
- _s1342_) >>= fun w__253 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__253 with
+ (_s2237_
+ _s1346_) >>= fun w__259 : option (mword 3) =>
+ (match w__259 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FSQRT_S))
+ rsd =>
+ returnm (C_SRLI_HINT
+ rsd)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2299_
- _s1342_) >>= fun w__256 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2243_
+ _s1346_) >>= fun w__262 : option (mword 3) =>
(if
- match w__256 with
+ match w__262 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s2299_
- _s1342_) >>= fun w__257 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__257 with
+ (_s2243_
+ _s1346_) >>= fun w__263 : option (mword 3) =>
+ (match w__263 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_W_S))
+ rsd =>
+ returnm (C_SRAI_HINT
+ rsd)
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2316_
- _s1342_) >>= fun w__260 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2249_
+ _s1346_) >>= fun w__266 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
(if
- match w__260 with
+ match w__266 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
- true
+ (pred, succ, rs, rd, fm) =>
+ orb
+ (andb
+ (neq_vec
+ fm
+ (Ox"0"
+ : mword 4))
+ (neq_vec
+ fm
+ (Ox"8"
+ : mword 4)))
+ (orb
+ (neq_vec
+ rs
+ ('b"00000"
+ : mword 5))
+ (neq_vec
+ rd
+ ('b"00000"
+ : mword 5)))
| _ =>
false
end
then
- (_s2316_
- _s1342_) >>= fun w__261 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__261 with
+ (_s2249_
+ _s1346_) >>= fun w__267 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
+ (match w__267 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_WU_S))
+ (pred, succ, rs, rd, fm) =>
+ returnm (FENCE_RESERVED
+ (fm, pred, succ, rs, rd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2333_
- _s1342_) >>= fun w__264 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2267_
+ _s1346_) >>= fun w__270 : option ((mword 5 * mword 5 * mword 12)) =>
(if
- match w__264 with
+ match w__270 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
- true
+ (rd, rs, imm) =>
+ orb
+ (neq_vec
+ imm
+ (Ox"000"
+ : mword 12))
+ (orb
+ (neq_vec
+ rs
+ zreg)
+ (neq_vec
+ rd
+ zreg))
| _ =>
false
end
then
- (_s2333_
- _s1342_) >>= fun w__265 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__265 with
+ (_s2267_
+ _s1346_) >>= fun w__271 : option ((mword 5 * mword 5 * mword 12)) =>
+ (match w__271 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_W))
+ (rd, rs, imm) =>
+ returnm (FENCEI_RESERVED
+ (imm, rs, rd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2350_
- _s1342_) >>= fun w__268 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2279_
+ _s1346_) >>= fun w__274 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__268 with
+ match w__274 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
+ (width, rd, imm, rs1) =>
true
| _ =>
false
end
then
- (_s2350_
- _s1342_) >>= fun w__269 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__269 with
+ (_s2279_
+ _s1346_) >>= fun w__275 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__275 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_WU))
+ (width, rd, imm, rs1) =>
+ returnm (LOAD_FP
+ (imm, rs1, rd, width))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2367_
- _s1342_) >>= fun w__272 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2303_
+ _s1346_) >>= fun w__278 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__272 with
+ match w__278 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
+ (width, rs2, imm, rs1) =>
true
| _ =>
false
end
then
- (_s2367_
- _s1342_) >>= fun w__273 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__273 with
+ (_s2303_
+ _s1346_) >>= fun w__279 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__279 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_L_S))
+ (width, rs2, imm, rs1) =>
+ returnm (STORE_FP
+ (imm, rs2, rs1, width))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2384_
- _s1342_) >>= fun w__276 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2327_
+ _s1346_) >>= fun w__282 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__276 with
+ match w__282 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
true
| _ =>
false
end
then
- (_s2384_
- _s1342_) >>= fun w__277 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__277 with
+ (_s2327_
+ _s1346_) >>= fun w__283 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__283 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_LU_S))
+ (op, rd, rs1, rs2, rs3, rm) =>
+ returnm (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, op))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2401_
- _s1342_) >>= fun w__280 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2352_
+ _s1346_) >>= fun w__286 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__280 with
+ match w__286 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
true
| _ =>
false
end
then
- (_s2401_
- _s1342_) >>= fun w__281 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__281 with
+ (_s2352_
+ _s1346_) >>= fun w__287 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__287 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_L))
+ (op, rd, rs1, rs2, rm) =>
+ returnm (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, op))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2418_
- _s1342_) >>= fun w__284 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2373_
+ _s1346_) >>= fun w__290 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__284 with
+ match w__290 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2418_
- _s1342_) >>= fun w__285 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__285 with
+ (_s2373_
+ _s1346_) >>= fun w__291 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__291 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
returnm (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_LU))
+ (rs1, rm, rd, FSQRT_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2435_
- _s1342_) >>= fun w__288 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2390_
+ _s1346_) >>= fun w__294 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__288 with
+ match w__294 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
+ (FCVT_W_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2435_
- _s1342_) >>= fun w__289 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__289 with
+ (_s2390_
+ _s1346_) >>= fun w__295 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__295 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJ_S))
+ (FCVT_W_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_W_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2452_
- _s1342_) >>= fun w__292 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2407_
+ _s1346_) >>= fun w__298 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__292 with
+ match w__298 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
+ (FCVT_WU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2452_
- _s1342_) >>= fun w__293 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__293 with
+ (_s2407_
+ _s1346_) >>= fun w__299 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__299 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJN_S))
+ (FCVT_WU_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_WU_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2469_
- _s1342_) >>= fun w__296 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2424_
+ _s1346_) >>= fun w__302 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__296 with
+ match w__302 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
+ (FCVT_S_W, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2469_
- _s1342_) >>= fun w__297 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__297 with
+ (_s2424_
+ _s1346_) >>= fun w__303 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__303 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJX_S))
+ (FCVT_S_W, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_W))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2486_
- _s1342_) >>= fun w__300 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2441_
+ _s1346_) >>= fun w__306 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__300 with
+ match w__306 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
+ (FCVT_S_WU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2486_
- _s1342_) >>= fun w__301 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__301 with
+ (_s2441_
+ _s1346_) >>= fun w__307 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__307 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMIN_S))
+ (FCVT_S_WU, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_WU))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2503_
- _s1342_) >>= fun w__304 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2458_
+ _s1346_) >>= fun w__310 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__304 with
+ match w__310 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
+ (FCVT_L_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2503_
- _s1342_) >>= fun w__305 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__305 with
+ (_s2458_
+ _s1346_) >>= fun w__311 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__311 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FMAX_S))
+ (FCVT_L_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_L_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2520_
- _s1342_) >>= fun w__308 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2475_
+ _s1346_) >>= fun w__314 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__308 with
+ match w__314 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
+ (FCVT_LU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2520_
- _s1342_) >>= fun w__309 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__309 with
+ (_s2475_
+ _s1346_) >>= fun w__315 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__315 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FEQ_S))
+ (FCVT_LU_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_LU_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2537_
- _s1342_) >>= fun w__312 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2492_
+ _s1346_) >>= fun w__318 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__312 with
+ match w__318 with
| Some
- (FLT_S, rd, rs1, rs2) =>
+ (FCVT_S_L, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2537_
- _s1342_) >>= fun w__313 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__313 with
+ (_s2492_
+ _s1346_) >>= fun w__319 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__319 with
| Some
- (FLT_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLT_S))
+ (FCVT_S_L, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_L))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2554_
- _s1342_) >>= fun w__316 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s2509_
+ _s1346_) >>= fun w__322 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__316 with
+ match w__322 with
| Some
- (FLE_S, rd, rs1, rs2) =>
+ (FCVT_S_LU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2554_
- _s1342_) >>= fun w__317 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__317 with
+ (_s2509_
+ _s1346_) >>= fun w__323 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__323 with
| Some
- (FLE_S, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_S
- (rs2, rs1, rd, FLE_S))
+ (FCVT_S_LU, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_LU))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2571_
- _s1342_) >>= fun w__320 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s2526_
+ _s1346_) >>= fun w__326 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__320 with
+ match w__326 with
| Some
- (FMV_X_W, rd, rs1) =>
+ (FSGNJ_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2571_
- _s1342_) >>= fun w__321 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__321 with
+ (_s2526_
+ _s1346_) >>= fun w__327 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__327 with
| Some
- (FMV_X_W, rd, rs1) =>
- returnm (F_UN_TYPE_S
- (rs1, rd, FMV_X_W))
+ (FSGNJ_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJ_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2584_
- _s1342_) >>= fun w__324 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s2543_
+ _s1346_) >>= fun w__330 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__324 with
+ match w__330 with
| Some
- (FMV_W_X, rd, rs1) =>
+ (FSGNJN_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2584_
- _s1342_) >>= fun w__325 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__325 with
+ (_s2543_
+ _s1346_) >>= fun w__331 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__331 with
| Some
- (FMV_W_X, rd, rs1) =>
- returnm (F_UN_TYPE_S
- (rs1, rd, FMV_W_X))
+ (FSGNJN_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJN_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2597_
- _s1342_) >>= fun w__328 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s2560_
+ _s1346_) >>= fun w__334 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__328 with
+ match w__334 with
| Some
- (FCLASS_S, rd, rs1) =>
+ (FSGNJX_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2597_
- _s1342_) >>= fun w__329 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__329 with
+ (_s2560_
+ _s1346_) >>= fun w__335 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__335 with
| Some
- (FCLASS_S, rd, rs1) =>
- returnm (F_UN_TYPE_S
- (rs1, rd, FCLASS_S))
+ (FSGNJX_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJX_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2610_
- _s1342_) >>= fun w__332 : option ((mword 5 * mword 6)) =>
+ (_s2577_
+ _s1346_) >>= fun w__338 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__332 with
+ match w__338 with
| Some
- (rd, imm) =>
- Z.eqb
- 64
- 32
+ (FMIN_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2610_
- _s1342_) >>= fun w__333 : option ((mword 5 * mword 6)) =>
- (match w__333 with
+ (_s2577_
+ _s1346_) >>= fun w__339 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__339 with
| Some
- (rd, imm) =>
- returnm (C_FLWSP
- (imm, rd))
+ (FMIN_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMIN_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2622_
- _s1342_) >>= fun w__336 : option ((mword 5 * mword 6)) =>
+ (_s2594_
+ _s1346_) >>= fun w__342 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__336 with
+ match w__342 with
| Some
- (rd, uimm) =>
- Z.eqb
- 64
- 32
+ (FMAX_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2622_
- _s1342_) >>= fun w__337 : option ((mword 5 * mword 6)) =>
- (match w__337 with
+ (_s2594_
+ _s1346_) >>= fun w__343 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__343 with
| Some
- (rd, uimm) =>
- returnm (C_FSWSP
- (uimm, rd))
+ (FMAX_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMAX_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2634_
- _s1342_) >>= fun w__340 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s2611_
+ _s1346_) >>= fun w__346 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__340 with
+ match w__346 with
| Some
- (rdc, rsc, uimm) =>
- Z.eqb
- 64
- 32
+ (FEQ_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2634_
- _s1342_) >>= fun w__341 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__341 with
+ (_s2611_
+ _s1346_) >>= fun w__347 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__347 with
| Some
- (rdc, rsc, uimm) =>
- returnm (C_FLW
- (uimm, rsc, rdc))
+ (FEQ_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FEQ_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2650_
- _s1342_) >>= fun w__344 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s2628_
+ _s1346_) >>= fun w__350 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__344 with
+ match w__350 with
| Some
- (rsc1, rsc2, uimm) =>
- Z.eqb
- 64
- 32
+ (FLT_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s2650_
- _s1342_) >>= fun w__345 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__345 with
+ (_s2628_
+ _s1346_) >>= fun w__351 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__351 with
| Some
- (rsc1, rsc2, uimm) =>
- returnm (C_FSW
- (uimm, rsc1, rsc2))
+ (FLT_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLT_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2666_
- _s1342_) >>= fun w__348 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2645_
+ _s1346_) >>= fun w__354 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__348 with
+ match w__354 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
+ (FLE_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s2666_
- _s1342_) >>= fun w__349 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__349 with
+ (_s2645_
+ _s1346_) >>= fun w__355 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__355 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
- returnm (F_MADD_TYPE_D
- (rs3, rs2, rs1, rm, rd, op))
+ (FLE_S, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLE_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2691_
- _s1342_) >>= fun w__352 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2662_
+ _s1346_) >>= fun w__358 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__352 with
+ match w__358 with
| Some
- (op, rd, rs1, rs2, rm) =>
+ (FMV_X_W, rd, rs1) =>
true
| _ =>
false
end
then
- (_s2691_
- _s1342_) >>= fun w__353 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__353 with
+ (_s2662_
+ _s1346_) >>= fun w__359 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__359 with
| Some
- (op, rd, rs1, rs2, rm) =>
- returnm (F_BIN_RM_TYPE_D
- (rs2, rs1, rm, rd, op))
+ (FMV_X_W, rd, rs1) =>
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FMV_X_W))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2712_
- _s1342_) >>= fun w__356 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2675_
+ _s1346_) >>= fun w__362 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__356 with
+ match w__362 with
| Some
- (FSQRT_D, rd, rs1, rm) =>
+ (FMV_W_X, rd, rs1) =>
true
| _ =>
false
end
then
- (_s2712_
- _s1342_) >>= fun w__357 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__357 with
+ (_s2675_
+ _s1346_) >>= fun w__363 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__363 with
| Some
- (FSQRT_D, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FSQRT_D))
+ (FMV_W_X, rd, rs1) =>
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FMV_W_X))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2729_
- _s1342_) >>= fun w__360 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2688_
+ _s1346_) >>= fun w__366 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__360 with
+ match w__366 with
| Some
- (FCVT_W_D, rd, rs1, rm) =>
+ (FCLASS_S, rd, rs1) =>
true
| _ =>
false
end
then
- (_s2729_
- _s1342_) >>= fun w__361 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__361 with
+ (_s2688_
+ _s1346_) >>= fun w__367 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__367 with
| Some
- (FCVT_W_D, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_W_D))
+ (FCLASS_S, rd, rs1) =>
+ returnm (F_UN_TYPE_S
+ (rs1, rd, FCLASS_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2746_
- _s1342_) >>= fun w__364 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2701_
+ _s1346_) >>= fun w__370 : option ((mword 5 * mword 6)) =>
(if
- match w__364 with
+ match w__370 with
| Some
- (FCVT_WU_D, rd, rs1, rm) =>
- true
+ (rd, imm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s2746_
- _s1342_) >>= fun w__365 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__365 with
+ (_s2701_
+ _s1346_) >>= fun w__371 : option ((mword 5 * mword 6)) =>
+ (match w__371 with
| Some
- (FCVT_WU_D, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_WU_D))
+ (rd, imm) =>
+ returnm (C_FLWSP
+ (imm, rd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2763_
- _s1342_) >>= fun w__368 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2713_
+ _s1346_) >>= fun w__374 : option ((mword 5 * mword 6)) =>
(if
- match w__368 with
+ match w__374 with
| Some
- (FCVT_D_W, rd, rs1, rm) =>
- true
+ (rd, uimm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s2763_
- _s1342_) >>= fun w__369 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__369 with
+ (_s2713_
+ _s1346_) >>= fun w__375 : option ((mword 5 * mword 6)) =>
+ (match w__375 with
| Some
- (FCVT_D_W, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_W))
+ (rd, uimm) =>
+ returnm (C_FSWSP
+ (uimm, rd))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2780_
- _s1342_) >>= fun w__372 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2725_
+ _s1346_) >>= fun w__378 : option ((mword 3 * mword 3 * mword 5)) =>
(if
- match w__372 with
+ match w__378 with
| Some
- (FCVT_D_WU, rd, rs1, rm) =>
- true
+ (rdc, rsc, uimm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s2780_
- _s1342_) >>= fun w__373 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__373 with
+ (_s2725_
+ _s1346_) >>= fun w__379 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__379 with
| Some
- (FCVT_D_WU, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_WU))
+ (rdc, rsc, uimm) =>
+ returnm (C_FLW
+ (uimm, rsc, rdc))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2797_
- _s1342_) >>= fun w__376 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2741_
+ _s1346_) >>= fun w__382 : option ((mword 3 * mword 3 * mword 5)) =>
(if
- match w__376 with
+ match w__382 with
| Some
- (FCVT_L_D, rd, rs1, rm) =>
- true
+ (rsc1, rsc2, uimm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s2797_
- _s1342_) >>= fun w__377 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__377 with
+ (_s2741_
+ _s1346_) >>= fun w__383 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__383 with
| Some
- (FCVT_L_D, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_L_D))
+ (rsc1, rsc2, uimm) =>
+ returnm (C_FSW
+ (uimm, rsc1, rsc2))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2814_
- _s1342_) >>= fun w__380 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2757_
+ _s1346_) >>= fun w__386 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__380 with
+ match w__386 with
| Some
- (FCVT_LU_D, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
true
| _ =>
false
end
then
- (_s2814_
- _s1342_) >>= fun w__381 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__381 with
+ (_s2757_
+ _s1346_) >>= fun w__387 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__387 with
| Some
- (FCVT_LU_D, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_LU_D))
+ (op, rd, rs1, rs2, rs3, rm) =>
+ returnm (F_MADD_TYPE_D
+ (rs3, rs2, rs1, rm, rd, op))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2831_
- _s1342_) >>= fun w__384 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2782_
+ _s1346_) >>= fun w__390 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__384 with
+ match w__390 with
| Some
- (FCVT_D_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
true
| _ =>
false
end
then
- (_s2831_
- _s1342_) >>= fun w__385 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__385 with
+ (_s2782_
+ _s1346_) >>= fun w__391 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__391 with
| Some
- (FCVT_D_L, rd, rs1, rm) =>
- returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_L))
+ (op, rd, rs1, rs2, rm) =>
+ returnm (F_BIN_RM_TYPE_D
+ (rs2, rs1, rm, rd, op))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2848_
- _s1342_) >>= fun w__388 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2803_
+ _s1346_) >>= fun w__394 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__388 with
+ match w__394 with
| Some
- (FCVT_D_LU, rd, rs1, rm) =>
+ (FSQRT_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2848_
- _s1342_) >>= fun w__389 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__389 with
+ (_s2803_
+ _s1346_) >>= fun w__395 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__395 with
| Some
- (FCVT_D_LU, rd, rs1, rm) =>
+ (FSQRT_D, rd, rs1, rm) =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_LU))
+ (rs1, rm, rd, FSQRT_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2865_
- _s1342_) >>= fun w__392 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2820_
+ _s1346_) >>= fun w__398 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__392 with
+ match w__398 with
| Some
- (FCVT_S_D, rd, rs1, rm) =>
+ (FCVT_W_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2865_
- _s1342_) >>= fun w__393 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__393 with
+ (_s2820_
+ _s1346_) >>= fun w__399 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__399 with
| Some
- (FCVT_S_D, rd, rs1, rm) =>
+ (FCVT_W_D, rd, rs1, rm) =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_S_D))
+ (rs1, rm, rd, FCVT_W_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2882_
- _s1342_) >>= fun w__396 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s2837_
+ _s1346_) >>= fun w__402 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__396 with
+ match w__402 with
| Some
- (FCVT_D_S, rd, rs1, rm) =>
+ (FCVT_WU_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2882_
- _s1342_) >>= fun w__397 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__397 with
+ (_s2837_
+ _s1346_) >>= fun w__403 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__403 with
| Some
- (FCVT_D_S, rd, rs1, rm) =>
+ (FCVT_WU_D, rd, rs1, rm) =>
returnm (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_S))
+ (rs1, rm, rd, FCVT_WU_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2899_
- _s1342_) >>= fun w__400 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2854_
+ _s1346_) >>= fun w__406 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__400 with
+ match w__406 with
| Some
- (FSGNJ_D, rd, rs1, rs2) =>
+ (FCVT_D_W, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2899_
- _s1342_) >>= fun w__401 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__401 with
+ (_s2854_
+ _s1346_) >>= fun w__407 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__407 with
| Some
- (FSGNJ_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJ_D))
+ (FCVT_D_W, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_W))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2916_
- _s1342_) >>= fun w__404 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2871_
+ _s1346_) >>= fun w__410 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__404 with
+ match w__410 with
| Some
- (FSGNJN_D, rd, rs1, rs2) =>
+ (FCVT_D_WU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2916_
- _s1342_) >>= fun w__405 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__405 with
+ (_s2871_
+ _s1346_) >>= fun w__411 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__411 with
| Some
- (FSGNJN_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJN_D))
+ (FCVT_D_WU, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_WU))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2933_
- _s1342_) >>= fun w__408 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2888_
+ _s1346_) >>= fun w__414 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__408 with
+ match w__414 with
| Some
- (FSGNJX_D, rd, rs1, rs2) =>
+ (FCVT_L_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2933_
- _s1342_) >>= fun w__409 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__409 with
+ (_s2888_
+ _s1346_) >>= fun w__415 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__415 with
| Some
- (FSGNJX_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJX_D))
+ (FCVT_L_D, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_L_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2950_
- _s1342_) >>= fun w__412 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2905_
+ _s1346_) >>= fun w__418 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__412 with
+ match w__418 with
| Some
- (FMIN_D, rd, rs1, rs2) =>
+ (FCVT_LU_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2950_
- _s1342_) >>= fun w__413 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__413 with
+ (_s2905_
+ _s1346_) >>= fun w__419 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__419 with
| Some
- (FMIN_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FMIN_D))
+ (FCVT_LU_D, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_LU_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2967_
- _s1342_) >>= fun w__416 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2922_
+ _s1346_) >>= fun w__422 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__416 with
+ match w__422 with
| Some
- (FMAX_D, rd, rs1, rs2) =>
+ (FCVT_D_L, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2967_
- _s1342_) >>= fun w__417 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__417 with
+ (_s2922_
+ _s1346_) >>= fun w__423 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__423 with
| Some
- (FMAX_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FMAX_D))
+ (FCVT_D_L, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_L))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s2984_
- _s1342_) >>= fun w__420 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2939_
+ _s1346_) >>= fun w__426 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__420 with
+ match w__426 with
| Some
- (FEQ_D, rd, rs1, rs2) =>
+ (FCVT_D_LU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s2984_
- _s1342_) >>= fun w__421 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__421 with
+ (_s2939_
+ _s1346_) >>= fun w__427 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__427 with
| Some
- (FEQ_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FEQ_D))
+ (FCVT_D_LU, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_LU))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3001_
- _s1342_) >>= fun w__424 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2956_
+ _s1346_) >>= fun w__430 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__424 with
+ match w__430 with
| Some
- (FLT_D, rd, rs1, rs2) =>
+ (FCVT_S_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3001_
- _s1342_) >>= fun w__425 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__425 with
+ (_s2956_
+ _s1346_) >>= fun w__431 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__431 with
| Some
- (FLT_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FLT_D))
+ (FCVT_S_D, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_S_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3018_
- _s1342_) >>= fun w__428 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s2973_
+ _s1346_) >>= fun w__434 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__428 with
+ match w__434 with
| Some
- (FLE_D, rd, rs1, rs2) =>
+ (FCVT_D_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s3018_
- _s1342_) >>= fun w__429 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__429 with
+ (_s2973_
+ _s1346_) >>= fun w__435 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__435 with
| Some
- (FLE_D, rd, rs1, rs2) =>
- returnm (F_BIN_TYPE_D
- (rs2, rs1, rd, FLE_D))
+ (FCVT_D_S, rd, rs1, rm) =>
+ returnm (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_S))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3035_
- _s1342_) >>= fun w__432 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (_s2990_
+ _s1346_) >>= fun w__438 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__432 with
+ match w__438 with
| Some
- (FMV_X_D, rd, rs1) =>
+ (FSGNJ_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3035_
- _s1342_) >>= fun w__433 : option ((f_un_op_D * mword 5 * mword 5)) =>
- (match w__433 with
+ (_s2990_
+ _s1346_) >>= fun w__439 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__439 with
| Some
- (FMV_X_D, rd, rs1) =>
- returnm (F_UN_TYPE_D
- (rs1, rd, FMV_X_D))
+ (FSGNJ_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJ_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3048_
- _s1342_) >>= fun w__436 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (_s3007_
+ _s1346_) >>= fun w__442 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__436 with
+ match w__442 with
| Some
- (FMV_D_X, rd, rs1) =>
+ (FSGNJN_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3048_
- _s1342_) >>= fun w__437 : option ((f_un_op_D * mword 5 * mword 5)) =>
- (match w__437 with
+ (_s3007_
+ _s1346_) >>= fun w__443 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__443 with
| Some
- (FMV_D_X, rd, rs1) =>
- returnm (F_UN_TYPE_D
- (rs1, rd, FMV_D_X))
+ (FSGNJN_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJN_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3061_
- _s1342_) >>= fun w__440 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (_s3024_
+ _s1346_) >>= fun w__446 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__440 with
+ match w__446 with
| Some
- (FCLASS_D, rd, rs1) =>
+ (FSGNJX_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3061_
- _s1342_) >>= fun w__441 : option ((f_un_op_D * mword 5 * mword 5)) =>
- (match w__441 with
+ (_s3024_
+ _s1346_) >>= fun w__447 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__447 with
| Some
- (FCLASS_D, rd, rs1) =>
- returnm (F_UN_TYPE_D
- (rs1, rd, FCLASS_D))
+ (FSGNJX_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJX_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3074_
- _s1342_) >>= fun w__444 : option ((mword 5 * mword 6)) =>
+ (_s3041_
+ _s1346_) >>= fun w__450 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__444 with
+ match w__450 with
| Some
- (rd, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FMIN_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3074_
- _s1342_) >>= fun w__445 : option ((mword 5 * mword 6)) =>
- (match w__445 with
+ (_s3041_
+ _s1346_) >>= fun w__451 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__451 with
| Some
- (rd, uimm) =>
- returnm (C_FLDSP
- (uimm, rd))
+ (FMIN_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FMIN_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3086_
- _s1342_) >>= fun w__448 : option ((mword 5 * mword 6)) =>
+ (_s3058_
+ _s1346_) >>= fun w__454 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__448 with
+ match w__454 with
| Some
- (rs2, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FMAX_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3086_
- _s1342_) >>= fun w__449 : option ((mword 5 * mword 6)) =>
- (match w__449 with
+ (_s3058_
+ _s1346_) >>= fun w__455 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__455 with
| Some
- (rs2, uimm) =>
- returnm (C_FSDSP
- (uimm, rs2))
+ (FMAX_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FMAX_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3098_
- _s1342_) >>= fun w__452 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3075_
+ _s1346_) >>= fun w__458 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__452 with
+ match w__458 with
| Some
- (rdc, rsc, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FEQ_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3098_
- _s1342_) >>= fun w__453 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__453 with
+ (_s3075_
+ _s1346_) >>= fun w__459 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__459 with
| Some
- (rdc, rsc, uimm) =>
- returnm (C_FLD
- (uimm, rsc, rdc))
+ (FEQ_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FEQ_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3114_
- _s1342_) >>= fun w__456 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3092_
+ _s1346_) >>= fun w__462 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__456 with
+ match w__462 with
| Some
- (rsc1, rsc2, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FLT_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s3114_
- _s1342_) >>= fun w__457 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__457 with
+ (_s3092_
+ _s1346_) >>= fun w__463 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__463 with
| Some
- (rsc1, rsc2, uimm) =>
- returnm (C_FSD
- (uimm, rsc1, rsc2))
+ (FLT_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FLT_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3130_
- _s1342_) >>= fun w__460 : option (mword 32) =>
+ (_s3109_
+ _s1346_) >>= fun w__466 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__460 with
+ match w__466 with
| Some
- s =>
+ (FLE_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s3130_
- _s1342_) >>= fun w__461 : option (mword 32) =>
- (match w__461 with
+ (_s3109_
+ _s1346_) >>= fun w__467 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__467 with
| Some
- s =>
- returnm (ILLEGAL
- s)
+ (FLE_D, rd, rs1, rs2) =>
+ returnm (F_BIN_TYPE_D
+ (rs2, rs1, rd, FLE_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- (_s3138_
- _s1342_) >>= fun w__464 : option (mword 16) =>
+ (_s3126_
+ _s1346_) >>= fun w__470 : option ((f_un_op_D * mword 5 * mword 5)) =>
(if
- match w__464 with
+ match w__470 with
| Some
- s =>
+ (FMV_X_D, rd, rs1) =>
true
| _ =>
false
end
then
- (_s3138_
- _s1342_) >>= fun w__465 : option (mword 16) =>
- (match w__465 with
+ (_s3126_
+ _s1346_) >>= fun w__471 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (match w__471 with
| Some
- s =>
- returnm (C_ILLEGAL
- s)
+ (FMV_X_D, rd, rs1) =>
+ returnm (F_UN_TYPE_D
+ (rs1, rd, FMV_X_D))
| _ =>
exit tt
: M (ast)
end)
: M (ast)
else
- assert_exp' false "Pattern match failure at unknown location" >>= fun _ =>
- exit tt)
+ (_s3139_
+ _s1346_) >>= fun w__474 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (if
+ match w__474 with
+ | Some
+ (FMV_D_X, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s3139_
+ _s1346_) >>= fun w__475 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (match w__475 with
+ | Some
+ (FMV_D_X, rd, rs1) =>
+ returnm (F_UN_TYPE_D
+ (rs1, rd, FMV_D_X))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s3152_
+ _s1346_) >>= fun w__478 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (if
+ match w__478 with
+ | Some
+ (FCLASS_D, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s3152_
+ _s1346_) >>= fun w__479 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (match w__479 with
+ | Some
+ (FCLASS_D, rd, rs1) =>
+ returnm (F_UN_TYPE_D
+ (rs1, rd, FCLASS_D))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s3165_
+ _s1346_) >>= fun w__482 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__482 with
+ | Some
+ (rd, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s3165_
+ _s1346_) >>= fun w__483 : option ((mword 5 * mword 6)) =>
+ (match w__483 with
+ | Some
+ (rd, uimm) =>
+ returnm (C_FLDSP
+ (uimm, rd))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s3177_
+ _s1346_) >>= fun w__486 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__486 with
+ | Some
+ (rs2, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s3177_
+ _s1346_) >>= fun w__487 : option ((mword 5 * mword 6)) =>
+ (match w__487 with
+ | Some
+ (rs2, uimm) =>
+ returnm (C_FSDSP
+ (uimm, rs2))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s3189_
+ _s1346_) >>= fun w__490 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__490 with
+ | Some
+ (rdc, rsc, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s3189_
+ _s1346_) >>= fun w__491 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__491 with
+ | Some
+ (rdc, rsc, uimm) =>
+ returnm (C_FLD
+ (uimm, rsc, rdc))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s3205_
+ _s1346_) >>= fun w__494 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__494 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s3205_
+ _s1346_) >>= fun w__495 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__495 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ returnm (C_FSD
+ (uimm, rsc1, rsc2))
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s3221_
+ _s1346_) >>= fun w__498 : option (mword 32) =>
+ (if
+ match w__498 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s3221_
+ _s1346_) >>= fun w__499 : option (mword 32) =>
+ (match w__499 with
+ | Some
+ s =>
+ returnm (ILLEGAL
+ s)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ (_s3229_
+ _s1346_) >>= fun w__502 : option (mword 16) =>
+ (if
+ match w__502 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s3229_
+ _s1346_) >>= fun w__503 : option (mword 16) =>
+ (match w__503 with
+ | Some
+ s =>
+ returnm (C_ILLEGAL
+ s)
+ | _ =>
+ exit tt
+ : M (ast)
+ end)
+ : M (ast)
+ else
+ assert_exp' false "Pattern match failure at unknown location" >>= fun _ =>
+ exit tt)
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
+ : M (ast))
: M (ast))
: M (ast))
: M (ast))
@@ -43060,6 +43347,24 @@ Definition assembly_forwards_matches (arg_ : ast) : bool :=
| CSR (csr, rs1, rd, true, op) => true
| CSR (csr, rs1, rd, false, op) => true
| URET tt => true
+ | C_NOP_HINT imm => true
+ | C_ADDI_HINT rsd => if neq_vec rsd zreg then true else false
+ | C_LI_HINT imm => true
+ | C_LUI_HINT imm => if neq_vec imm ('b"000000" : mword 6) then true else false
+ | C_MV_HINT rs2 => if neq_vec rs2 zreg then true else false
+ | C_ADD_HINT rs2 => if neq_vec rs2 zreg then true else false
+ | C_SLLI_HINT (shamt, rsd) =>
+ if orb (eq_vec shamt ('b"000000" : mword 6)) (eq_vec rsd zreg) then true else false
+ | C_SRLI_HINT rsd => true
+ | C_SRAI_HINT rsd => true
+ | FENCE_RESERVED (fm, pred, succ, rs, rd) =>
+ if orb (andb (neq_vec fm (Ox"0" : mword 4)) (neq_vec fm (Ox"8" : mword 4)))
+ (orb (neq_vec rs ('b"00000" : mword 5)) (neq_vec rd ('b"00000" : mword 5))) then
+ true
+ else false
+ | FENCEI_RESERVED (imm, rs, rd) =>
+ if orb (neq_vec imm (Ox"000" : mword 12)) (orb (neq_vec rs zreg) (neq_vec rd zreg)) then true
+ else false
| LOAD_FP (imm, rs1, rd, width) => true
| STORE_FP (imm, rs2, rs1, width) => true
| F_MADD_TYPE_S (rs3, rs2, rs1, rm, rd, op) => true
@@ -43123,19 +43428,19 @@ Definition assembly_forwards_matches (arg_ : ast) : bool :=
| C_ILLEGAL s => true
end.
-Definition _s4954_ (_s4955_ : string) : M (option (mword 16)) :=
- let _s4956_ := _s4955_ in
- (if string_startswith _s4956_ "c.illegal" then
- (match (string_drop _s4956_ (projT1 (string_length "c.illegal"))) with
- | _s4957_ =>
- (spc_matches_prefix _s4957_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5132_ (_s5133_ : string) : M (option (mword 16)) :=
+ let _s5134_ := _s5133_ in
+ (if string_startswith _s5134_ "c.illegal" then
+ (match (string_drop _s5134_ (projT1 (string_length "c.illegal"))) with
+ | _s5135_ =>
+ (spc_matches_prefix _s5135_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s4958_ _) =>
- match (string_drop _s4957_ _s4958_) with
- | _s4959_ =>
- match (hex_bits_16_matches_prefix _s4959_) with
- | Some (s, existT _ _s4960_ _) =>
- let p0_ := string_drop _s4959_ _s4960_ in
+ | Some (tt, existT _ _s5136_ _) =>
+ match (string_drop _s5135_ _s5136_) with
+ | _s5137_ =>
+ match (hex_bits_16_matches_prefix _s5137_) with
+ | Some (s, existT _ _s5138_ _) =>
+ let p0_ := string_drop _s5137_ _s5138_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -43148,19 +43453,19 @@ Definition _s4954_ (_s4955_ : string) : M (option (mword 16)) :=
else returnm None)
: M (option (mword 16)).
-Definition _s4946_ (_s4947_ : string) : M (option (mword 32)) :=
- let _s4948_ := _s4947_ in
- (if string_startswith _s4948_ "illegal" then
- (match (string_drop _s4948_ (projT1 (string_length "illegal"))) with
- | _s4949_ =>
- (spc_matches_prefix _s4949_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5124_ (_s5125_ : string) : M (option (mword 32)) :=
+ let _s5126_ := _s5125_ in
+ (if string_startswith _s5126_ "illegal" then
+ (match (string_drop _s5126_ (projT1 (string_length "illegal"))) with
+ | _s5127_ =>
+ (spc_matches_prefix _s5127_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s4950_ _) =>
- match (string_drop _s4949_ _s4950_) with
- | _s4951_ =>
- match (hex_bits_32_matches_prefix _s4951_) with
- | Some (s, existT _ _s4952_ _) =>
- let p0_ := string_drop _s4951_ _s4952_ in
+ | Some (tt, existT _ _s5128_ _) =>
+ match (string_drop _s5127_ _s5128_) with
+ | _s5129_ =>
+ match (hex_bits_32_matches_prefix _s5129_) with
+ | Some (s, existT _ _s5130_ _) =>
+ let p0_ := string_drop _s5129_ _s5130_ in
if generic_eq p0_ "" then Some s
else None
| _ => None
@@ -43173,50 +43478,50 @@ Definition _s4946_ (_s4947_ : string) : M (option (mword 32)) :=
else returnm None)
: M (option (mword 32)).
-Definition _s4930_ (_s4931_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s4932_ := _s4931_ in
- (if string_startswith _s4932_ "c.fsd" then
- (match (string_drop _s4932_ (projT1 (string_length "c.fsd"))) with
- | _s4933_ =>
- (spc_matches_prefix _s4933_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5108_ (_s5109_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s5110_ := _s5109_ in
+ (if string_startswith _s5110_ "c.fsd" then
+ (match (string_drop _s5110_ (projT1 (string_length "c.fsd"))) with
+ | _s5111_ =>
+ (spc_matches_prefix _s5111_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4934_ _) =>
- (match (string_drop _s4933_ _s4934_) with
- | _s4935_ =>
- (creg_name_matches_prefix _s4935_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5112_ _) =>
+ (match (string_drop _s5111_ _s5112_) with
+ | _s5113_ =>
+ (creg_name_matches_prefix _s5113_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s4936_ _) =>
- (match (string_drop _s4935_ _s4936_) with
- | _s4937_ =>
- (sep_matches_prefix _s4937_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s5114_ _) =>
+ (match (string_drop _s5113_ _s5114_) with
+ | _s5115_ =>
+ (sep_matches_prefix _s5115_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4938_ _) =>
- (match (string_drop _s4937_ _s4938_) with
- | _s4939_ =>
- (creg_name_matches_prefix _s4939_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5116_ _) =>
+ (match (string_drop _s5115_ _s5116_) with
+ | _s5117_ =>
+ (creg_name_matches_prefix _s5117_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s4940_ _) =>
- (match (string_drop _s4939_ _s4940_) with
- | _s4941_ =>
- (sep_matches_prefix _s4941_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s5118_ _) =>
+ (match (string_drop _s5117_ _s5118_) with
+ | _s5119_ =>
+ (sep_matches_prefix _s5119_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4942_ _) =>
- match (string_drop _s4941_ _s4942_) with
- | _s4943_ =>
- match (hex_bits_8_matches_prefix _s4943_) with
- | Some (v__1358, existT _ _s4944_ _) =>
- if eq_vec (subrange_vec_dec v__1358 2 0)
+ | Some (tt, existT _ _s5120_ _) =>
+ match (string_drop _s5119_ _s5120_) with
+ | _s5121_ =>
+ match (hex_bits_8_matches_prefix _s5121_) with
+ | Some (v__1462, existT _ _s5122_ _) =>
+ if eq_vec (subrange_vec_dec v__1462 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1358 7 3 in
+ subrange_vec_dec v__1462 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1358 7 3 in
- let p0_ := string_drop _s4943_ _s4944_ in
+ subrange_vec_dec v__1462 7 3 in
+ let p0_ := string_drop _s5121_ _s5122_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -43251,50 +43556,50 @@ Definition _s4930_ (_s4931_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s4914_ (_s4915_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s4916_ := _s4915_ in
- (if string_startswith _s4916_ "c.fld" then
- (match (string_drop _s4916_ (projT1 (string_length "c.fld"))) with
- | _s4917_ =>
- (spc_matches_prefix _s4917_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5092_ (_s5093_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s5094_ := _s5093_ in
+ (if string_startswith _s5094_ "c.fld" then
+ (match (string_drop _s5094_ (projT1 (string_length "c.fld"))) with
+ | _s5095_ =>
+ (spc_matches_prefix _s5095_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4918_ _) =>
- (match (string_drop _s4917_ _s4918_) with
- | _s4919_ =>
- (creg_name_matches_prefix _s4919_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5096_ _) =>
+ (match (string_drop _s5095_ _s5096_) with
+ | _s5097_ =>
+ (creg_name_matches_prefix _s5097_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s4920_ _) =>
- (match (string_drop _s4919_ _s4920_) with
- | _s4921_ =>
- (sep_matches_prefix _s4921_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s5098_ _) =>
+ (match (string_drop _s5097_ _s5098_) with
+ | _s5099_ =>
+ (sep_matches_prefix _s5099_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4922_ _) =>
- (match (string_drop _s4921_ _s4922_) with
- | _s4923_ =>
- (creg_name_matches_prefix _s4923_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5100_ _) =>
+ (match (string_drop _s5099_ _s5100_) with
+ | _s5101_ =>
+ (creg_name_matches_prefix _s5101_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s4924_ _) =>
- (match (string_drop _s4923_ _s4924_) with
- | _s4925_ =>
- (sep_matches_prefix _s4925_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s5102_ _) =>
+ (match (string_drop _s5101_ _s5102_) with
+ | _s5103_ =>
+ (sep_matches_prefix _s5103_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4926_ _) =>
- match (string_drop _s4925_ _s4926_) with
- | _s4927_ =>
- match (hex_bits_8_matches_prefix _s4927_) with
- | Some (v__1360, existT _ _s4928_ _) =>
- if eq_vec (subrange_vec_dec v__1360 2 0)
+ | Some (tt, existT _ _s5104_ _) =>
+ match (string_drop _s5103_ _s5104_) with
+ | _s5105_ =>
+ match (hex_bits_8_matches_prefix _s5105_) with
+ | Some (v__1464, existT _ _s5106_ _) =>
+ if eq_vec (subrange_vec_dec v__1464 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1360 7 3 in
+ subrange_vec_dec v__1464 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1360 7 3 in
- let p0_ := string_drop _s4927_ _s4928_ in
+ subrange_vec_dec v__1464 7 3 in
+ let p0_ := string_drop _s5105_ _s5106_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -43329,31 +43634,31 @@ Definition _s4914_ (_s4915_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s4902_ (_s4903_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s4904_ := _s4903_ in
- (if string_startswith _s4904_ "c.fsdsp" then
- (match (string_drop _s4904_ (projT1 (string_length "c.fsdsp"))) with
- | _s4905_ =>
- (spc_matches_prefix _s4905_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5080_ (_s5081_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s5082_ := _s5081_ in
+ (if string_startswith _s5082_ "c.fsdsp" then
+ (match (string_drop _s5082_ (projT1 (string_length "c.fsdsp"))) with
+ | _s5083_ =>
+ (spc_matches_prefix _s5083_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4906_ _) =>
- (match (string_drop _s4905_ _s4906_) with
- | _s4907_ =>
- (reg_name_matches_prefix _s4907_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5084_ _) =>
+ (match (string_drop _s5083_ _s5084_) with
+ | _s5085_ =>
+ (reg_name_matches_prefix _s5085_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s4908_ _) =>
- (match (string_drop _s4907_ _s4908_) with
- | _s4909_ =>
- (sep_matches_prefix _s4909_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s5086_ _) =>
+ (match (string_drop _s5085_ _s5086_) with
+ | _s5087_ =>
+ (sep_matches_prefix _s5087_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4910_ _) =>
- match (string_drop _s4909_ _s4910_) with
- | _s4911_ =>
- match (hex_bits_6_matches_prefix _s4911_) with
- | Some (uimm, existT _ _s4912_ _) =>
- let p0_ := string_drop _s4911_ _s4912_ in
+ | Some (tt, existT _ _s5088_ _) =>
+ match (string_drop _s5087_ _s5088_) with
+ | _s5089_ =>
+ match (hex_bits_6_matches_prefix _s5089_) with
+ | Some (uimm, existT _ _s5090_ _) =>
+ let p0_ := string_drop _s5089_ _s5090_ in
if generic_eq p0_ "" then Some (rs2, uimm)
else None
| _ => None
@@ -43376,31 +43681,31 @@ Definition _s4902_ (_s4903_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s4890_ (_s4891_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s4892_ := _s4891_ in
- (if string_startswith _s4892_ "c.fldsp" then
- (match (string_drop _s4892_ (projT1 (string_length "c.fldsp"))) with
- | _s4893_ =>
- (spc_matches_prefix _s4893_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5068_ (_s5069_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s5070_ := _s5069_ in
+ (if string_startswith _s5070_ "c.fldsp" then
+ (match (string_drop _s5070_ (projT1 (string_length "c.fldsp"))) with
+ | _s5071_ =>
+ (spc_matches_prefix _s5071_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4894_ _) =>
- (match (string_drop _s4893_ _s4894_) with
- | _s4895_ =>
- (reg_name_matches_prefix _s4895_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5072_ _) =>
+ (match (string_drop _s5071_ _s5072_) with
+ | _s5073_ =>
+ (reg_name_matches_prefix _s5073_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4896_ _) =>
- (match (string_drop _s4895_ _s4896_) with
- | _s4897_ =>
- (sep_matches_prefix _s4897_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5074_ _) =>
+ (match (string_drop _s5073_ _s5074_) with
+ | _s5075_ =>
+ (sep_matches_prefix _s5075_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4898_ _) =>
- match (string_drop _s4897_ _s4898_) with
- | _s4899_ =>
- match (hex_bits_6_matches_prefix _s4899_) with
- | Some (uimm, existT _ _s4900_ _) =>
- let p0_ := string_drop _s4899_ _s4900_ in
+ | Some (tt, existT _ _s5076_ _) =>
+ match (string_drop _s5075_ _s5076_) with
+ | _s5077_ =>
+ match (hex_bits_6_matches_prefix _s5077_) with
+ | Some (uimm, existT _ _s5078_ _) =>
+ let p0_ := string_drop _s5077_ _s5078_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -43423,38 +43728,38 @@ Definition _s4890_ (_s4891_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s4877_ (_s4878_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
- (match _s4878_ with
- | _s4879_ =>
- (f_un_type_mnemonic_D_matches_prefix _s4879_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s5055_ (_s5056_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
+ (match _s5056_ with
+ | _s5057_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s5057_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_D, existT _ _s4880_ _) =>
- (match (string_drop _s4879_ _s4880_) with
- | _s4881_ =>
- (spc_matches_prefix _s4881_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_D, existT _ _s5058_ _) =>
+ (match (string_drop _s5057_ _s5058_) with
+ | _s5059_ =>
+ (spc_matches_prefix _s5059_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4882_ _) =>
- (match (string_drop _s4881_ _s4882_) with
- | _s4883_ =>
- (reg_name_matches_prefix _s4883_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5060_ _) =>
+ (match (string_drop _s5059_ _s5060_) with
+ | _s5061_ =>
+ (reg_name_matches_prefix _s5061_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4884_ _) =>
- (match (string_drop _s4883_ _s4884_) with
- | _s4885_ =>
- (sep_matches_prefix _s4885_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5062_ _) =>
+ (match (string_drop _s5061_ _s5062_) with
+ | _s5063_ =>
+ (sep_matches_prefix _s5063_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4886_ _) =>
- (match (string_drop _s4885_ _s4886_) with
- | _s4887_ =>
- (freg_name_matches_prefix _s4887_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5064_ _) =>
+ (match (string_drop _s5063_ _s5064_) with
+ | _s5065_ =>
+ (freg_name_matches_prefix _s5065_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s4888_ _) =>
- let p0_ := string_drop _s4887_ _s4888_ in
+ | Some (rs1, existT _ _s5066_ _) =>
+ let p0_ := string_drop _s5065_ _s5066_ in
if generic_eq p0_ "" then
Some (FCLASS_D, rd, rs1)
else None
@@ -43483,38 +43788,38 @@ Definition _s4877_ (_s4878_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5))).
-Definition _s4864_ (_s4865_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
- (match _s4865_ with
- | _s4866_ =>
- (f_un_type_mnemonic_D_matches_prefix _s4866_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s5042_ (_s5043_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
+ (match _s5043_ with
+ | _s5044_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s5044_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_D_X, existT _ _s4867_ _) =>
- (match (string_drop _s4866_ _s4867_) with
- | _s4868_ =>
- (spc_matches_prefix _s4868_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_D_X, existT _ _s5045_ _) =>
+ (match (string_drop _s5044_ _s5045_) with
+ | _s5046_ =>
+ (spc_matches_prefix _s5046_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4869_ _) =>
- (match (string_drop _s4868_ _s4869_) with
- | _s4870_ =>
- (freg_name_matches_prefix _s4870_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5047_ _) =>
+ (match (string_drop _s5046_ _s5047_) with
+ | _s5048_ =>
+ (freg_name_matches_prefix _s5048_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4871_ _) =>
- (match (string_drop _s4870_ _s4871_) with
- | _s4872_ =>
- (sep_matches_prefix _s4872_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5049_ _) =>
+ (match (string_drop _s5048_ _s5049_) with
+ | _s5050_ =>
+ (sep_matches_prefix _s5050_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4873_ _) =>
- (match (string_drop _s4872_ _s4873_) with
- | _s4874_ =>
- (reg_name_matches_prefix _s4874_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5051_ _) =>
+ (match (string_drop _s5050_ _s5051_) with
+ | _s5052_ =>
+ (reg_name_matches_prefix _s5052_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s4875_ _) =>
- let p0_ := string_drop _s4874_ _s4875_ in
+ | Some (rs1, existT _ _s5053_ _) =>
+ let p0_ := string_drop _s5052_ _s5053_ in
if generic_eq p0_ "" then Some (FMV_D_X, rd, rs1)
else None
| _ => None
@@ -43542,38 +43847,38 @@ Definition _s4864_ (_s4865_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5))).
-Definition _s4851_ (_s4852_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
- (match _s4852_ with
- | _s4853_ =>
- (f_un_type_mnemonic_D_matches_prefix _s4853_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s5029_ (_s5030_ : string) : M (option ((f_un_op_D * mword 5 * mword 5))) :=
+ (match _s5030_ with
+ | _s5031_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s5031_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_D, existT _ _s4854_ _) =>
- (match (string_drop _s4853_ _s4854_) with
- | _s4855_ =>
- (spc_matches_prefix _s4855_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_D, existT _ _s5032_ _) =>
+ (match (string_drop _s5031_ _s5032_) with
+ | _s5033_ =>
+ (spc_matches_prefix _s5033_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4856_ _) =>
- (match (string_drop _s4855_ _s4856_) with
- | _s4857_ =>
- (reg_name_matches_prefix _s4857_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5034_ _) =>
+ (match (string_drop _s5033_ _s5034_) with
+ | _s5035_ =>
+ (reg_name_matches_prefix _s5035_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4858_ _) =>
- (match (string_drop _s4857_ _s4858_) with
- | _s4859_ =>
- (sep_matches_prefix _s4859_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5036_ _) =>
+ (match (string_drop _s5035_ _s5036_) with
+ | _s5037_ =>
+ (sep_matches_prefix _s5037_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4860_ _) =>
- (match (string_drop _s4859_ _s4860_) with
- | _s4861_ =>
- (freg_name_matches_prefix _s4861_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5038_ _) =>
+ (match (string_drop _s5037_ _s5038_) with
+ | _s5039_ =>
+ (freg_name_matches_prefix _s5039_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s4862_ _) =>
- let p0_ := string_drop _s4861_ _s4862_ in
+ | Some (rs1, existT _ _s5040_ _) =>
+ let p0_ := string_drop _s5039_ _s5040_ in
if generic_eq p0_ "" then Some (FMV_X_D, rd, rs1)
else None
| _ => None
@@ -43601,51 +43906,51 @@ Definition _s4851_ (_s4852_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5))).
-Definition _s4834_ (_s4835_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4835_ with
- | _s4836_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4836_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s5012_ (_s5013_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s5013_ with
+ | _s5014_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s5014_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_D, existT _ _s4837_ _) =>
- (match (string_drop _s4836_ _s4837_) with
- | _s4838_ =>
- (spc_matches_prefix _s4838_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_D, existT _ _s5015_ _) =>
+ (match (string_drop _s5014_ _s5015_) with
+ | _s5016_ =>
+ (spc_matches_prefix _s5016_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4839_ _) =>
- (match (string_drop _s4838_ _s4839_) with
- | _s4840_ =>
- (reg_name_matches_prefix _s4840_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5017_ _) =>
+ (match (string_drop _s5016_ _s5017_) with
+ | _s5018_ =>
+ (reg_name_matches_prefix _s5018_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4841_ _) =>
- (match (string_drop _s4840_ _s4841_) with
- | _s4842_ =>
- (sep_matches_prefix _s4842_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5019_ _) =>
+ (match (string_drop _s5018_ _s5019_) with
+ | _s5020_ =>
+ (sep_matches_prefix _s5020_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4843_ _) =>
- (match (string_drop _s4842_ _s4843_) with
- | _s4844_ =>
- (freg_name_matches_prefix _s4844_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5021_ _) =>
+ (match (string_drop _s5020_ _s5021_) with
+ | _s5022_ =>
+ (freg_name_matches_prefix _s5022_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4845_ _) =>
- (match (string_drop _s4844_ _s4845_) with
- | _s4846_ =>
- (sep_matches_prefix _s4846_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5023_ _) =>
+ (match (string_drop _s5022_ _s5023_) with
+ | _s5024_ =>
+ (sep_matches_prefix _s5024_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4847_ _) =>
- (match (string_drop _s4846_ _s4847_) with
- | _s4848_ =>
- (freg_name_matches_prefix _s4848_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5025_ _) =>
+ (match (string_drop _s5024_ _s5025_) with
+ | _s5026_ =>
+ (freg_name_matches_prefix _s5026_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4849_ _) =>
+ | Some (rs2, existT _ _s5027_ _) =>
let p0_ :=
- string_drop _s4848_ _s4849_ in
+ string_drop _s5026_ _s5027_ in
if generic_eq p0_ "" then
Some (FLE_D, rd, rs1, rs2)
else None
@@ -43684,51 +43989,51 @@ Definition _s4834_ (_s4835_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4817_ (_s4818_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4818_ with
- | _s4819_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4819_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s4995_ (_s4996_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s4996_ with
+ | _s4997_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s4997_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_D, existT _ _s4820_ _) =>
- (match (string_drop _s4819_ _s4820_) with
- | _s4821_ =>
- (spc_matches_prefix _s4821_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_D, existT _ _s4998_ _) =>
+ (match (string_drop _s4997_ _s4998_) with
+ | _s4999_ =>
+ (spc_matches_prefix _s4999_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4822_ _) =>
- (match (string_drop _s4821_ _s4822_) with
- | _s4823_ =>
- (reg_name_matches_prefix _s4823_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5000_ _) =>
+ (match (string_drop _s4999_ _s5000_) with
+ | _s5001_ =>
+ (reg_name_matches_prefix _s5001_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4824_ _) =>
- (match (string_drop _s4823_ _s4824_) with
- | _s4825_ =>
- (sep_matches_prefix _s4825_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5002_ _) =>
+ (match (string_drop _s5001_ _s5002_) with
+ | _s5003_ =>
+ (sep_matches_prefix _s5003_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4826_ _) =>
- (match (string_drop _s4825_ _s4826_) with
- | _s4827_ =>
- (freg_name_matches_prefix _s4827_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5004_ _) =>
+ (match (string_drop _s5003_ _s5004_) with
+ | _s5005_ =>
+ (freg_name_matches_prefix _s5005_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4828_ _) =>
- (match (string_drop _s4827_ _s4828_) with
- | _s4829_ =>
- (sep_matches_prefix _s4829_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5006_ _) =>
+ (match (string_drop _s5005_ _s5006_) with
+ | _s5007_ =>
+ (sep_matches_prefix _s5007_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4830_ _) =>
- (match (string_drop _s4829_ _s4830_) with
- | _s4831_ =>
- (freg_name_matches_prefix _s4831_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5008_ _) =>
+ (match (string_drop _s5007_ _s5008_) with
+ | _s5009_ =>
+ (freg_name_matches_prefix _s5009_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4832_ _) =>
+ | Some (rs2, existT _ _s5010_ _) =>
let p0_ :=
- string_drop _s4831_ _s4832_ in
+ string_drop _s5009_ _s5010_ in
if generic_eq p0_ "" then
Some (FLT_D, rd, rs1, rs2)
else None
@@ -43767,51 +44072,51 @@ Definition _s4817_ (_s4818_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4800_ (_s4801_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4801_ with
- | _s4802_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4802_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s4978_ (_s4979_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s4979_ with
+ | _s4980_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s4980_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_D, existT _ _s4803_ _) =>
- (match (string_drop _s4802_ _s4803_) with
- | _s4804_ =>
- (spc_matches_prefix _s4804_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_D, existT _ _s4981_ _) =>
+ (match (string_drop _s4980_ _s4981_) with
+ | _s4982_ =>
+ (spc_matches_prefix _s4982_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4805_ _) =>
- (match (string_drop _s4804_ _s4805_) with
- | _s4806_ =>
- (reg_name_matches_prefix _s4806_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4983_ _) =>
+ (match (string_drop _s4982_ _s4983_) with
+ | _s4984_ =>
+ (reg_name_matches_prefix _s4984_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4807_ _) =>
- (match (string_drop _s4806_ _s4807_) with
- | _s4808_ =>
- (sep_matches_prefix _s4808_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4985_ _) =>
+ (match (string_drop _s4984_ _s4985_) with
+ | _s4986_ =>
+ (sep_matches_prefix _s4986_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4809_ _) =>
- (match (string_drop _s4808_ _s4809_) with
- | _s4810_ =>
- (freg_name_matches_prefix _s4810_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4987_ _) =>
+ (match (string_drop _s4986_ _s4987_) with
+ | _s4988_ =>
+ (freg_name_matches_prefix _s4988_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4811_ _) =>
- (match (string_drop _s4810_ _s4811_) with
- | _s4812_ =>
- (sep_matches_prefix _s4812_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4989_ _) =>
+ (match (string_drop _s4988_ _s4989_) with
+ | _s4990_ =>
+ (sep_matches_prefix _s4990_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4813_ _) =>
- (match (string_drop _s4812_ _s4813_) with
- | _s4814_ =>
- (freg_name_matches_prefix _s4814_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4991_ _) =>
+ (match (string_drop _s4990_ _s4991_) with
+ | _s4992_ =>
+ (freg_name_matches_prefix _s4992_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4815_ _) =>
+ | Some (rs2, existT _ _s4993_ _) =>
let p0_ :=
- string_drop _s4814_ _s4815_ in
+ string_drop _s4992_ _s4993_ in
if generic_eq p0_ "" then
Some (FEQ_D, rd, rs1, rs2)
else None
@@ -43850,51 +44155,51 @@ Definition _s4800_ (_s4801_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4783_ (_s4784_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4784_ with
- | _s4785_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4785_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s4961_ (_s4962_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s4962_ with
+ | _s4963_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s4963_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_D, existT _ _s4786_ _) =>
- (match (string_drop _s4785_ _s4786_) with
- | _s4787_ =>
- (spc_matches_prefix _s4787_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_D, existT _ _s4964_ _) =>
+ (match (string_drop _s4963_ _s4964_) with
+ | _s4965_ =>
+ (spc_matches_prefix _s4965_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4788_ _) =>
- (match (string_drop _s4787_ _s4788_) with
- | _s4789_ =>
- (freg_name_matches_prefix _s4789_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4966_ _) =>
+ (match (string_drop _s4965_ _s4966_) with
+ | _s4967_ =>
+ (freg_name_matches_prefix _s4967_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4790_ _) =>
- (match (string_drop _s4789_ _s4790_) with
- | _s4791_ =>
- (sep_matches_prefix _s4791_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4968_ _) =>
+ (match (string_drop _s4967_ _s4968_) with
+ | _s4969_ =>
+ (sep_matches_prefix _s4969_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4792_ _) =>
- (match (string_drop _s4791_ _s4792_) with
- | _s4793_ =>
- (freg_name_matches_prefix _s4793_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4970_ _) =>
+ (match (string_drop _s4969_ _s4970_) with
+ | _s4971_ =>
+ (freg_name_matches_prefix _s4971_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4794_ _) =>
- (match (string_drop _s4793_ _s4794_) with
- | _s4795_ =>
- (sep_matches_prefix _s4795_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4972_ _) =>
+ (match (string_drop _s4971_ _s4972_) with
+ | _s4973_ =>
+ (sep_matches_prefix _s4973_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4796_ _) =>
- (match (string_drop _s4795_ _s4796_) with
- | _s4797_ =>
- (freg_name_matches_prefix _s4797_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4974_ _) =>
+ (match (string_drop _s4973_ _s4974_) with
+ | _s4975_ =>
+ (freg_name_matches_prefix _s4975_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4798_ _) =>
+ | Some (rs2, existT _ _s4976_ _) =>
let p0_ :=
- string_drop _s4797_ _s4798_ in
+ string_drop _s4975_ _s4976_ in
if generic_eq p0_ "" then
Some (FMAX_D, rd, rs1, rs2)
else None
@@ -43933,51 +44238,51 @@ Definition _s4783_ (_s4784_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4766_ (_s4767_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4767_ with
- | _s4768_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4768_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s4944_ (_s4945_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s4945_ with
+ | _s4946_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s4946_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_D, existT _ _s4769_ _) =>
- (match (string_drop _s4768_ _s4769_) with
- | _s4770_ =>
- (spc_matches_prefix _s4770_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_D, existT _ _s4947_ _) =>
+ (match (string_drop _s4946_ _s4947_) with
+ | _s4948_ =>
+ (spc_matches_prefix _s4948_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4771_ _) =>
- (match (string_drop _s4770_ _s4771_) with
- | _s4772_ =>
- (freg_name_matches_prefix _s4772_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4949_ _) =>
+ (match (string_drop _s4948_ _s4949_) with
+ | _s4950_ =>
+ (freg_name_matches_prefix _s4950_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4773_ _) =>
- (match (string_drop _s4772_ _s4773_) with
- | _s4774_ =>
- (sep_matches_prefix _s4774_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4951_ _) =>
+ (match (string_drop _s4950_ _s4951_) with
+ | _s4952_ =>
+ (sep_matches_prefix _s4952_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4775_ _) =>
- (match (string_drop _s4774_ _s4775_) with
- | _s4776_ =>
- (freg_name_matches_prefix _s4776_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4953_ _) =>
+ (match (string_drop _s4952_ _s4953_) with
+ | _s4954_ =>
+ (freg_name_matches_prefix _s4954_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4777_ _) =>
- (match (string_drop _s4776_ _s4777_) with
- | _s4778_ =>
- (sep_matches_prefix _s4778_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4955_ _) =>
+ (match (string_drop _s4954_ _s4955_) with
+ | _s4956_ =>
+ (sep_matches_prefix _s4956_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4779_ _) =>
- (match (string_drop _s4778_ _s4779_) with
- | _s4780_ =>
- (freg_name_matches_prefix _s4780_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4957_ _) =>
+ (match (string_drop _s4956_ _s4957_) with
+ | _s4958_ =>
+ (freg_name_matches_prefix _s4958_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4781_ _) =>
+ | Some (rs2, existT _ _s4959_ _) =>
let p0_ :=
- string_drop _s4780_ _s4781_ in
+ string_drop _s4958_ _s4959_ in
if generic_eq p0_ "" then
Some (FMIN_D, rd, rs1, rs2)
else None
@@ -44016,51 +44321,51 @@ Definition _s4766_ (_s4767_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4749_ (_s4750_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4750_ with
- | _s4751_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4751_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s4927_ (_s4928_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s4928_ with
+ | _s4929_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s4929_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_D, existT _ _s4752_ _) =>
- (match (string_drop _s4751_ _s4752_) with
- | _s4753_ =>
- (spc_matches_prefix _s4753_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_D, existT _ _s4930_ _) =>
+ (match (string_drop _s4929_ _s4930_) with
+ | _s4931_ =>
+ (spc_matches_prefix _s4931_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4754_ _) =>
- (match (string_drop _s4753_ _s4754_) with
- | _s4755_ =>
- (freg_name_matches_prefix _s4755_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4932_ _) =>
+ (match (string_drop _s4931_ _s4932_) with
+ | _s4933_ =>
+ (freg_name_matches_prefix _s4933_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4756_ _) =>
- (match (string_drop _s4755_ _s4756_) with
- | _s4757_ =>
- (sep_matches_prefix _s4757_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4934_ _) =>
+ (match (string_drop _s4933_ _s4934_) with
+ | _s4935_ =>
+ (sep_matches_prefix _s4935_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4758_ _) =>
- (match (string_drop _s4757_ _s4758_) with
- | _s4759_ =>
- (freg_name_matches_prefix _s4759_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4936_ _) =>
+ (match (string_drop _s4935_ _s4936_) with
+ | _s4937_ =>
+ (freg_name_matches_prefix _s4937_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4760_ _) =>
- (match (string_drop _s4759_ _s4760_) with
- | _s4761_ =>
- (sep_matches_prefix _s4761_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4938_ _) =>
+ (match (string_drop _s4937_ _s4938_) with
+ | _s4939_ =>
+ (sep_matches_prefix _s4939_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4762_ _) =>
- (match (string_drop _s4761_ _s4762_) with
- | _s4763_ =>
- (freg_name_matches_prefix _s4763_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4940_ _) =>
+ (match (string_drop _s4939_ _s4940_) with
+ | _s4941_ =>
+ (freg_name_matches_prefix _s4941_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4764_ _) =>
+ | Some (rs2, existT _ _s4942_ _) =>
let p0_ :=
- string_drop _s4763_ _s4764_ in
+ string_drop _s4941_ _s4942_ in
if generic_eq p0_ "" then
Some (FSGNJX_D, rd, rs1, rs2)
else None
@@ -44099,51 +44404,51 @@ Definition _s4749_ (_s4750_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4732_ (_s4733_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4733_ with
- | _s4734_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4734_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s4910_ (_s4911_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s4911_ with
+ | _s4912_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s4912_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_D, existT _ _s4735_ _) =>
- (match (string_drop _s4734_ _s4735_) with
- | _s4736_ =>
- (spc_matches_prefix _s4736_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_D, existT _ _s4913_ _) =>
+ (match (string_drop _s4912_ _s4913_) with
+ | _s4914_ =>
+ (spc_matches_prefix _s4914_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4737_ _) =>
- (match (string_drop _s4736_ _s4737_) with
- | _s4738_ =>
- (freg_name_matches_prefix _s4738_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4915_ _) =>
+ (match (string_drop _s4914_ _s4915_) with
+ | _s4916_ =>
+ (freg_name_matches_prefix _s4916_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4739_ _) =>
- (match (string_drop _s4738_ _s4739_) with
- | _s4740_ =>
- (sep_matches_prefix _s4740_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4917_ _) =>
+ (match (string_drop _s4916_ _s4917_) with
+ | _s4918_ =>
+ (sep_matches_prefix _s4918_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4741_ _) =>
- (match (string_drop _s4740_ _s4741_) with
- | _s4742_ =>
- (freg_name_matches_prefix _s4742_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4919_ _) =>
+ (match (string_drop _s4918_ _s4919_) with
+ | _s4920_ =>
+ (freg_name_matches_prefix _s4920_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4743_ _) =>
- (match (string_drop _s4742_ _s4743_) with
- | _s4744_ =>
- (sep_matches_prefix _s4744_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4921_ _) =>
+ (match (string_drop _s4920_ _s4921_) with
+ | _s4922_ =>
+ (sep_matches_prefix _s4922_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4745_ _) =>
- (match (string_drop _s4744_ _s4745_) with
- | _s4746_ =>
- (freg_name_matches_prefix _s4746_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4923_ _) =>
+ (match (string_drop _s4922_ _s4923_) with
+ | _s4924_ =>
+ (freg_name_matches_prefix _s4924_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4747_ _) =>
+ | Some (rs2, existT _ _s4925_ _) =>
let p0_ :=
- string_drop _s4746_ _s4747_ in
+ string_drop _s4924_ _s4925_ in
if generic_eq p0_ "" then
Some (FSGNJN_D, rd, rs1, rs2)
else None
@@ -44182,51 +44487,51 @@ Definition _s4732_ (_s4733_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4715_ (_s4716_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
- (match _s4716_ with
- | _s4717_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s4717_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+Definition _s4893_ (_s4894_ : string) : M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))) :=
+ (match _s4894_ with
+ | _s4895_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s4895_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_D, existT _ _s4718_ _) =>
- (match (string_drop _s4717_ _s4718_) with
- | _s4719_ =>
- (spc_matches_prefix _s4719_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_D, existT _ _s4896_ _) =>
+ (match (string_drop _s4895_ _s4896_) with
+ | _s4897_ =>
+ (spc_matches_prefix _s4897_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4720_ _) =>
- (match (string_drop _s4719_ _s4720_) with
- | _s4721_ =>
- (freg_name_matches_prefix _s4721_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4898_ _) =>
+ (match (string_drop _s4897_ _s4898_) with
+ | _s4899_ =>
+ (freg_name_matches_prefix _s4899_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4722_ _) =>
- (match (string_drop _s4721_ _s4722_) with
- | _s4723_ =>
- (sep_matches_prefix _s4723_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4900_ _) =>
+ (match (string_drop _s4899_ _s4900_) with
+ | _s4901_ =>
+ (sep_matches_prefix _s4901_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4724_ _) =>
- (match (string_drop _s4723_ _s4724_) with
- | _s4725_ =>
- (freg_name_matches_prefix _s4725_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4902_ _) =>
+ (match (string_drop _s4901_ _s4902_) with
+ | _s4903_ =>
+ (freg_name_matches_prefix _s4903_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4726_ _) =>
- (match (string_drop _s4725_ _s4726_) with
- | _s4727_ =>
- (sep_matches_prefix _s4727_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4904_ _) =>
+ (match (string_drop _s4903_ _s4904_) with
+ | _s4905_ =>
+ (sep_matches_prefix _s4905_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4728_ _) =>
- (match (string_drop _s4727_ _s4728_) with
- | _s4729_ =>
- (freg_name_matches_prefix _s4729_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4906_ _) =>
+ (match (string_drop _s4905_ _s4906_) with
+ | _s4907_ =>
+ (freg_name_matches_prefix _s4907_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4730_ _) =>
+ | Some (rs2, existT _ _s4908_ _) =>
let p0_ :=
- string_drop _s4729_ _s4730_ in
+ string_drop _s4907_ _s4908_ in
if generic_eq p0_ "" then
Some (FSGNJ_D, rd, rs1, rs2)
else None
@@ -44265,52 +44570,52 @@ Definition _s4715_ (_s4716_ : string) : M (option ((f_bin_op_D * mword 5 * mword
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5))).
-Definition _s4698_ (_s4699_ : string)
+Definition _s4876_ (_s4877_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4699_ with
- | _s4700_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4700_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4877_ with
+ | _s4878_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4878_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_S, existT _ _s4701_ _) =>
- (match (string_drop _s4700_ _s4701_) with
- | _s4702_ =>
- (spc_matches_prefix _s4702_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_S, existT _ _s4879_ _) =>
+ (match (string_drop _s4878_ _s4879_) with
+ | _s4880_ =>
+ (spc_matches_prefix _s4880_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4703_ _) =>
- (match (string_drop _s4702_ _s4703_) with
- | _s4704_ =>
- (freg_name_matches_prefix _s4704_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4881_ _) =>
+ (match (string_drop _s4880_ _s4881_) with
+ | _s4882_ =>
+ (freg_name_matches_prefix _s4882_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4705_ _) =>
- (match (string_drop _s4704_ _s4705_) with
- | _s4706_ =>
- (sep_matches_prefix _s4706_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4883_ _) =>
+ (match (string_drop _s4882_ _s4883_) with
+ | _s4884_ =>
+ (sep_matches_prefix _s4884_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4707_ _) =>
- (match (string_drop _s4706_ _s4707_) with
- | _s4708_ =>
- (freg_name_matches_prefix _s4708_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4885_ _) =>
+ (match (string_drop _s4884_ _s4885_) with
+ | _s4886_ =>
+ (freg_name_matches_prefix _s4886_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4709_ _) =>
- (match (string_drop _s4708_ _s4709_) with
- | _s4710_ =>
- (sep_matches_prefix _s4710_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4887_ _) =>
+ (match (string_drop _s4886_ _s4887_) with
+ | _s4888_ =>
+ (sep_matches_prefix _s4888_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4711_ _) =>
- (match (string_drop _s4710_ _s4711_) with
- | _s4712_ =>
- (frm_mnemonic_matches_prefix _s4712_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4889_ _) =>
+ (match (string_drop _s4888_ _s4889_) with
+ | _s4890_ =>
+ (frm_mnemonic_matches_prefix _s4890_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4713_ _) =>
+ | Some (rm, existT _ _s4891_ _) =>
let p0_ :=
- string_drop _s4712_ _s4713_ in
+ string_drop _s4890_ _s4891_ in
if generic_eq p0_ "" then
Some (FCVT_D_S, rd, rs1, rm)
else None
@@ -44349,52 +44654,52 @@ Definition _s4698_ (_s4699_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4681_ (_s4682_ : string)
+Definition _s4859_ (_s4860_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4682_ with
- | _s4683_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4683_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4860_ with
+ | _s4861_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4861_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_D, existT _ _s4684_ _) =>
- (match (string_drop _s4683_ _s4684_) with
- | _s4685_ =>
- (spc_matches_prefix _s4685_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_D, existT _ _s4862_ _) =>
+ (match (string_drop _s4861_ _s4862_) with
+ | _s4863_ =>
+ (spc_matches_prefix _s4863_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4686_ _) =>
- (match (string_drop _s4685_ _s4686_) with
- | _s4687_ =>
- (freg_name_matches_prefix _s4687_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4864_ _) =>
+ (match (string_drop _s4863_ _s4864_) with
+ | _s4865_ =>
+ (freg_name_matches_prefix _s4865_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4688_ _) =>
- (match (string_drop _s4687_ _s4688_) with
- | _s4689_ =>
- (sep_matches_prefix _s4689_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4866_ _) =>
+ (match (string_drop _s4865_ _s4866_) with
+ | _s4867_ =>
+ (sep_matches_prefix _s4867_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4690_ _) =>
- (match (string_drop _s4689_ _s4690_) with
- | _s4691_ =>
- (freg_name_matches_prefix _s4691_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4868_ _) =>
+ (match (string_drop _s4867_ _s4868_) with
+ | _s4869_ =>
+ (freg_name_matches_prefix _s4869_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4692_ _) =>
- (match (string_drop _s4691_ _s4692_) with
- | _s4693_ =>
- (sep_matches_prefix _s4693_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4870_ _) =>
+ (match (string_drop _s4869_ _s4870_) with
+ | _s4871_ =>
+ (sep_matches_prefix _s4871_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4694_ _) =>
- (match (string_drop _s4693_ _s4694_) with
- | _s4695_ =>
- (frm_mnemonic_matches_prefix _s4695_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4872_ _) =>
+ (match (string_drop _s4871_ _s4872_) with
+ | _s4873_ =>
+ (frm_mnemonic_matches_prefix _s4873_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4696_ _) =>
+ | Some (rm, existT _ _s4874_ _) =>
let p0_ :=
- string_drop _s4695_ _s4696_ in
+ string_drop _s4873_ _s4874_ in
if generic_eq p0_ "" then
Some (FCVT_S_D, rd, rs1, rm)
else None
@@ -44433,52 +44738,52 @@ Definition _s4681_ (_s4682_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4664_ (_s4665_ : string)
+Definition _s4842_ (_s4843_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4665_ with
- | _s4666_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4666_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4843_ with
+ | _s4844_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4844_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_LU, existT _ _s4667_ _) =>
- (match (string_drop _s4666_ _s4667_) with
- | _s4668_ =>
- (spc_matches_prefix _s4668_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_LU, existT _ _s4845_ _) =>
+ (match (string_drop _s4844_ _s4845_) with
+ | _s4846_ =>
+ (spc_matches_prefix _s4846_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4669_ _) =>
- (match (string_drop _s4668_ _s4669_) with
- | _s4670_ =>
- (freg_name_matches_prefix _s4670_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4847_ _) =>
+ (match (string_drop _s4846_ _s4847_) with
+ | _s4848_ =>
+ (freg_name_matches_prefix _s4848_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4671_ _) =>
- (match (string_drop _s4670_ _s4671_) with
- | _s4672_ =>
- (sep_matches_prefix _s4672_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4849_ _) =>
+ (match (string_drop _s4848_ _s4849_) with
+ | _s4850_ =>
+ (sep_matches_prefix _s4850_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4673_ _) =>
- (match (string_drop _s4672_ _s4673_) with
- | _s4674_ =>
- (reg_name_matches_prefix _s4674_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4851_ _) =>
+ (match (string_drop _s4850_ _s4851_) with
+ | _s4852_ =>
+ (reg_name_matches_prefix _s4852_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4675_ _) =>
- (match (string_drop _s4674_ _s4675_) with
- | _s4676_ =>
- (sep_matches_prefix _s4676_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4853_ _) =>
+ (match (string_drop _s4852_ _s4853_) with
+ | _s4854_ =>
+ (sep_matches_prefix _s4854_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4677_ _) =>
- (match (string_drop _s4676_ _s4677_) with
- | _s4678_ =>
- (frm_mnemonic_matches_prefix _s4678_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4855_ _) =>
+ (match (string_drop _s4854_ _s4855_) with
+ | _s4856_ =>
+ (frm_mnemonic_matches_prefix _s4856_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4679_ _) =>
+ | Some (rm, existT _ _s4857_ _) =>
let p0_ :=
- string_drop _s4678_ _s4679_ in
+ string_drop _s4856_ _s4857_ in
if generic_eq p0_ "" then
Some (FCVT_D_LU, rd, rs1, rm)
else None
@@ -44517,52 +44822,52 @@ Definition _s4664_ (_s4665_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4647_ (_s4648_ : string)
+Definition _s4825_ (_s4826_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4648_ with
- | _s4649_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4649_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4826_ with
+ | _s4827_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4827_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_L, existT _ _s4650_ _) =>
- (match (string_drop _s4649_ _s4650_) with
- | _s4651_ =>
- (spc_matches_prefix _s4651_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_L, existT _ _s4828_ _) =>
+ (match (string_drop _s4827_ _s4828_) with
+ | _s4829_ =>
+ (spc_matches_prefix _s4829_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4652_ _) =>
- (match (string_drop _s4651_ _s4652_) with
- | _s4653_ =>
- (freg_name_matches_prefix _s4653_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4830_ _) =>
+ (match (string_drop _s4829_ _s4830_) with
+ | _s4831_ =>
+ (freg_name_matches_prefix _s4831_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4654_ _) =>
- (match (string_drop _s4653_ _s4654_) with
- | _s4655_ =>
- (sep_matches_prefix _s4655_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4832_ _) =>
+ (match (string_drop _s4831_ _s4832_) with
+ | _s4833_ =>
+ (sep_matches_prefix _s4833_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4656_ _) =>
- (match (string_drop _s4655_ _s4656_) with
- | _s4657_ =>
- (reg_name_matches_prefix _s4657_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4834_ _) =>
+ (match (string_drop _s4833_ _s4834_) with
+ | _s4835_ =>
+ (reg_name_matches_prefix _s4835_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4658_ _) =>
- (match (string_drop _s4657_ _s4658_) with
- | _s4659_ =>
- (sep_matches_prefix _s4659_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4836_ _) =>
+ (match (string_drop _s4835_ _s4836_) with
+ | _s4837_ =>
+ (sep_matches_prefix _s4837_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4660_ _) =>
- (match (string_drop _s4659_ _s4660_) with
- | _s4661_ =>
- (frm_mnemonic_matches_prefix _s4661_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4838_ _) =>
+ (match (string_drop _s4837_ _s4838_) with
+ | _s4839_ =>
+ (frm_mnemonic_matches_prefix _s4839_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4662_ _) =>
+ | Some (rm, existT _ _s4840_ _) =>
let p0_ :=
- string_drop _s4661_ _s4662_ in
+ string_drop _s4839_ _s4840_ in
if generic_eq p0_ "" then
Some (FCVT_D_L, rd, rs1, rm)
else None
@@ -44601,52 +44906,52 @@ Definition _s4647_ (_s4648_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4630_ (_s4631_ : string)
+Definition _s4808_ (_s4809_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4631_ with
- | _s4632_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4632_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4809_ with
+ | _s4810_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4810_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_D, existT _ _s4633_ _) =>
- (match (string_drop _s4632_ _s4633_) with
- | _s4634_ =>
- (spc_matches_prefix _s4634_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_D, existT _ _s4811_ _) =>
+ (match (string_drop _s4810_ _s4811_) with
+ | _s4812_ =>
+ (spc_matches_prefix _s4812_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4635_ _) =>
- (match (string_drop _s4634_ _s4635_) with
- | _s4636_ =>
- (reg_name_matches_prefix _s4636_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4813_ _) =>
+ (match (string_drop _s4812_ _s4813_) with
+ | _s4814_ =>
+ (reg_name_matches_prefix _s4814_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4637_ _) =>
- (match (string_drop _s4636_ _s4637_) with
- | _s4638_ =>
- (sep_matches_prefix _s4638_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4815_ _) =>
+ (match (string_drop _s4814_ _s4815_) with
+ | _s4816_ =>
+ (sep_matches_prefix _s4816_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4639_ _) =>
- (match (string_drop _s4638_ _s4639_) with
- | _s4640_ =>
- (freg_name_matches_prefix _s4640_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4817_ _) =>
+ (match (string_drop _s4816_ _s4817_) with
+ | _s4818_ =>
+ (freg_name_matches_prefix _s4818_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4641_ _) =>
- (match (string_drop _s4640_ _s4641_) with
- | _s4642_ =>
- (sep_matches_prefix _s4642_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4819_ _) =>
+ (match (string_drop _s4818_ _s4819_) with
+ | _s4820_ =>
+ (sep_matches_prefix _s4820_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4643_ _) =>
- (match (string_drop _s4642_ _s4643_) with
- | _s4644_ =>
- (frm_mnemonic_matches_prefix _s4644_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4821_ _) =>
+ (match (string_drop _s4820_ _s4821_) with
+ | _s4822_ =>
+ (frm_mnemonic_matches_prefix _s4822_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4645_ _) =>
+ | Some (rm, existT _ _s4823_ _) =>
let p0_ :=
- string_drop _s4644_ _s4645_ in
+ string_drop _s4822_ _s4823_ in
if generic_eq p0_ "" then
Some (FCVT_LU_D, rd, rs1, rm)
else None
@@ -44685,52 +44990,52 @@ Definition _s4630_ (_s4631_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4613_ (_s4614_ : string)
+Definition _s4791_ (_s4792_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4614_ with
- | _s4615_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4615_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4792_ with
+ | _s4793_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4793_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_D, existT _ _s4616_ _) =>
- (match (string_drop _s4615_ _s4616_) with
- | _s4617_ =>
- (spc_matches_prefix _s4617_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_D, existT _ _s4794_ _) =>
+ (match (string_drop _s4793_ _s4794_) with
+ | _s4795_ =>
+ (spc_matches_prefix _s4795_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4618_ _) =>
- (match (string_drop _s4617_ _s4618_) with
- | _s4619_ =>
- (reg_name_matches_prefix _s4619_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4796_ _) =>
+ (match (string_drop _s4795_ _s4796_) with
+ | _s4797_ =>
+ (reg_name_matches_prefix _s4797_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4620_ _) =>
- (match (string_drop _s4619_ _s4620_) with
- | _s4621_ =>
- (sep_matches_prefix _s4621_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4798_ _) =>
+ (match (string_drop _s4797_ _s4798_) with
+ | _s4799_ =>
+ (sep_matches_prefix _s4799_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4622_ _) =>
- (match (string_drop _s4621_ _s4622_) with
- | _s4623_ =>
- (freg_name_matches_prefix _s4623_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4800_ _) =>
+ (match (string_drop _s4799_ _s4800_) with
+ | _s4801_ =>
+ (freg_name_matches_prefix _s4801_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4624_ _) =>
- (match (string_drop _s4623_ _s4624_) with
- | _s4625_ =>
- (sep_matches_prefix _s4625_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4802_ _) =>
+ (match (string_drop _s4801_ _s4802_) with
+ | _s4803_ =>
+ (sep_matches_prefix _s4803_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4626_ _) =>
- (match (string_drop _s4625_ _s4626_) with
- | _s4627_ =>
- (frm_mnemonic_matches_prefix _s4627_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4804_ _) =>
+ (match (string_drop _s4803_ _s4804_) with
+ | _s4805_ =>
+ (frm_mnemonic_matches_prefix _s4805_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4628_ _) =>
+ | Some (rm, existT _ _s4806_ _) =>
let p0_ :=
- string_drop _s4627_ _s4628_ in
+ string_drop _s4805_ _s4806_ in
if generic_eq p0_ "" then
Some (FCVT_L_D, rd, rs1, rm)
else None
@@ -44769,52 +45074,52 @@ Definition _s4613_ (_s4614_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4596_ (_s4597_ : string)
+Definition _s4774_ (_s4775_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4597_ with
- | _s4598_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4598_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4775_ with
+ | _s4776_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4776_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_WU, existT _ _s4599_ _) =>
- (match (string_drop _s4598_ _s4599_) with
- | _s4600_ =>
- (spc_matches_prefix _s4600_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_WU, existT _ _s4777_ _) =>
+ (match (string_drop _s4776_ _s4777_) with
+ | _s4778_ =>
+ (spc_matches_prefix _s4778_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4601_ _) =>
- (match (string_drop _s4600_ _s4601_) with
- | _s4602_ =>
- (freg_name_matches_prefix _s4602_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4779_ _) =>
+ (match (string_drop _s4778_ _s4779_) with
+ | _s4780_ =>
+ (freg_name_matches_prefix _s4780_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4603_ _) =>
- (match (string_drop _s4602_ _s4603_) with
- | _s4604_ =>
- (sep_matches_prefix _s4604_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4781_ _) =>
+ (match (string_drop _s4780_ _s4781_) with
+ | _s4782_ =>
+ (sep_matches_prefix _s4782_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4605_ _) =>
- (match (string_drop _s4604_ _s4605_) with
- | _s4606_ =>
- (reg_name_matches_prefix _s4606_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4783_ _) =>
+ (match (string_drop _s4782_ _s4783_) with
+ | _s4784_ =>
+ (reg_name_matches_prefix _s4784_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4607_ _) =>
- (match (string_drop _s4606_ _s4607_) with
- | _s4608_ =>
- (sep_matches_prefix _s4608_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4785_ _) =>
+ (match (string_drop _s4784_ _s4785_) with
+ | _s4786_ =>
+ (sep_matches_prefix _s4786_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4609_ _) =>
- (match (string_drop _s4608_ _s4609_) with
- | _s4610_ =>
- (frm_mnemonic_matches_prefix _s4610_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4787_ _) =>
+ (match (string_drop _s4786_ _s4787_) with
+ | _s4788_ =>
+ (frm_mnemonic_matches_prefix _s4788_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4611_ _) =>
+ | Some (rm, existT _ _s4789_ _) =>
let p0_ :=
- string_drop _s4610_ _s4611_ in
+ string_drop _s4788_ _s4789_ in
if generic_eq p0_ "" then
Some (FCVT_D_WU, rd, rs1, rm)
else None
@@ -44853,52 +45158,52 @@ Definition _s4596_ (_s4597_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4579_ (_s4580_ : string)
+Definition _s4757_ (_s4758_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4580_ with
- | _s4581_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4581_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4758_ with
+ | _s4759_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4759_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_W, existT _ _s4582_ _) =>
- (match (string_drop _s4581_ _s4582_) with
- | _s4583_ =>
- (spc_matches_prefix _s4583_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_W, existT _ _s4760_ _) =>
+ (match (string_drop _s4759_ _s4760_) with
+ | _s4761_ =>
+ (spc_matches_prefix _s4761_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4584_ _) =>
- (match (string_drop _s4583_ _s4584_) with
- | _s4585_ =>
- (freg_name_matches_prefix _s4585_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4762_ _) =>
+ (match (string_drop _s4761_ _s4762_) with
+ | _s4763_ =>
+ (freg_name_matches_prefix _s4763_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4586_ _) =>
- (match (string_drop _s4585_ _s4586_) with
- | _s4587_ =>
- (sep_matches_prefix _s4587_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4764_ _) =>
+ (match (string_drop _s4763_ _s4764_) with
+ | _s4765_ =>
+ (sep_matches_prefix _s4765_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4588_ _) =>
- (match (string_drop _s4587_ _s4588_) with
- | _s4589_ =>
- (reg_name_matches_prefix _s4589_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4766_ _) =>
+ (match (string_drop _s4765_ _s4766_) with
+ | _s4767_ =>
+ (reg_name_matches_prefix _s4767_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4590_ _) =>
- (match (string_drop _s4589_ _s4590_) with
- | _s4591_ =>
- (sep_matches_prefix _s4591_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4768_ _) =>
+ (match (string_drop _s4767_ _s4768_) with
+ | _s4769_ =>
+ (sep_matches_prefix _s4769_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4592_ _) =>
- (match (string_drop _s4591_ _s4592_) with
- | _s4593_ =>
- (frm_mnemonic_matches_prefix _s4593_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4770_ _) =>
+ (match (string_drop _s4769_ _s4770_) with
+ | _s4771_ =>
+ (frm_mnemonic_matches_prefix _s4771_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4594_ _) =>
+ | Some (rm, existT _ _s4772_ _) =>
let p0_ :=
- string_drop _s4593_ _s4594_ in
+ string_drop _s4771_ _s4772_ in
if generic_eq p0_ "" then
Some (FCVT_D_W, rd, rs1, rm)
else None
@@ -44937,52 +45242,52 @@ Definition _s4579_ (_s4580_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4562_ (_s4563_ : string)
+Definition _s4740_ (_s4741_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4563_ with
- | _s4564_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4564_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4741_ with
+ | _s4742_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4742_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_D, existT _ _s4565_ _) =>
- (match (string_drop _s4564_ _s4565_) with
- | _s4566_ =>
- (spc_matches_prefix _s4566_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_D, existT _ _s4743_ _) =>
+ (match (string_drop _s4742_ _s4743_) with
+ | _s4744_ =>
+ (spc_matches_prefix _s4744_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4567_ _) =>
- (match (string_drop _s4566_ _s4567_) with
- | _s4568_ =>
- (reg_name_matches_prefix _s4568_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4745_ _) =>
+ (match (string_drop _s4744_ _s4745_) with
+ | _s4746_ =>
+ (reg_name_matches_prefix _s4746_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4569_ _) =>
- (match (string_drop _s4568_ _s4569_) with
- | _s4570_ =>
- (sep_matches_prefix _s4570_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4747_ _) =>
+ (match (string_drop _s4746_ _s4747_) with
+ | _s4748_ =>
+ (sep_matches_prefix _s4748_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4571_ _) =>
- (match (string_drop _s4570_ _s4571_) with
- | _s4572_ =>
- (freg_name_matches_prefix _s4572_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4749_ _) =>
+ (match (string_drop _s4748_ _s4749_) with
+ | _s4750_ =>
+ (freg_name_matches_prefix _s4750_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4573_ _) =>
- (match (string_drop _s4572_ _s4573_) with
- | _s4574_ =>
- (sep_matches_prefix _s4574_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4751_ _) =>
+ (match (string_drop _s4750_ _s4751_) with
+ | _s4752_ =>
+ (sep_matches_prefix _s4752_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4575_ _) =>
- (match (string_drop _s4574_ _s4575_) with
- | _s4576_ =>
- (frm_mnemonic_matches_prefix _s4576_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4753_ _) =>
+ (match (string_drop _s4752_ _s4753_) with
+ | _s4754_ =>
+ (frm_mnemonic_matches_prefix _s4754_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4577_ _) =>
+ | Some (rm, existT _ _s4755_ _) =>
let p0_ :=
- string_drop _s4576_ _s4577_ in
+ string_drop _s4754_ _s4755_ in
if generic_eq p0_ "" then
Some (FCVT_WU_D, rd, rs1, rm)
else None
@@ -45021,52 +45326,52 @@ Definition _s4562_ (_s4563_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4545_ (_s4546_ : string)
+Definition _s4723_ (_s4724_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4546_ with
- | _s4547_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4547_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4724_ with
+ | _s4725_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4725_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_D, existT _ _s4548_ _) =>
- (match (string_drop _s4547_ _s4548_) with
- | _s4549_ =>
- (spc_matches_prefix _s4549_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_D, existT _ _s4726_ _) =>
+ (match (string_drop _s4725_ _s4726_) with
+ | _s4727_ =>
+ (spc_matches_prefix _s4727_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4550_ _) =>
- (match (string_drop _s4549_ _s4550_) with
- | _s4551_ =>
- (reg_name_matches_prefix _s4551_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4728_ _) =>
+ (match (string_drop _s4727_ _s4728_) with
+ | _s4729_ =>
+ (reg_name_matches_prefix _s4729_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4552_ _) =>
- (match (string_drop _s4551_ _s4552_) with
- | _s4553_ =>
- (sep_matches_prefix _s4553_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4730_ _) =>
+ (match (string_drop _s4729_ _s4730_) with
+ | _s4731_ =>
+ (sep_matches_prefix _s4731_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4554_ _) =>
- (match (string_drop _s4553_ _s4554_) with
- | _s4555_ =>
- (freg_name_matches_prefix _s4555_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4732_ _) =>
+ (match (string_drop _s4731_ _s4732_) with
+ | _s4733_ =>
+ (freg_name_matches_prefix _s4733_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4556_ _) =>
- (match (string_drop _s4555_ _s4556_) with
- | _s4557_ =>
- (sep_matches_prefix _s4557_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4734_ _) =>
+ (match (string_drop _s4733_ _s4734_) with
+ | _s4735_ =>
+ (sep_matches_prefix _s4735_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4558_ _) =>
- (match (string_drop _s4557_ _s4558_) with
- | _s4559_ =>
- (frm_mnemonic_matches_prefix _s4559_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4736_ _) =>
+ (match (string_drop _s4735_ _s4736_) with
+ | _s4737_ =>
+ (frm_mnemonic_matches_prefix _s4737_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4560_ _) =>
+ | Some (rm, existT _ _s4738_ _) =>
let p0_ :=
- string_drop _s4559_ _s4560_ in
+ string_drop _s4737_ _s4738_ in
if generic_eq p0_ "" then
Some (FCVT_W_D, rd, rs1, rm)
else None
@@ -45105,52 +45410,52 @@ Definition _s4545_ (_s4546_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4528_ (_s4529_ : string)
+Definition _s4706_ (_s4707_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4529_ with
- | _s4530_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s4530_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4707_ with
+ | _s4708_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s4708_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_D, existT _ _s4531_ _) =>
- (match (string_drop _s4530_ _s4531_) with
- | _s4532_ =>
- (spc_matches_prefix _s4532_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_D, existT _ _s4709_ _) =>
+ (match (string_drop _s4708_ _s4709_) with
+ | _s4710_ =>
+ (spc_matches_prefix _s4710_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4533_ _) =>
- (match (string_drop _s4532_ _s4533_) with
- | _s4534_ =>
- (freg_name_matches_prefix _s4534_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4711_ _) =>
+ (match (string_drop _s4710_ _s4711_) with
+ | _s4712_ =>
+ (freg_name_matches_prefix _s4712_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4535_ _) =>
- (match (string_drop _s4534_ _s4535_) with
- | _s4536_ =>
- (sep_matches_prefix _s4536_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4713_ _) =>
+ (match (string_drop _s4712_ _s4713_) with
+ | _s4714_ =>
+ (sep_matches_prefix _s4714_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4537_ _) =>
- (match (string_drop _s4536_ _s4537_) with
- | _s4538_ =>
- (freg_name_matches_prefix _s4538_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4715_ _) =>
+ (match (string_drop _s4714_ _s4715_) with
+ | _s4716_ =>
+ (freg_name_matches_prefix _s4716_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4539_ _) =>
- (match (string_drop _s4538_ _s4539_) with
- | _s4540_ =>
- (sep_matches_prefix _s4540_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4717_ _) =>
+ (match (string_drop _s4716_ _s4717_) with
+ | _s4718_ =>
+ (sep_matches_prefix _s4718_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4541_ _) =>
- (match (string_drop _s4540_ _s4541_) with
- | _s4542_ =>
- (frm_mnemonic_matches_prefix _s4542_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4719_ _) =>
+ (match (string_drop _s4718_ _s4719_) with
+ | _s4720_ =>
+ (frm_mnemonic_matches_prefix _s4720_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4543_ _) =>
+ | Some (rm, existT _ _s4721_ _) =>
let p0_ :=
- string_drop _s4542_ _s4543_ in
+ string_drop _s4720_ _s4721_ in
if generic_eq p0_ "" then
Some (FSQRT_D, rd, rs1, rm)
else None
@@ -45189,69 +45494,69 @@ Definition _s4528_ (_s4529_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode))).
-Definition _s4507_ (_s4508_ : string)
+Definition _s4685_ (_s4686_ : string)
: M (option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4508_ with
- | _s4509_ =>
- (f_bin_rm_type_mnemonic_D_matches_prefix _s4509_) >>= fun w__0 : option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s4686_ with
+ | _s4687_ =>
+ (f_bin_rm_type_mnemonic_D_matches_prefix _s4687_) >>= fun w__0 : option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4510_ _) =>
- (match (string_drop _s4509_ _s4510_) with
- | _s4511_ =>
- (spc_matches_prefix _s4511_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4688_ _) =>
+ (match (string_drop _s4687_ _s4688_) with
+ | _s4689_ =>
+ (spc_matches_prefix _s4689_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4512_ _) =>
- (match (string_drop _s4511_ _s4512_) with
- | _s4513_ =>
- (freg_name_matches_prefix _s4513_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4690_ _) =>
+ (match (string_drop _s4689_ _s4690_) with
+ | _s4691_ =>
+ (freg_name_matches_prefix _s4691_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4514_ _) =>
- (match (string_drop _s4513_ _s4514_) with
- | _s4515_ =>
- (sep_matches_prefix _s4515_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4692_ _) =>
+ (match (string_drop _s4691_ _s4692_) with
+ | _s4693_ =>
+ (sep_matches_prefix _s4693_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4516_ _) =>
- (match (string_drop _s4515_ _s4516_) with
- | _s4517_ =>
- (freg_name_matches_prefix _s4517_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4694_ _) =>
+ (match (string_drop _s4693_ _s4694_) with
+ | _s4695_ =>
+ (freg_name_matches_prefix _s4695_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4518_ _) =>
- (match (string_drop _s4517_ _s4518_) with
- | _s4519_ =>
- (sep_matches_prefix _s4519_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4696_ _) =>
+ (match (string_drop _s4695_ _s4696_) with
+ | _s4697_ =>
+ (sep_matches_prefix _s4697_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4520_ _) =>
- (match (string_drop _s4519_ _s4520_) with
- | _s4521_ =>
- (freg_name_matches_prefix _s4521_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4698_ _) =>
+ (match (string_drop _s4697_ _s4698_) with
+ | _s4699_ =>
+ (freg_name_matches_prefix _s4699_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s4522_ _) =>
- (match (string_drop _s4521_ _s4522_) with
- | _s4523_ =>
- (sep_matches_prefix _s4523_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4700_ _) =>
+ (match (string_drop _s4699_ _s4700_) with
+ | _s4701_ =>
+ (sep_matches_prefix _s4701_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s4524_ _) =>
- (match (string_drop _s4523_
- _s4524_) with
- | _s4525_ =>
+ | Some (tt, existT _ _s4702_ _) =>
+ (match (string_drop _s4701_
+ _s4702_) with
+ | _s4703_ =>
(frm_mnemonic_matches_prefix
- _s4525_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s4703_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s4526_ _) =>
+ (rm, existT _ _s4704_ _) =>
let p0_ :=
string_drop
- _s4525_
- _s4526_ in
+ _s4703_
+ _s4704_ in
if generic_eq p0_
"" then
Some
@@ -45302,88 +45607,88 @@ Definition _s4507_ (_s4508_ : string)
end)
: M (option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s4482_ (_s4483_ : string)
+Definition _s4660_ (_s4661_ : string)
: M (option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4483_ with
- | _s4484_ =>
- (f_madd_type_mnemonic_D_matches_prefix _s4484_) >>= fun w__0 : option ((f_madd_op_D * {n : Z & ArithFact (n >=?
+ (match _s4661_ with
+ | _s4662_ =>
+ (f_madd_type_mnemonic_D_matches_prefix _s4662_) >>= fun w__0 : option ((f_madd_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4485_ _) =>
- (match (string_drop _s4484_ _s4485_) with
- | _s4486_ =>
- (spc_matches_prefix _s4486_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4663_ _) =>
+ (match (string_drop _s4662_ _s4663_) with
+ | _s4664_ =>
+ (spc_matches_prefix _s4664_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4487_ _) =>
- (match (string_drop _s4486_ _s4487_) with
- | _s4488_ =>
- (freg_name_matches_prefix _s4488_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4665_ _) =>
+ (match (string_drop _s4664_ _s4665_) with
+ | _s4666_ =>
+ (freg_name_matches_prefix _s4666_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4489_ _) =>
- (match (string_drop _s4488_ _s4489_) with
- | _s4490_ =>
- (sep_matches_prefix _s4490_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4667_ _) =>
+ (match (string_drop _s4666_ _s4667_) with
+ | _s4668_ =>
+ (sep_matches_prefix _s4668_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4491_ _) =>
- (match (string_drop _s4490_ _s4491_) with
- | _s4492_ =>
- (freg_name_matches_prefix _s4492_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4669_ _) =>
+ (match (string_drop _s4668_ _s4669_) with
+ | _s4670_ =>
+ (freg_name_matches_prefix _s4670_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4493_ _) =>
- (match (string_drop _s4492_ _s4493_) with
- | _s4494_ =>
- (sep_matches_prefix _s4494_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4671_ _) =>
+ (match (string_drop _s4670_ _s4671_) with
+ | _s4672_ =>
+ (sep_matches_prefix _s4672_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4495_ _) =>
- (match (string_drop _s4494_ _s4495_) with
- | _s4496_ =>
- (freg_name_matches_prefix _s4496_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4673_ _) =>
+ (match (string_drop _s4672_ _s4673_) with
+ | _s4674_ =>
+ (freg_name_matches_prefix _s4674_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s4497_ _) =>
- (match (string_drop _s4496_ _s4497_) with
- | _s4498_ =>
- (sep_matches_prefix _s4498_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4675_ _) =>
+ (match (string_drop _s4674_ _s4675_) with
+ | _s4676_ =>
+ (sep_matches_prefix _s4676_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s4499_ _) =>
- (match (string_drop _s4498_
- _s4499_) with
- | _s4500_ =>
+ | Some (tt, existT _ _s4677_ _) =>
+ (match (string_drop _s4676_
+ _s4677_) with
+ | _s4678_ =>
(freg_name_matches_prefix
- _s4500_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4678_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s4501_ _) =>
+ (rs3, existT _ _s4679_ _) =>
(match (string_drop
- _s4500_ _s4501_) with
- | _s4502_ =>
+ _s4678_ _s4679_) with
+ | _s4680_ =>
(sep_matches_prefix
- _s4502_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4680_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s4503_ _) =>
+ (tt, existT _ _s4681_ _) =>
(match (string_drop
- _s4502_
- _s4503_) with
- | _s4504_ =>
+ _s4680_
+ _s4681_) with
+ | _s4682_ =>
(frm_mnemonic_matches_prefix
- _s4504_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s4682_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s4505_ _) =>
+ (rm, existT _ _s4683_ _) =>
let p0_ :=
string_drop
- _s4504_
- _s4505_ in
+ _s4682_
+ _s4683_ in
if
generic_eq
p0_
@@ -45449,50 +45754,50 @@ Definition _s4482_ (_s4483_ : string)
end)
: M (option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s4466_ (_s4467_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s4468_ := _s4467_ in
- (if string_startswith _s4468_ "c.fsw" then
- (match (string_drop _s4468_ (projT1 (string_length "c.fsw"))) with
- | _s4469_ =>
- (spc_matches_prefix _s4469_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4644_ (_s4645_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s4646_ := _s4645_ in
+ (if string_startswith _s4646_ "c.fsw" then
+ (match (string_drop _s4646_ (projT1 (string_length "c.fsw"))) with
+ | _s4647_ =>
+ (spc_matches_prefix _s4647_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4470_ _) =>
- (match (string_drop _s4469_ _s4470_) with
- | _s4471_ =>
- (creg_name_matches_prefix _s4471_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4648_ _) =>
+ (match (string_drop _s4647_ _s4648_) with
+ | _s4649_ =>
+ (creg_name_matches_prefix _s4649_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s4472_ _) =>
- (match (string_drop _s4471_ _s4472_) with
- | _s4473_ =>
- (sep_matches_prefix _s4473_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s4650_ _) =>
+ (match (string_drop _s4649_ _s4650_) with
+ | _s4651_ =>
+ (sep_matches_prefix _s4651_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4474_ _) =>
- (match (string_drop _s4473_ _s4474_) with
- | _s4475_ =>
- (creg_name_matches_prefix _s4475_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4652_ _) =>
+ (match (string_drop _s4651_ _s4652_) with
+ | _s4653_ =>
+ (creg_name_matches_prefix _s4653_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s4476_ _) =>
- (match (string_drop _s4475_ _s4476_) with
- | _s4477_ =>
- (sep_matches_prefix _s4477_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s4654_ _) =>
+ (match (string_drop _s4653_ _s4654_) with
+ | _s4655_ =>
+ (sep_matches_prefix _s4655_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4478_ _) =>
- match (string_drop _s4477_ _s4478_) with
- | _s4479_ =>
- match (hex_bits_7_matches_prefix _s4479_) with
- | Some (v__1362, existT _ _s4480_ _) =>
- if eq_vec (subrange_vec_dec v__1362 1 0)
+ | Some (tt, existT _ _s4656_ _) =>
+ match (string_drop _s4655_ _s4656_) with
+ | _s4657_ =>
+ match (hex_bits_7_matches_prefix _s4657_) with
+ | Some (v__1466, existT _ _s4658_ _) =>
+ if eq_vec (subrange_vec_dec v__1466 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1362 6 2 in
+ subrange_vec_dec v__1466 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1362 6 2 in
- let p0_ := string_drop _s4479_ _s4480_ in
+ subrange_vec_dec v__1466 6 2 in
+ let p0_ := string_drop _s4657_ _s4658_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -45527,50 +45832,50 @@ Definition _s4466_ (_s4467_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s4450_ (_s4451_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s4452_ := _s4451_ in
- (if string_startswith _s4452_ "c.flw" then
- (match (string_drop _s4452_ (projT1 (string_length "c.flw"))) with
- | _s4453_ =>
- (spc_matches_prefix _s4453_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4628_ (_s4629_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s4630_ := _s4629_ in
+ (if string_startswith _s4630_ "c.flw" then
+ (match (string_drop _s4630_ (projT1 (string_length "c.flw"))) with
+ | _s4631_ =>
+ (spc_matches_prefix _s4631_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4454_ _) =>
- (match (string_drop _s4453_ _s4454_) with
- | _s4455_ =>
- (creg_name_matches_prefix _s4455_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4632_ _) =>
+ (match (string_drop _s4631_ _s4632_) with
+ | _s4633_ =>
+ (creg_name_matches_prefix _s4633_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s4456_ _) =>
- (match (string_drop _s4455_ _s4456_) with
- | _s4457_ =>
- (sep_matches_prefix _s4457_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s4634_ _) =>
+ (match (string_drop _s4633_ _s4634_) with
+ | _s4635_ =>
+ (sep_matches_prefix _s4635_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4458_ _) =>
- (match (string_drop _s4457_ _s4458_) with
- | _s4459_ =>
- (creg_name_matches_prefix _s4459_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4636_ _) =>
+ (match (string_drop _s4635_ _s4636_) with
+ | _s4637_ =>
+ (creg_name_matches_prefix _s4637_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s4460_ _) =>
- (match (string_drop _s4459_ _s4460_) with
- | _s4461_ =>
- (sep_matches_prefix _s4461_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s4638_ _) =>
+ (match (string_drop _s4637_ _s4638_) with
+ | _s4639_ =>
+ (sep_matches_prefix _s4639_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4462_ _) =>
- match (string_drop _s4461_ _s4462_) with
- | _s4463_ =>
- match (hex_bits_7_matches_prefix _s4463_) with
- | Some (v__1364, existT _ _s4464_ _) =>
- if eq_vec (subrange_vec_dec v__1364 1 0)
+ | Some (tt, existT _ _s4640_ _) =>
+ match (string_drop _s4639_ _s4640_) with
+ | _s4641_ =>
+ match (hex_bits_7_matches_prefix _s4641_) with
+ | Some (v__1468, existT _ _s4642_ _) =>
+ if eq_vec (subrange_vec_dec v__1468 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1364 6 2 in
+ subrange_vec_dec v__1468 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1364 6 2 in
- let p0_ := string_drop _s4463_ _s4464_ in
+ subrange_vec_dec v__1468 6 2 in
+ let p0_ := string_drop _s4641_ _s4642_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -45605,31 +45910,31 @@ Definition _s4450_ (_s4451_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s4438_ (_s4439_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s4440_ := _s4439_ in
- (if string_startswith _s4440_ "c.fswsp" then
- (match (string_drop _s4440_ (projT1 (string_length "c.fswsp"))) with
- | _s4441_ =>
- (spc_matches_prefix _s4441_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4616_ (_s4617_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s4618_ := _s4617_ in
+ (if string_startswith _s4618_ "c.fswsp" then
+ (match (string_drop _s4618_ (projT1 (string_length "c.fswsp"))) with
+ | _s4619_ =>
+ (spc_matches_prefix _s4619_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4442_ _) =>
- (match (string_drop _s4441_ _s4442_) with
- | _s4443_ =>
- (reg_name_matches_prefix _s4443_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4620_ _) =>
+ (match (string_drop _s4619_ _s4620_) with
+ | _s4621_ =>
+ (reg_name_matches_prefix _s4621_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4444_ _) =>
- (match (string_drop _s4443_ _s4444_) with
- | _s4445_ =>
- (sep_matches_prefix _s4445_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4622_ _) =>
+ (match (string_drop _s4621_ _s4622_) with
+ | _s4623_ =>
+ (sep_matches_prefix _s4623_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4446_ _) =>
- match (string_drop _s4445_ _s4446_) with
- | _s4447_ =>
- match (hex_bits_6_matches_prefix _s4447_) with
- | Some (uimm, existT _ _s4448_ _) =>
- let p0_ := string_drop _s4447_ _s4448_ in
+ | Some (tt, existT _ _s4624_ _) =>
+ match (string_drop _s4623_ _s4624_) with
+ | _s4625_ =>
+ match (hex_bits_6_matches_prefix _s4625_) with
+ | Some (uimm, existT _ _s4626_ _) =>
+ let p0_ := string_drop _s4625_ _s4626_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -45652,31 +45957,31 @@ Definition _s4438_ (_s4439_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s4426_ (_s4427_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s4428_ := _s4427_ in
- (if string_startswith _s4428_ "c.flwsp" then
- (match (string_drop _s4428_ (projT1 (string_length "c.flwsp"))) with
- | _s4429_ =>
- (spc_matches_prefix _s4429_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4604_ (_s4605_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s4606_ := _s4605_ in
+ (if string_startswith _s4606_ "c.flwsp" then
+ (match (string_drop _s4606_ (projT1 (string_length "c.flwsp"))) with
+ | _s4607_ =>
+ (spc_matches_prefix _s4607_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4430_ _) =>
- (match (string_drop _s4429_ _s4430_) with
- | _s4431_ =>
- (reg_name_matches_prefix _s4431_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4608_ _) =>
+ (match (string_drop _s4607_ _s4608_) with
+ | _s4609_ =>
+ (reg_name_matches_prefix _s4609_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4432_ _) =>
- (match (string_drop _s4431_ _s4432_) with
- | _s4433_ =>
- (sep_matches_prefix _s4433_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4610_ _) =>
+ (match (string_drop _s4609_ _s4610_) with
+ | _s4611_ =>
+ (sep_matches_prefix _s4611_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4434_ _) =>
- match (string_drop _s4433_ _s4434_) with
- | _s4435_ =>
- match (hex_bits_6_matches_prefix _s4435_) with
- | Some (imm, existT _ _s4436_ _) =>
- let p0_ := string_drop _s4435_ _s4436_ in
+ | Some (tt, existT _ _s4612_ _) =>
+ match (string_drop _s4611_ _s4612_) with
+ | _s4613_ =>
+ match (hex_bits_6_matches_prefix _s4613_) with
+ | Some (imm, existT _ _s4614_ _) =>
+ let p0_ := string_drop _s4613_ _s4614_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -45699,38 +46004,38 @@ Definition _s4426_ (_s4427_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s4413_ (_s4414_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s4414_ with
- | _s4415_ =>
- (f_un_type_mnemonic_S_matches_prefix _s4415_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s4591_ (_s4592_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s4592_ with
+ | _s4593_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s4593_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_S, existT _ _s4416_ _) =>
- (match (string_drop _s4415_ _s4416_) with
- | _s4417_ =>
- (spc_matches_prefix _s4417_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_S, existT _ _s4594_ _) =>
+ (match (string_drop _s4593_ _s4594_) with
+ | _s4595_ =>
+ (spc_matches_prefix _s4595_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4418_ _) =>
- (match (string_drop _s4417_ _s4418_) with
- | _s4419_ =>
- (reg_name_matches_prefix _s4419_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4596_ _) =>
+ (match (string_drop _s4595_ _s4596_) with
+ | _s4597_ =>
+ (reg_name_matches_prefix _s4597_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4420_ _) =>
- (match (string_drop _s4419_ _s4420_) with
- | _s4421_ =>
- (sep_matches_prefix _s4421_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4598_ _) =>
+ (match (string_drop _s4597_ _s4598_) with
+ | _s4599_ =>
+ (sep_matches_prefix _s4599_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4422_ _) =>
- (match (string_drop _s4421_ _s4422_) with
- | _s4423_ =>
- (freg_name_matches_prefix _s4423_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4600_ _) =>
+ (match (string_drop _s4599_ _s4600_) with
+ | _s4601_ =>
+ (freg_name_matches_prefix _s4601_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s4424_ _) =>
- let p0_ := string_drop _s4423_ _s4424_ in
+ | Some (rs1, existT _ _s4602_ _) =>
+ let p0_ := string_drop _s4601_ _s4602_ in
if generic_eq p0_ "" then
Some (FCLASS_S, rd, rs1)
else None
@@ -45759,38 +46064,38 @@ Definition _s4413_ (_s4414_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s4400_ (_s4401_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s4401_ with
- | _s4402_ =>
- (f_un_type_mnemonic_S_matches_prefix _s4402_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s4578_ (_s4579_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s4579_ with
+ | _s4580_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s4580_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_W_X, existT _ _s4403_ _) =>
- (match (string_drop _s4402_ _s4403_) with
- | _s4404_ =>
- (spc_matches_prefix _s4404_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_W_X, existT _ _s4581_ _) =>
+ (match (string_drop _s4580_ _s4581_) with
+ | _s4582_ =>
+ (spc_matches_prefix _s4582_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4405_ _) =>
- (match (string_drop _s4404_ _s4405_) with
- | _s4406_ =>
- (freg_name_matches_prefix _s4406_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4583_ _) =>
+ (match (string_drop _s4582_ _s4583_) with
+ | _s4584_ =>
+ (freg_name_matches_prefix _s4584_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4407_ _) =>
- (match (string_drop _s4406_ _s4407_) with
- | _s4408_ =>
- (sep_matches_prefix _s4408_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4585_ _) =>
+ (match (string_drop _s4584_ _s4585_) with
+ | _s4586_ =>
+ (sep_matches_prefix _s4586_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4409_ _) =>
- (match (string_drop _s4408_ _s4409_) with
- | _s4410_ =>
- (reg_name_matches_prefix _s4410_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4587_ _) =>
+ (match (string_drop _s4586_ _s4587_) with
+ | _s4588_ =>
+ (reg_name_matches_prefix _s4588_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s4411_ _) =>
- let p0_ := string_drop _s4410_ _s4411_ in
+ | Some (rs1, existT _ _s4589_ _) =>
+ let p0_ := string_drop _s4588_ _s4589_ in
if generic_eq p0_ "" then Some (FMV_W_X, rd, rs1)
else None
| _ => None
@@ -45818,38 +46123,38 @@ Definition _s4400_ (_s4401_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s4387_ (_s4388_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
- (match _s4388_ with
- | _s4389_ =>
- (f_un_type_mnemonic_S_matches_prefix _s4389_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s4565_ (_s4566_ : string) : M (option ((f_un_op_S * mword 5 * mword 5))) :=
+ (match _s4566_ with
+ | _s4567_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s4567_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_W, existT _ _s4390_ _) =>
- (match (string_drop _s4389_ _s4390_) with
- | _s4391_ =>
- (spc_matches_prefix _s4391_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_W, existT _ _s4568_ _) =>
+ (match (string_drop _s4567_ _s4568_) with
+ | _s4569_ =>
+ (spc_matches_prefix _s4569_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4392_ _) =>
- (match (string_drop _s4391_ _s4392_) with
- | _s4393_ =>
- (reg_name_matches_prefix _s4393_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4570_ _) =>
+ (match (string_drop _s4569_ _s4570_) with
+ | _s4571_ =>
+ (reg_name_matches_prefix _s4571_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4394_ _) =>
- (match (string_drop _s4393_ _s4394_) with
- | _s4395_ =>
- (sep_matches_prefix _s4395_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4572_ _) =>
+ (match (string_drop _s4571_ _s4572_) with
+ | _s4573_ =>
+ (sep_matches_prefix _s4573_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4396_ _) =>
- (match (string_drop _s4395_ _s4396_) with
- | _s4397_ =>
- (freg_name_matches_prefix _s4397_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4574_ _) =>
+ (match (string_drop _s4573_ _s4574_) with
+ | _s4575_ =>
+ (freg_name_matches_prefix _s4575_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s4398_ _) =>
- let p0_ := string_drop _s4397_ _s4398_ in
+ | Some (rs1, existT _ _s4576_ _) =>
+ let p0_ := string_drop _s4575_ _s4576_ in
if generic_eq p0_ "" then Some (FMV_X_W, rd, rs1)
else None
| _ => None
@@ -45877,51 +46182,51 @@ Definition _s4387_ (_s4388_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5))).
-Definition _s4370_ (_s4371_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4371_ with
- | _s4372_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4372_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4548_ (_s4549_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4549_ with
+ | _s4550_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4550_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_S, existT _ _s4373_ _) =>
- (match (string_drop _s4372_ _s4373_) with
- | _s4374_ =>
- (spc_matches_prefix _s4374_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_S, existT _ _s4551_ _) =>
+ (match (string_drop _s4550_ _s4551_) with
+ | _s4552_ =>
+ (spc_matches_prefix _s4552_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4375_ _) =>
- (match (string_drop _s4374_ _s4375_) with
- | _s4376_ =>
- (reg_name_matches_prefix _s4376_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4553_ _) =>
+ (match (string_drop _s4552_ _s4553_) with
+ | _s4554_ =>
+ (reg_name_matches_prefix _s4554_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4377_ _) =>
- (match (string_drop _s4376_ _s4377_) with
- | _s4378_ =>
- (sep_matches_prefix _s4378_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4555_ _) =>
+ (match (string_drop _s4554_ _s4555_) with
+ | _s4556_ =>
+ (sep_matches_prefix _s4556_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4379_ _) =>
- (match (string_drop _s4378_ _s4379_) with
- | _s4380_ =>
- (freg_name_matches_prefix _s4380_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4557_ _) =>
+ (match (string_drop _s4556_ _s4557_) with
+ | _s4558_ =>
+ (freg_name_matches_prefix _s4558_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4381_ _) =>
- (match (string_drop _s4380_ _s4381_) with
- | _s4382_ =>
- (sep_matches_prefix _s4382_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4559_ _) =>
+ (match (string_drop _s4558_ _s4559_) with
+ | _s4560_ =>
+ (sep_matches_prefix _s4560_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4383_ _) =>
- (match (string_drop _s4382_ _s4383_) with
- | _s4384_ =>
- (freg_name_matches_prefix _s4384_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4561_ _) =>
+ (match (string_drop _s4560_ _s4561_) with
+ | _s4562_ =>
+ (freg_name_matches_prefix _s4562_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4385_ _) =>
+ | Some (rs2, existT _ _s4563_ _) =>
let p0_ :=
- string_drop _s4384_ _s4385_ in
+ string_drop _s4562_ _s4563_ in
if generic_eq p0_ "" then
Some (FLE_S, rd, rs1, rs2)
else None
@@ -45960,51 +46265,51 @@ Definition _s4370_ (_s4371_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4353_ (_s4354_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4354_ with
- | _s4355_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4355_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4531_ (_s4532_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4532_ with
+ | _s4533_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4533_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_S, existT _ _s4356_ _) =>
- (match (string_drop _s4355_ _s4356_) with
- | _s4357_ =>
- (spc_matches_prefix _s4357_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_S, existT _ _s4534_ _) =>
+ (match (string_drop _s4533_ _s4534_) with
+ | _s4535_ =>
+ (spc_matches_prefix _s4535_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4358_ _) =>
- (match (string_drop _s4357_ _s4358_) with
- | _s4359_ =>
- (reg_name_matches_prefix _s4359_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4536_ _) =>
+ (match (string_drop _s4535_ _s4536_) with
+ | _s4537_ =>
+ (reg_name_matches_prefix _s4537_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4360_ _) =>
- (match (string_drop _s4359_ _s4360_) with
- | _s4361_ =>
- (sep_matches_prefix _s4361_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4538_ _) =>
+ (match (string_drop _s4537_ _s4538_) with
+ | _s4539_ =>
+ (sep_matches_prefix _s4539_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4362_ _) =>
- (match (string_drop _s4361_ _s4362_) with
- | _s4363_ =>
- (freg_name_matches_prefix _s4363_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4540_ _) =>
+ (match (string_drop _s4539_ _s4540_) with
+ | _s4541_ =>
+ (freg_name_matches_prefix _s4541_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4364_ _) =>
- (match (string_drop _s4363_ _s4364_) with
- | _s4365_ =>
- (sep_matches_prefix _s4365_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4542_ _) =>
+ (match (string_drop _s4541_ _s4542_) with
+ | _s4543_ =>
+ (sep_matches_prefix _s4543_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4366_ _) =>
- (match (string_drop _s4365_ _s4366_) with
- | _s4367_ =>
- (freg_name_matches_prefix _s4367_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4544_ _) =>
+ (match (string_drop _s4543_ _s4544_) with
+ | _s4545_ =>
+ (freg_name_matches_prefix _s4545_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4368_ _) =>
+ | Some (rs2, existT _ _s4546_ _) =>
let p0_ :=
- string_drop _s4367_ _s4368_ in
+ string_drop _s4545_ _s4546_ in
if generic_eq p0_ "" then
Some (FLT_S, rd, rs1, rs2)
else None
@@ -46043,51 +46348,51 @@ Definition _s4353_ (_s4354_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4336_ (_s4337_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4337_ with
- | _s4338_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4338_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4514_ (_s4515_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4515_ with
+ | _s4516_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4516_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_S, existT _ _s4339_ _) =>
- (match (string_drop _s4338_ _s4339_) with
- | _s4340_ =>
- (spc_matches_prefix _s4340_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_S, existT _ _s4517_ _) =>
+ (match (string_drop _s4516_ _s4517_) with
+ | _s4518_ =>
+ (spc_matches_prefix _s4518_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4341_ _) =>
- (match (string_drop _s4340_ _s4341_) with
- | _s4342_ =>
- (reg_name_matches_prefix _s4342_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4519_ _) =>
+ (match (string_drop _s4518_ _s4519_) with
+ | _s4520_ =>
+ (reg_name_matches_prefix _s4520_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4343_ _) =>
- (match (string_drop _s4342_ _s4343_) with
- | _s4344_ =>
- (sep_matches_prefix _s4344_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4521_ _) =>
+ (match (string_drop _s4520_ _s4521_) with
+ | _s4522_ =>
+ (sep_matches_prefix _s4522_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4345_ _) =>
- (match (string_drop _s4344_ _s4345_) with
- | _s4346_ =>
- (freg_name_matches_prefix _s4346_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4523_ _) =>
+ (match (string_drop _s4522_ _s4523_) with
+ | _s4524_ =>
+ (freg_name_matches_prefix _s4524_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4347_ _) =>
- (match (string_drop _s4346_ _s4347_) with
- | _s4348_ =>
- (sep_matches_prefix _s4348_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4525_ _) =>
+ (match (string_drop _s4524_ _s4525_) with
+ | _s4526_ =>
+ (sep_matches_prefix _s4526_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4349_ _) =>
- (match (string_drop _s4348_ _s4349_) with
- | _s4350_ =>
- (freg_name_matches_prefix _s4350_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4527_ _) =>
+ (match (string_drop _s4526_ _s4527_) with
+ | _s4528_ =>
+ (freg_name_matches_prefix _s4528_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4351_ _) =>
+ | Some (rs2, existT _ _s4529_ _) =>
let p0_ :=
- string_drop _s4350_ _s4351_ in
+ string_drop _s4528_ _s4529_ in
if generic_eq p0_ "" then
Some (FEQ_S, rd, rs1, rs2)
else None
@@ -46126,51 +46431,51 @@ Definition _s4336_ (_s4337_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4319_ (_s4320_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4320_ with
- | _s4321_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4321_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4497_ (_s4498_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4498_ with
+ | _s4499_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4499_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_S, existT _ _s4322_ _) =>
- (match (string_drop _s4321_ _s4322_) with
- | _s4323_ =>
- (spc_matches_prefix _s4323_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_S, existT _ _s4500_ _) =>
+ (match (string_drop _s4499_ _s4500_) with
+ | _s4501_ =>
+ (spc_matches_prefix _s4501_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4324_ _) =>
- (match (string_drop _s4323_ _s4324_) with
- | _s4325_ =>
- (freg_name_matches_prefix _s4325_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4502_ _) =>
+ (match (string_drop _s4501_ _s4502_) with
+ | _s4503_ =>
+ (freg_name_matches_prefix _s4503_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4326_ _) =>
- (match (string_drop _s4325_ _s4326_) with
- | _s4327_ =>
- (sep_matches_prefix _s4327_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4504_ _) =>
+ (match (string_drop _s4503_ _s4504_) with
+ | _s4505_ =>
+ (sep_matches_prefix _s4505_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4328_ _) =>
- (match (string_drop _s4327_ _s4328_) with
- | _s4329_ =>
- (freg_name_matches_prefix _s4329_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4506_ _) =>
+ (match (string_drop _s4505_ _s4506_) with
+ | _s4507_ =>
+ (freg_name_matches_prefix _s4507_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4330_ _) =>
- (match (string_drop _s4329_ _s4330_) with
- | _s4331_ =>
- (sep_matches_prefix _s4331_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4508_ _) =>
+ (match (string_drop _s4507_ _s4508_) with
+ | _s4509_ =>
+ (sep_matches_prefix _s4509_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4332_ _) =>
- (match (string_drop _s4331_ _s4332_) with
- | _s4333_ =>
- (freg_name_matches_prefix _s4333_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4510_ _) =>
+ (match (string_drop _s4509_ _s4510_) with
+ | _s4511_ =>
+ (freg_name_matches_prefix _s4511_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4334_ _) =>
+ | Some (rs2, existT _ _s4512_ _) =>
let p0_ :=
- string_drop _s4333_ _s4334_ in
+ string_drop _s4511_ _s4512_ in
if generic_eq p0_ "" then
Some (FMAX_S, rd, rs1, rs2)
else None
@@ -46209,51 +46514,51 @@ Definition _s4319_ (_s4320_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4302_ (_s4303_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4303_ with
- | _s4304_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4304_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4480_ (_s4481_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4481_ with
+ | _s4482_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4482_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_S, existT _ _s4305_ _) =>
- (match (string_drop _s4304_ _s4305_) with
- | _s4306_ =>
- (spc_matches_prefix _s4306_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_S, existT _ _s4483_ _) =>
+ (match (string_drop _s4482_ _s4483_) with
+ | _s4484_ =>
+ (spc_matches_prefix _s4484_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4307_ _) =>
- (match (string_drop _s4306_ _s4307_) with
- | _s4308_ =>
- (freg_name_matches_prefix _s4308_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4485_ _) =>
+ (match (string_drop _s4484_ _s4485_) with
+ | _s4486_ =>
+ (freg_name_matches_prefix _s4486_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4309_ _) =>
- (match (string_drop _s4308_ _s4309_) with
- | _s4310_ =>
- (sep_matches_prefix _s4310_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4487_ _) =>
+ (match (string_drop _s4486_ _s4487_) with
+ | _s4488_ =>
+ (sep_matches_prefix _s4488_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4311_ _) =>
- (match (string_drop _s4310_ _s4311_) with
- | _s4312_ =>
- (freg_name_matches_prefix _s4312_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4489_ _) =>
+ (match (string_drop _s4488_ _s4489_) with
+ | _s4490_ =>
+ (freg_name_matches_prefix _s4490_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4313_ _) =>
- (match (string_drop _s4312_ _s4313_) with
- | _s4314_ =>
- (sep_matches_prefix _s4314_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4491_ _) =>
+ (match (string_drop _s4490_ _s4491_) with
+ | _s4492_ =>
+ (sep_matches_prefix _s4492_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4315_ _) =>
- (match (string_drop _s4314_ _s4315_) with
- | _s4316_ =>
- (freg_name_matches_prefix _s4316_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4493_ _) =>
+ (match (string_drop _s4492_ _s4493_) with
+ | _s4494_ =>
+ (freg_name_matches_prefix _s4494_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4317_ _) =>
+ | Some (rs2, existT _ _s4495_ _) =>
let p0_ :=
- string_drop _s4316_ _s4317_ in
+ string_drop _s4494_ _s4495_ in
if generic_eq p0_ "" then
Some (FMIN_S, rd, rs1, rs2)
else None
@@ -46292,51 +46597,51 @@ Definition _s4302_ (_s4303_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4285_ (_s4286_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4286_ with
- | _s4287_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4287_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4463_ (_s4464_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4464_ with
+ | _s4465_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4465_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_S, existT _ _s4288_ _) =>
- (match (string_drop _s4287_ _s4288_) with
- | _s4289_ =>
- (spc_matches_prefix _s4289_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_S, existT _ _s4466_ _) =>
+ (match (string_drop _s4465_ _s4466_) with
+ | _s4467_ =>
+ (spc_matches_prefix _s4467_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4290_ _) =>
- (match (string_drop _s4289_ _s4290_) with
- | _s4291_ =>
- (freg_name_matches_prefix _s4291_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4468_ _) =>
+ (match (string_drop _s4467_ _s4468_) with
+ | _s4469_ =>
+ (freg_name_matches_prefix _s4469_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4292_ _) =>
- (match (string_drop _s4291_ _s4292_) with
- | _s4293_ =>
- (sep_matches_prefix _s4293_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4470_ _) =>
+ (match (string_drop _s4469_ _s4470_) with
+ | _s4471_ =>
+ (sep_matches_prefix _s4471_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4294_ _) =>
- (match (string_drop _s4293_ _s4294_) with
- | _s4295_ =>
- (freg_name_matches_prefix _s4295_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4472_ _) =>
+ (match (string_drop _s4471_ _s4472_) with
+ | _s4473_ =>
+ (freg_name_matches_prefix _s4473_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4296_ _) =>
- (match (string_drop _s4295_ _s4296_) with
- | _s4297_ =>
- (sep_matches_prefix _s4297_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4474_ _) =>
+ (match (string_drop _s4473_ _s4474_) with
+ | _s4475_ =>
+ (sep_matches_prefix _s4475_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4298_ _) =>
- (match (string_drop _s4297_ _s4298_) with
- | _s4299_ =>
- (freg_name_matches_prefix _s4299_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4476_ _) =>
+ (match (string_drop _s4475_ _s4476_) with
+ | _s4477_ =>
+ (freg_name_matches_prefix _s4477_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4300_ _) =>
+ | Some (rs2, existT _ _s4478_ _) =>
let p0_ :=
- string_drop _s4299_ _s4300_ in
+ string_drop _s4477_ _s4478_ in
if generic_eq p0_ "" then
Some (FSGNJX_S, rd, rs1, rs2)
else None
@@ -46375,51 +46680,51 @@ Definition _s4285_ (_s4286_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4268_ (_s4269_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4269_ with
- | _s4270_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4270_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4446_ (_s4447_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4447_ with
+ | _s4448_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4448_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_S, existT _ _s4271_ _) =>
- (match (string_drop _s4270_ _s4271_) with
- | _s4272_ =>
- (spc_matches_prefix _s4272_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_S, existT _ _s4449_ _) =>
+ (match (string_drop _s4448_ _s4449_) with
+ | _s4450_ =>
+ (spc_matches_prefix _s4450_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4273_ _) =>
- (match (string_drop _s4272_ _s4273_) with
- | _s4274_ =>
- (freg_name_matches_prefix _s4274_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4451_ _) =>
+ (match (string_drop _s4450_ _s4451_) with
+ | _s4452_ =>
+ (freg_name_matches_prefix _s4452_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4275_ _) =>
- (match (string_drop _s4274_ _s4275_) with
- | _s4276_ =>
- (sep_matches_prefix _s4276_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4453_ _) =>
+ (match (string_drop _s4452_ _s4453_) with
+ | _s4454_ =>
+ (sep_matches_prefix _s4454_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4277_ _) =>
- (match (string_drop _s4276_ _s4277_) with
- | _s4278_ =>
- (freg_name_matches_prefix _s4278_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4455_ _) =>
+ (match (string_drop _s4454_ _s4455_) with
+ | _s4456_ =>
+ (freg_name_matches_prefix _s4456_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4279_ _) =>
- (match (string_drop _s4278_ _s4279_) with
- | _s4280_ =>
- (sep_matches_prefix _s4280_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4457_ _) =>
+ (match (string_drop _s4456_ _s4457_) with
+ | _s4458_ =>
+ (sep_matches_prefix _s4458_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4281_ _) =>
- (match (string_drop _s4280_ _s4281_) with
- | _s4282_ =>
- (freg_name_matches_prefix _s4282_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4459_ _) =>
+ (match (string_drop _s4458_ _s4459_) with
+ | _s4460_ =>
+ (freg_name_matches_prefix _s4460_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4283_ _) =>
+ | Some (rs2, existT _ _s4461_ _) =>
let p0_ :=
- string_drop _s4282_ _s4283_ in
+ string_drop _s4460_ _s4461_ in
if generic_eq p0_ "" then
Some (FSGNJN_S, rd, rs1, rs2)
else None
@@ -46458,51 +46763,51 @@ Definition _s4268_ (_s4269_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4251_ (_s4252_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
- (match _s4252_ with
- | _s4253_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s4253_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+Definition _s4429_ (_s4430_ : string) : M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))) :=
+ (match _s4430_ with
+ | _s4431_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s4431_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_S, existT _ _s4254_ _) =>
- (match (string_drop _s4253_ _s4254_) with
- | _s4255_ =>
- (spc_matches_prefix _s4255_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_S, existT _ _s4432_ _) =>
+ (match (string_drop _s4431_ _s4432_) with
+ | _s4433_ =>
+ (spc_matches_prefix _s4433_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4256_ _) =>
- (match (string_drop _s4255_ _s4256_) with
- | _s4257_ =>
- (freg_name_matches_prefix _s4257_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4434_ _) =>
+ (match (string_drop _s4433_ _s4434_) with
+ | _s4435_ =>
+ (freg_name_matches_prefix _s4435_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4258_ _) =>
- (match (string_drop _s4257_ _s4258_) with
- | _s4259_ =>
- (sep_matches_prefix _s4259_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4436_ _) =>
+ (match (string_drop _s4435_ _s4436_) with
+ | _s4437_ =>
+ (sep_matches_prefix _s4437_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4260_ _) =>
- (match (string_drop _s4259_ _s4260_) with
- | _s4261_ =>
- (freg_name_matches_prefix _s4261_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4438_ _) =>
+ (match (string_drop _s4437_ _s4438_) with
+ | _s4439_ =>
+ (freg_name_matches_prefix _s4439_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4262_ _) =>
- (match (string_drop _s4261_ _s4262_) with
- | _s4263_ =>
- (sep_matches_prefix _s4263_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4440_ _) =>
+ (match (string_drop _s4439_ _s4440_) with
+ | _s4441_ =>
+ (sep_matches_prefix _s4441_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4264_ _) =>
- (match (string_drop _s4263_ _s4264_) with
- | _s4265_ =>
- (freg_name_matches_prefix _s4265_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4442_ _) =>
+ (match (string_drop _s4441_ _s4442_) with
+ | _s4443_ =>
+ (freg_name_matches_prefix _s4443_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s4266_ _) =>
+ | Some (rs2, existT _ _s4444_ _) =>
let p0_ :=
- string_drop _s4265_ _s4266_ in
+ string_drop _s4443_ _s4444_ in
if generic_eq p0_ "" then
Some (FSGNJ_S, rd, rs1, rs2)
else None
@@ -46541,52 +46846,52 @@ Definition _s4251_ (_s4252_ : string) : M (option ((f_bin_op_S * mword 5 * mword
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5))).
-Definition _s4234_ (_s4235_ : string)
+Definition _s4412_ (_s4413_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4235_ with
- | _s4236_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4236_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4413_ with
+ | _s4414_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4414_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_LU, existT _ _s4237_ _) =>
- (match (string_drop _s4236_ _s4237_) with
- | _s4238_ =>
- (spc_matches_prefix _s4238_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_LU, existT _ _s4415_ _) =>
+ (match (string_drop _s4414_ _s4415_) with
+ | _s4416_ =>
+ (spc_matches_prefix _s4416_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4239_ _) =>
- (match (string_drop _s4238_ _s4239_) with
- | _s4240_ =>
- (freg_name_matches_prefix _s4240_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4417_ _) =>
+ (match (string_drop _s4416_ _s4417_) with
+ | _s4418_ =>
+ (freg_name_matches_prefix _s4418_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4241_ _) =>
- (match (string_drop _s4240_ _s4241_) with
- | _s4242_ =>
- (sep_matches_prefix _s4242_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4419_ _) =>
+ (match (string_drop _s4418_ _s4419_) with
+ | _s4420_ =>
+ (sep_matches_prefix _s4420_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4243_ _) =>
- (match (string_drop _s4242_ _s4243_) with
- | _s4244_ =>
- (reg_name_matches_prefix _s4244_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4421_ _) =>
+ (match (string_drop _s4420_ _s4421_) with
+ | _s4422_ =>
+ (reg_name_matches_prefix _s4422_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4245_ _) =>
- (match (string_drop _s4244_ _s4245_) with
- | _s4246_ =>
- (sep_matches_prefix _s4246_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4423_ _) =>
+ (match (string_drop _s4422_ _s4423_) with
+ | _s4424_ =>
+ (sep_matches_prefix _s4424_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4247_ _) =>
- (match (string_drop _s4246_ _s4247_) with
- | _s4248_ =>
- (frm_mnemonic_matches_prefix _s4248_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4425_ _) =>
+ (match (string_drop _s4424_ _s4425_) with
+ | _s4426_ =>
+ (frm_mnemonic_matches_prefix _s4426_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4249_ _) =>
+ | Some (rm, existT _ _s4427_ _) =>
let p0_ :=
- string_drop _s4248_ _s4249_ in
+ string_drop _s4426_ _s4427_ in
if generic_eq p0_ "" then
Some (FCVT_S_LU, rd, rs1, rm)
else None
@@ -46625,52 +46930,52 @@ Definition _s4234_ (_s4235_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4217_ (_s4218_ : string)
+Definition _s4395_ (_s4396_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4218_ with
- | _s4219_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4219_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4396_ with
+ | _s4397_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4397_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_L, existT _ _s4220_ _) =>
- (match (string_drop _s4219_ _s4220_) with
- | _s4221_ =>
- (spc_matches_prefix _s4221_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_L, existT _ _s4398_ _) =>
+ (match (string_drop _s4397_ _s4398_) with
+ | _s4399_ =>
+ (spc_matches_prefix _s4399_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4222_ _) =>
- (match (string_drop _s4221_ _s4222_) with
- | _s4223_ =>
- (freg_name_matches_prefix _s4223_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4400_ _) =>
+ (match (string_drop _s4399_ _s4400_) with
+ | _s4401_ =>
+ (freg_name_matches_prefix _s4401_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4224_ _) =>
- (match (string_drop _s4223_ _s4224_) with
- | _s4225_ =>
- (sep_matches_prefix _s4225_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4402_ _) =>
+ (match (string_drop _s4401_ _s4402_) with
+ | _s4403_ =>
+ (sep_matches_prefix _s4403_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4226_ _) =>
- (match (string_drop _s4225_ _s4226_) with
- | _s4227_ =>
- (reg_name_matches_prefix _s4227_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4404_ _) =>
+ (match (string_drop _s4403_ _s4404_) with
+ | _s4405_ =>
+ (reg_name_matches_prefix _s4405_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4228_ _) =>
- (match (string_drop _s4227_ _s4228_) with
- | _s4229_ =>
- (sep_matches_prefix _s4229_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4406_ _) =>
+ (match (string_drop _s4405_ _s4406_) with
+ | _s4407_ =>
+ (sep_matches_prefix _s4407_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4230_ _) =>
- (match (string_drop _s4229_ _s4230_) with
- | _s4231_ =>
- (frm_mnemonic_matches_prefix _s4231_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4408_ _) =>
+ (match (string_drop _s4407_ _s4408_) with
+ | _s4409_ =>
+ (frm_mnemonic_matches_prefix _s4409_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4232_ _) =>
+ | Some (rm, existT _ _s4410_ _) =>
let p0_ :=
- string_drop _s4231_ _s4232_ in
+ string_drop _s4409_ _s4410_ in
if generic_eq p0_ "" then
Some (FCVT_S_L, rd, rs1, rm)
else None
@@ -46709,52 +47014,52 @@ Definition _s4217_ (_s4218_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4200_ (_s4201_ : string)
+Definition _s4378_ (_s4379_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4201_ with
- | _s4202_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4202_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4379_ with
+ | _s4380_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4380_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_S, existT _ _s4203_ _) =>
- (match (string_drop _s4202_ _s4203_) with
- | _s4204_ =>
- (spc_matches_prefix _s4204_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_S, existT _ _s4381_ _) =>
+ (match (string_drop _s4380_ _s4381_) with
+ | _s4382_ =>
+ (spc_matches_prefix _s4382_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4205_ _) =>
- (match (string_drop _s4204_ _s4205_) with
- | _s4206_ =>
- (reg_name_matches_prefix _s4206_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4383_ _) =>
+ (match (string_drop _s4382_ _s4383_) with
+ | _s4384_ =>
+ (reg_name_matches_prefix _s4384_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4207_ _) =>
- (match (string_drop _s4206_ _s4207_) with
- | _s4208_ =>
- (sep_matches_prefix _s4208_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4385_ _) =>
+ (match (string_drop _s4384_ _s4385_) with
+ | _s4386_ =>
+ (sep_matches_prefix _s4386_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4209_ _) =>
- (match (string_drop _s4208_ _s4209_) with
- | _s4210_ =>
- (freg_name_matches_prefix _s4210_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4387_ _) =>
+ (match (string_drop _s4386_ _s4387_) with
+ | _s4388_ =>
+ (freg_name_matches_prefix _s4388_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4211_ _) =>
- (match (string_drop _s4210_ _s4211_) with
- | _s4212_ =>
- (sep_matches_prefix _s4212_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4389_ _) =>
+ (match (string_drop _s4388_ _s4389_) with
+ | _s4390_ =>
+ (sep_matches_prefix _s4390_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4213_ _) =>
- (match (string_drop _s4212_ _s4213_) with
- | _s4214_ =>
- (frm_mnemonic_matches_prefix _s4214_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4391_ _) =>
+ (match (string_drop _s4390_ _s4391_) with
+ | _s4392_ =>
+ (frm_mnemonic_matches_prefix _s4392_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4215_ _) =>
+ | Some (rm, existT _ _s4393_ _) =>
let p0_ :=
- string_drop _s4214_ _s4215_ in
+ string_drop _s4392_ _s4393_ in
if generic_eq p0_ "" then
Some (FCVT_LU_S, rd, rs1, rm)
else None
@@ -46793,52 +47098,52 @@ Definition _s4200_ (_s4201_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4183_ (_s4184_ : string)
+Definition _s4361_ (_s4362_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4184_ with
- | _s4185_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4185_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4362_ with
+ | _s4363_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4363_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_S, existT _ _s4186_ _) =>
- (match (string_drop _s4185_ _s4186_) with
- | _s4187_ =>
- (spc_matches_prefix _s4187_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_S, existT _ _s4364_ _) =>
+ (match (string_drop _s4363_ _s4364_) with
+ | _s4365_ =>
+ (spc_matches_prefix _s4365_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4188_ _) =>
- (match (string_drop _s4187_ _s4188_) with
- | _s4189_ =>
- (reg_name_matches_prefix _s4189_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4366_ _) =>
+ (match (string_drop _s4365_ _s4366_) with
+ | _s4367_ =>
+ (reg_name_matches_prefix _s4367_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4190_ _) =>
- (match (string_drop _s4189_ _s4190_) with
- | _s4191_ =>
- (sep_matches_prefix _s4191_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4368_ _) =>
+ (match (string_drop _s4367_ _s4368_) with
+ | _s4369_ =>
+ (sep_matches_prefix _s4369_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4192_ _) =>
- (match (string_drop _s4191_ _s4192_) with
- | _s4193_ =>
- (freg_name_matches_prefix _s4193_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4370_ _) =>
+ (match (string_drop _s4369_ _s4370_) with
+ | _s4371_ =>
+ (freg_name_matches_prefix _s4371_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4194_ _) =>
- (match (string_drop _s4193_ _s4194_) with
- | _s4195_ =>
- (sep_matches_prefix _s4195_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4372_ _) =>
+ (match (string_drop _s4371_ _s4372_) with
+ | _s4373_ =>
+ (sep_matches_prefix _s4373_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4196_ _) =>
- (match (string_drop _s4195_ _s4196_) with
- | _s4197_ =>
- (frm_mnemonic_matches_prefix _s4197_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4374_ _) =>
+ (match (string_drop _s4373_ _s4374_) with
+ | _s4375_ =>
+ (frm_mnemonic_matches_prefix _s4375_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4198_ _) =>
+ | Some (rm, existT _ _s4376_ _) =>
let p0_ :=
- string_drop _s4197_ _s4198_ in
+ string_drop _s4375_ _s4376_ in
if generic_eq p0_ "" then
Some (FCVT_L_S, rd, rs1, rm)
else None
@@ -46877,52 +47182,52 @@ Definition _s4183_ (_s4184_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4166_ (_s4167_ : string)
+Definition _s4344_ (_s4345_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4167_ with
- | _s4168_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4168_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4345_ with
+ | _s4346_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4346_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_WU, existT _ _s4169_ _) =>
- (match (string_drop _s4168_ _s4169_) with
- | _s4170_ =>
- (spc_matches_prefix _s4170_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_WU, existT _ _s4347_ _) =>
+ (match (string_drop _s4346_ _s4347_) with
+ | _s4348_ =>
+ (spc_matches_prefix _s4348_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4171_ _) =>
- (match (string_drop _s4170_ _s4171_) with
- | _s4172_ =>
- (freg_name_matches_prefix _s4172_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4349_ _) =>
+ (match (string_drop _s4348_ _s4349_) with
+ | _s4350_ =>
+ (freg_name_matches_prefix _s4350_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4173_ _) =>
- (match (string_drop _s4172_ _s4173_) with
- | _s4174_ =>
- (sep_matches_prefix _s4174_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4351_ _) =>
+ (match (string_drop _s4350_ _s4351_) with
+ | _s4352_ =>
+ (sep_matches_prefix _s4352_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4175_ _) =>
- (match (string_drop _s4174_ _s4175_) with
- | _s4176_ =>
- (reg_name_matches_prefix _s4176_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4353_ _) =>
+ (match (string_drop _s4352_ _s4353_) with
+ | _s4354_ =>
+ (reg_name_matches_prefix _s4354_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4177_ _) =>
- (match (string_drop _s4176_ _s4177_) with
- | _s4178_ =>
- (sep_matches_prefix _s4178_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4355_ _) =>
+ (match (string_drop _s4354_ _s4355_) with
+ | _s4356_ =>
+ (sep_matches_prefix _s4356_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4179_ _) =>
- (match (string_drop _s4178_ _s4179_) with
- | _s4180_ =>
- (frm_mnemonic_matches_prefix _s4180_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4357_ _) =>
+ (match (string_drop _s4356_ _s4357_) with
+ | _s4358_ =>
+ (frm_mnemonic_matches_prefix _s4358_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4181_ _) =>
+ | Some (rm, existT _ _s4359_ _) =>
let p0_ :=
- string_drop _s4180_ _s4181_ in
+ string_drop _s4358_ _s4359_ in
if generic_eq p0_ "" then
Some (FCVT_S_WU, rd, rs1, rm)
else None
@@ -46961,52 +47266,52 @@ Definition _s4166_ (_s4167_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4149_ (_s4150_ : string)
+Definition _s4327_ (_s4328_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4150_ with
- | _s4151_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4151_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4328_ with
+ | _s4329_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4329_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_W, existT _ _s4152_ _) =>
- (match (string_drop _s4151_ _s4152_) with
- | _s4153_ =>
- (spc_matches_prefix _s4153_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_W, existT _ _s4330_ _) =>
+ (match (string_drop _s4329_ _s4330_) with
+ | _s4331_ =>
+ (spc_matches_prefix _s4331_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4154_ _) =>
- (match (string_drop _s4153_ _s4154_) with
- | _s4155_ =>
- (freg_name_matches_prefix _s4155_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4332_ _) =>
+ (match (string_drop _s4331_ _s4332_) with
+ | _s4333_ =>
+ (freg_name_matches_prefix _s4333_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4156_ _) =>
- (match (string_drop _s4155_ _s4156_) with
- | _s4157_ =>
- (sep_matches_prefix _s4157_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4334_ _) =>
+ (match (string_drop _s4333_ _s4334_) with
+ | _s4335_ =>
+ (sep_matches_prefix _s4335_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4158_ _) =>
- (match (string_drop _s4157_ _s4158_) with
- | _s4159_ =>
- (reg_name_matches_prefix _s4159_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4336_ _) =>
+ (match (string_drop _s4335_ _s4336_) with
+ | _s4337_ =>
+ (reg_name_matches_prefix _s4337_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4160_ _) =>
- (match (string_drop _s4159_ _s4160_) with
- | _s4161_ =>
- (sep_matches_prefix _s4161_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4338_ _) =>
+ (match (string_drop _s4337_ _s4338_) with
+ | _s4339_ =>
+ (sep_matches_prefix _s4339_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4162_ _) =>
- (match (string_drop _s4161_ _s4162_) with
- | _s4163_ =>
- (frm_mnemonic_matches_prefix _s4163_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4340_ _) =>
+ (match (string_drop _s4339_ _s4340_) with
+ | _s4341_ =>
+ (frm_mnemonic_matches_prefix _s4341_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4164_ _) =>
+ | Some (rm, existT _ _s4342_ _) =>
let p0_ :=
- string_drop _s4163_ _s4164_ in
+ string_drop _s4341_ _s4342_ in
if generic_eq p0_ "" then
Some (FCVT_S_W, rd, rs1, rm)
else None
@@ -47045,52 +47350,52 @@ Definition _s4149_ (_s4150_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4132_ (_s4133_ : string)
+Definition _s4310_ (_s4311_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4133_ with
- | _s4134_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4134_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4311_ with
+ | _s4312_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4312_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_S, existT _ _s4135_ _) =>
- (match (string_drop _s4134_ _s4135_) with
- | _s4136_ =>
- (spc_matches_prefix _s4136_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_S, existT _ _s4313_ _) =>
+ (match (string_drop _s4312_ _s4313_) with
+ | _s4314_ =>
+ (spc_matches_prefix _s4314_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4137_ _) =>
- (match (string_drop _s4136_ _s4137_) with
- | _s4138_ =>
- (reg_name_matches_prefix _s4138_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4315_ _) =>
+ (match (string_drop _s4314_ _s4315_) with
+ | _s4316_ =>
+ (reg_name_matches_prefix _s4316_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4139_ _) =>
- (match (string_drop _s4138_ _s4139_) with
- | _s4140_ =>
- (sep_matches_prefix _s4140_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4317_ _) =>
+ (match (string_drop _s4316_ _s4317_) with
+ | _s4318_ =>
+ (sep_matches_prefix _s4318_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4141_ _) =>
- (match (string_drop _s4140_ _s4141_) with
- | _s4142_ =>
- (freg_name_matches_prefix _s4142_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4319_ _) =>
+ (match (string_drop _s4318_ _s4319_) with
+ | _s4320_ =>
+ (freg_name_matches_prefix _s4320_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4143_ _) =>
- (match (string_drop _s4142_ _s4143_) with
- | _s4144_ =>
- (sep_matches_prefix _s4144_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4321_ _) =>
+ (match (string_drop _s4320_ _s4321_) with
+ | _s4322_ =>
+ (sep_matches_prefix _s4322_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4145_ _) =>
- (match (string_drop _s4144_ _s4145_) with
- | _s4146_ =>
- (frm_mnemonic_matches_prefix _s4146_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4323_ _) =>
+ (match (string_drop _s4322_ _s4323_) with
+ | _s4324_ =>
+ (frm_mnemonic_matches_prefix _s4324_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4147_ _) =>
+ | Some (rm, existT _ _s4325_ _) =>
let p0_ :=
- string_drop _s4146_ _s4147_ in
+ string_drop _s4324_ _s4325_ in
if generic_eq p0_ "" then
Some (FCVT_WU_S, rd, rs1, rm)
else None
@@ -47129,52 +47434,52 @@ Definition _s4132_ (_s4133_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4115_ (_s4116_ : string)
+Definition _s4293_ (_s4294_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4116_ with
- | _s4117_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4117_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4294_ with
+ | _s4295_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4295_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_S, existT _ _s4118_ _) =>
- (match (string_drop _s4117_ _s4118_) with
- | _s4119_ =>
- (spc_matches_prefix _s4119_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_S, existT _ _s4296_ _) =>
+ (match (string_drop _s4295_ _s4296_) with
+ | _s4297_ =>
+ (spc_matches_prefix _s4297_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4120_ _) =>
- (match (string_drop _s4119_ _s4120_) with
- | _s4121_ =>
- (reg_name_matches_prefix _s4121_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4298_ _) =>
+ (match (string_drop _s4297_ _s4298_) with
+ | _s4299_ =>
+ (reg_name_matches_prefix _s4299_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4122_ _) =>
- (match (string_drop _s4121_ _s4122_) with
- | _s4123_ =>
- (sep_matches_prefix _s4123_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4300_ _) =>
+ (match (string_drop _s4299_ _s4300_) with
+ | _s4301_ =>
+ (sep_matches_prefix _s4301_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4124_ _) =>
- (match (string_drop _s4123_ _s4124_) with
- | _s4125_ =>
- (freg_name_matches_prefix _s4125_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4302_ _) =>
+ (match (string_drop _s4301_ _s4302_) with
+ | _s4303_ =>
+ (freg_name_matches_prefix _s4303_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4126_ _) =>
- (match (string_drop _s4125_ _s4126_) with
- | _s4127_ =>
- (sep_matches_prefix _s4127_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4304_ _) =>
+ (match (string_drop _s4303_ _s4304_) with
+ | _s4305_ =>
+ (sep_matches_prefix _s4305_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4128_ _) =>
- (match (string_drop _s4127_ _s4128_) with
- | _s4129_ =>
- (frm_mnemonic_matches_prefix _s4129_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4306_ _) =>
+ (match (string_drop _s4305_ _s4306_) with
+ | _s4307_ =>
+ (frm_mnemonic_matches_prefix _s4307_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4130_ _) =>
+ | Some (rm, existT _ _s4308_ _) =>
let p0_ :=
- string_drop _s4129_ _s4130_ in
+ string_drop _s4307_ _s4308_ in
if generic_eq p0_ "" then
Some (FCVT_W_S, rd, rs1, rm)
else None
@@ -47213,52 +47518,52 @@ Definition _s4115_ (_s4116_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4098_ (_s4099_ : string)
+Definition _s4276_ (_s4277_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4099_ with
- | _s4100_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s4100_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4277_ with
+ | _s4278_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s4278_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_S, existT _ _s4101_ _) =>
- (match (string_drop _s4100_ _s4101_) with
- | _s4102_ =>
- (spc_matches_prefix _s4102_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_S, existT _ _s4279_ _) =>
+ (match (string_drop _s4278_ _s4279_) with
+ | _s4280_ =>
+ (spc_matches_prefix _s4280_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4103_ _) =>
- (match (string_drop _s4102_ _s4103_) with
- | _s4104_ =>
- (freg_name_matches_prefix _s4104_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4281_ _) =>
+ (match (string_drop _s4280_ _s4281_) with
+ | _s4282_ =>
+ (freg_name_matches_prefix _s4282_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4105_ _) =>
- (match (string_drop _s4104_ _s4105_) with
- | _s4106_ =>
- (sep_matches_prefix _s4106_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4283_ _) =>
+ (match (string_drop _s4282_ _s4283_) with
+ | _s4284_ =>
+ (sep_matches_prefix _s4284_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4107_ _) =>
- (match (string_drop _s4106_ _s4107_) with
- | _s4108_ =>
- (freg_name_matches_prefix _s4108_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4285_ _) =>
+ (match (string_drop _s4284_ _s4285_) with
+ | _s4286_ =>
+ (freg_name_matches_prefix _s4286_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4109_ _) =>
- (match (string_drop _s4108_ _s4109_) with
- | _s4110_ =>
- (sep_matches_prefix _s4110_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4287_ _) =>
+ (match (string_drop _s4286_ _s4287_) with
+ | _s4288_ =>
+ (sep_matches_prefix _s4288_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4111_ _) =>
- (match (string_drop _s4110_ _s4111_) with
- | _s4112_ =>
- (frm_mnemonic_matches_prefix _s4112_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4289_ _) =>
+ (match (string_drop _s4288_ _s4289_) with
+ | _s4290_ =>
+ (frm_mnemonic_matches_prefix _s4290_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s4113_ _) =>
+ | Some (rm, existT _ _s4291_ _) =>
let p0_ :=
- string_drop _s4112_ _s4113_ in
+ string_drop _s4290_ _s4291_ in
if generic_eq p0_ "" then
Some (FSQRT_S, rd, rs1, rm)
else None
@@ -47297,69 +47602,69 @@ Definition _s4098_ (_s4099_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode))).
-Definition _s4077_ (_s4078_ : string)
+Definition _s4255_ (_s4256_ : string)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4078_ with
- | _s4079_ =>
- (f_bin_rm_type_mnemonic_S_matches_prefix _s4079_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s4256_ with
+ | _s4257_ =>
+ (f_bin_rm_type_mnemonic_S_matches_prefix _s4257_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4080_ _) =>
- (match (string_drop _s4079_ _s4080_) with
- | _s4081_ =>
- (spc_matches_prefix _s4081_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4258_ _) =>
+ (match (string_drop _s4257_ _s4258_) with
+ | _s4259_ =>
+ (spc_matches_prefix _s4259_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4082_ _) =>
- (match (string_drop _s4081_ _s4082_) with
- | _s4083_ =>
- (freg_name_matches_prefix _s4083_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4260_ _) =>
+ (match (string_drop _s4259_ _s4260_) with
+ | _s4261_ =>
+ (freg_name_matches_prefix _s4261_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4084_ _) =>
- (match (string_drop _s4083_ _s4084_) with
- | _s4085_ =>
- (sep_matches_prefix _s4085_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4262_ _) =>
+ (match (string_drop _s4261_ _s4262_) with
+ | _s4263_ =>
+ (sep_matches_prefix _s4263_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4086_ _) =>
- (match (string_drop _s4085_ _s4086_) with
- | _s4087_ =>
- (freg_name_matches_prefix _s4087_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4264_ _) =>
+ (match (string_drop _s4263_ _s4264_) with
+ | _s4265_ =>
+ (freg_name_matches_prefix _s4265_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4088_ _) =>
- (match (string_drop _s4087_ _s4088_) with
- | _s4089_ =>
- (sep_matches_prefix _s4089_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4266_ _) =>
+ (match (string_drop _s4265_ _s4266_) with
+ | _s4267_ =>
+ (sep_matches_prefix _s4267_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4090_ _) =>
- (match (string_drop _s4089_ _s4090_) with
- | _s4091_ =>
- (freg_name_matches_prefix _s4091_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4268_ _) =>
+ (match (string_drop _s4267_ _s4268_) with
+ | _s4269_ =>
+ (freg_name_matches_prefix _s4269_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s4092_ _) =>
- (match (string_drop _s4091_ _s4092_) with
- | _s4093_ =>
- (sep_matches_prefix _s4093_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4270_ _) =>
+ (match (string_drop _s4269_ _s4270_) with
+ | _s4271_ =>
+ (sep_matches_prefix _s4271_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s4094_ _) =>
- (match (string_drop _s4093_
- _s4094_) with
- | _s4095_ =>
+ | Some (tt, existT _ _s4272_ _) =>
+ (match (string_drop _s4271_
+ _s4272_) with
+ | _s4273_ =>
(frm_mnemonic_matches_prefix
- _s4095_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s4273_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s4096_ _) =>
+ (rm, existT _ _s4274_ _) =>
let p0_ :=
string_drop
- _s4095_
- _s4096_ in
+ _s4273_
+ _s4274_ in
if generic_eq p0_
"" then
Some
@@ -47410,88 +47715,88 @@ Definition _s4077_ (_s4078_ : string)
end)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s4052_ (_s4053_ : string)
+Definition _s4230_ (_s4231_ : string)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))) :=
- (match _s4053_ with
- | _s4054_ =>
- (f_madd_type_mnemonic_S_matches_prefix _s4054_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
+ (match _s4231_ with
+ | _s4232_ =>
+ (f_madd_type_mnemonic_S_matches_prefix _s4232_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4055_ _) =>
- (match (string_drop _s4054_ _s4055_) with
- | _s4056_ =>
- (spc_matches_prefix _s4056_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4233_ _) =>
+ (match (string_drop _s4232_ _s4233_) with
+ | _s4234_ =>
+ (spc_matches_prefix _s4234_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4057_ _) =>
- (match (string_drop _s4056_ _s4057_) with
- | _s4058_ =>
- (freg_name_matches_prefix _s4058_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4235_ _) =>
+ (match (string_drop _s4234_ _s4235_) with
+ | _s4236_ =>
+ (freg_name_matches_prefix _s4236_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4059_ _) =>
- (match (string_drop _s4058_ _s4059_) with
- | _s4060_ =>
- (sep_matches_prefix _s4060_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4237_ _) =>
+ (match (string_drop _s4236_ _s4237_) with
+ | _s4238_ =>
+ (sep_matches_prefix _s4238_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4061_ _) =>
- (match (string_drop _s4060_ _s4061_) with
- | _s4062_ =>
- (freg_name_matches_prefix _s4062_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4239_ _) =>
+ (match (string_drop _s4238_ _s4239_) with
+ | _s4240_ =>
+ (freg_name_matches_prefix _s4240_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s4063_ _) =>
- (match (string_drop _s4062_ _s4063_) with
- | _s4064_ =>
- (sep_matches_prefix _s4064_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4241_ _) =>
+ (match (string_drop _s4240_ _s4241_) with
+ | _s4242_ =>
+ (sep_matches_prefix _s4242_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4065_ _) =>
- (match (string_drop _s4064_ _s4065_) with
- | _s4066_ =>
- (freg_name_matches_prefix _s4066_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4243_ _) =>
+ (match (string_drop _s4242_ _s4243_) with
+ | _s4244_ =>
+ (freg_name_matches_prefix _s4244_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s4067_ _) =>
- (match (string_drop _s4066_ _s4067_) with
- | _s4068_ =>
- (sep_matches_prefix _s4068_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4245_ _) =>
+ (match (string_drop _s4244_ _s4245_) with
+ | _s4246_ =>
+ (sep_matches_prefix _s4246_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s4069_ _) =>
- (match (string_drop _s4068_
- _s4069_) with
- | _s4070_ =>
+ | Some (tt, existT _ _s4247_ _) =>
+ (match (string_drop _s4246_
+ _s4247_) with
+ | _s4248_ =>
(freg_name_matches_prefix
- _s4070_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4248_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s4071_ _) =>
+ (rs3, existT _ _s4249_ _) =>
(match (string_drop
- _s4070_ _s4071_) with
- | _s4072_ =>
+ _s4248_ _s4249_) with
+ | _s4250_ =>
(sep_matches_prefix
- _s4072_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4250_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s4073_ _) =>
+ (tt, existT _ _s4251_ _) =>
(match (string_drop
- _s4072_
- _s4073_) with
- | _s4074_ =>
+ _s4250_
+ _s4251_) with
+ | _s4252_ =>
(frm_mnemonic_matches_prefix
- _s4074_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s4252_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s4075_ _) =>
+ (rm, existT _ _s4253_ _) =>
let p0_ :=
string_drop
- _s4074_
- _s4075_ in
+ _s4252_
+ _s4253_ in
if
generic_eq
p0_
@@ -47557,81 +47862,81 @@ Definition _s4052_ (_s4053_ : string)
end)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode))).
-Definition _s4028_ (_s4029_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s4030_ := _s4029_ in
- (if string_startswith _s4030_ "fs" then
- (match (string_drop _s4030_ (projT1 (string_length "fs"))) with
- | _s4031_ =>
- (size_mnemonic_matches_prefix _s4031_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s4206_ (_s4207_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s4208_ := _s4207_ in
+ (if string_startswith _s4208_ "fs" then
+ (match (string_drop _s4208_ (projT1 (string_length "fs"))) with
+ | _s4209_ =>
+ (size_mnemonic_matches_prefix _s4209_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s4032_ _) =>
- (match (string_drop _s4031_ _s4032_) with
- | _s4033_ =>
- (spc_matches_prefix _s4033_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s4210_ _) =>
+ (match (string_drop _s4209_ _s4210_) with
+ | _s4211_ =>
+ (spc_matches_prefix _s4211_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4034_ _) =>
- (match (string_drop _s4033_ _s4034_) with
- | _s4035_ =>
- (freg_name_matches_prefix _s4035_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4212_ _) =>
+ (match (string_drop _s4211_ _s4212_) with
+ | _s4213_ =>
+ (freg_name_matches_prefix _s4213_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs2, existT _ _s4036_ _) =>
- (match (string_drop _s4035_ _s4036_) with
- | _s4037_ =>
- (sep_matches_prefix _s4037_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s4214_ _) =>
+ (match (string_drop _s4213_ _s4214_) with
+ | _s4215_ =>
+ (sep_matches_prefix _s4215_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4038_ _) =>
- (match (string_drop _s4037_ _s4038_) with
- | _s4039_ =>
- (match (hex_bits_12_matches_prefix _s4039_) with
- | Some (imm, existT _ _s4040_ _) =>
- (match (string_drop _s4039_ _s4040_) with
- | _s4041_ =>
- (opt_spc_matches_prefix _s4041_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4216_ _) =>
+ (match (string_drop _s4215_ _s4216_) with
+ | _s4217_ =>
+ (match (hex_bits_12_matches_prefix _s4217_) with
+ | Some (imm, existT _ _s4218_ _) =>
+ (match (string_drop _s4217_ _s4218_) with
+ | _s4219_ =>
+ (opt_spc_matches_prefix _s4219_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s4042_ _) =>
- let _s4043_ := string_drop _s4041_ _s4042_ in
- (if string_startswith _s4043_ "(" then
- (match (string_drop _s4043_
+ | Some (tt, existT _ _s4220_ _) =>
+ let _s4221_ := string_drop _s4219_ _s4220_ in
+ (if string_startswith _s4221_ "(" then
+ (match (string_drop _s4221_
(projT1
(string_length "("))) with
- | _s4044_ =>
- (opt_spc_matches_prefix _s4044_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s4222_ =>
+ (opt_spc_matches_prefix _s4222_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4045_ _) =>
- (match (string_drop _s4044_ _s4045_) with
- | _s4046_ =>
+ | Some (tt, existT _ _s4223_ _) =>
+ (match (string_drop _s4222_ _s4223_) with
+ | _s4224_ =>
(reg_name_matches_prefix
- _s4046_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4224_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s4047_ _) =>
- (match (string_drop _s4046_
- _s4047_) with
- | _s4048_ =>
+ (rs1, existT _ _s4225_ _) =>
+ (match (string_drop _s4224_
+ _s4225_) with
+ | _s4226_ =>
(opt_spc_matches_prefix
- _s4048_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4226_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s4049_ _) =>
- let _s4050_ :=
+ (tt, existT _ _s4227_ _) =>
+ let _s4228_ :=
string_drop
- _s4048_
- _s4049_ in
+ _s4226_
+ _s4227_ in
if string_startswith
- _s4050_
+ _s4228_
")"
then
let p0_ :=
string_drop
- _s4050_
+ _s4228_
(projT1
(string_length
")")) in
@@ -47692,81 +47997,81 @@ Definition _s4028_ (_s4029_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s4004_ (_s4005_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
- let _s4006_ := _s4005_ in
- (if string_startswith _s4006_ "fl" then
- (match (string_drop _s4006_ (projT1 (string_length "fl"))) with
- | _s4007_ =>
- (size_mnemonic_matches_prefix _s4007_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s4182_ (_s4183_ : string) : M (option ((word_width * mword 5 * mword 12 * mword 5))) :=
+ let _s4184_ := _s4183_ in
+ (if string_startswith _s4184_ "fl" then
+ (match (string_drop _s4184_ (projT1 (string_length "fl"))) with
+ | _s4185_ =>
+ (size_mnemonic_matches_prefix _s4185_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s4008_ _) =>
- (match (string_drop _s4007_ _s4008_) with
- | _s4009_ =>
- (spc_matches_prefix _s4009_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s4186_ _) =>
+ (match (string_drop _s4185_ _s4186_) with
+ | _s4187_ =>
+ (spc_matches_prefix _s4187_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4010_ _) =>
- (match (string_drop _s4009_ _s4010_) with
- | _s4011_ =>
- (freg_name_matches_prefix _s4011_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4188_ _) =>
+ (match (string_drop _s4187_ _s4188_) with
+ | _s4189_ =>
+ (freg_name_matches_prefix _s4189_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4012_ _) =>
- (match (string_drop _s4011_ _s4012_) with
- | _s4013_ =>
- (sep_matches_prefix _s4013_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4190_ _) =>
+ (match (string_drop _s4189_ _s4190_) with
+ | _s4191_ =>
+ (sep_matches_prefix _s4191_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s4014_ _) =>
- (match (string_drop _s4013_ _s4014_) with
- | _s4015_ =>
- (match (hex_bits_12_matches_prefix _s4015_) with
- | Some (imm, existT _ _s4016_ _) =>
- (match (string_drop _s4015_ _s4016_) with
- | _s4017_ =>
- (opt_spc_matches_prefix _s4017_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4192_ _) =>
+ (match (string_drop _s4191_ _s4192_) with
+ | _s4193_ =>
+ (match (hex_bits_12_matches_prefix _s4193_) with
+ | Some (imm, existT _ _s4194_ _) =>
+ (match (string_drop _s4193_ _s4194_) with
+ | _s4195_ =>
+ (opt_spc_matches_prefix _s4195_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s4018_ _) =>
- let _s4019_ := string_drop _s4017_ _s4018_ in
- (if string_startswith _s4019_ "(" then
- (match (string_drop _s4019_
+ | Some (tt, existT _ _s4196_ _) =>
+ let _s4197_ := string_drop _s4195_ _s4196_ in
+ (if string_startswith _s4197_ "(" then
+ (match (string_drop _s4197_
(projT1
(string_length "("))) with
- | _s4020_ =>
- (opt_spc_matches_prefix _s4020_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s4198_ =>
+ (opt_spc_matches_prefix _s4198_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4021_ _) =>
- (match (string_drop _s4020_ _s4021_) with
- | _s4022_ =>
+ | Some (tt, existT _ _s4199_ _) =>
+ (match (string_drop _s4198_ _s4199_) with
+ | _s4200_ =>
(reg_name_matches_prefix
- _s4022_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s4200_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s4023_ _) =>
- (match (string_drop _s4022_
- _s4023_) with
- | _s4024_ =>
+ (rs1, existT _ _s4201_ _) =>
+ (match (string_drop _s4200_
+ _s4201_) with
+ | _s4202_ =>
(opt_spc_matches_prefix
- _s4024_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s4202_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s4025_ _) =>
- let _s4026_ :=
+ (tt, existT _ _s4203_ _) =>
+ let _s4204_ :=
string_drop
- _s4024_
- _s4025_ in
+ _s4202_
+ _s4203_ in
if string_startswith
- _s4026_
+ _s4204_
")"
then
let p0_ :=
string_drop
- _s4026_
+ _s4204_
(projT1
(string_length
")")) in
@@ -47827,51 +48132,343 @@ Definition _s4004_ (_s4005_ : string) : M (option ((word_width * mword 5 * mword
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5))).
-Definition _s3987_ (_s3988_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s3988_ with
- | _s3989_ =>
- (csr_mnemonic_matches_prefix _s3989_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s4170_ (_s4171_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s4172_ := _s4171_ in
+ (if string_startswith _s4172_ "fence.i.reserved." then
+ (match (string_drop _s4172_ (projT1 (string_length "fence.i.reserved."))) with
+ | _s4173_ =>
+ (reg_name_matches_prefix _s4173_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (rd, existT _ _s4174_ _) =>
+ let _s4175_ := string_drop _s4173_ _s4174_ in
+ (if string_startswith _s4175_ "." then
+ (match (string_drop _s4175_ (projT1 (string_length "."))) with
+ | _s4176_ =>
+ (reg_name_matches_prefix _s4176_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__1 with
+ | Some (rs, existT _ _s4177_ _) =>
+ let _s4178_ := string_drop _s4176_ _s4177_ in
+ if string_startswith _s4178_ "." then
+ match (string_drop _s4178_ (projT1 (string_length "."))) with
+ | _s4179_ =>
+ match (hex_bits_12_matches_prefix _s4179_) with
+ | Some (imm, existT _ _s4180_ _) =>
+ let p0_ := string_drop _s4179_ _s4180_ in
+ if generic_eq p0_ "" then Some (rd, rs, imm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12))).
+
+Definition _s4152_ (_s4153_ : string)
+: M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))) :=
+ let _s4154_ := _s4153_ in
+ (if string_startswith _s4154_ "fence.reserved." then
+ (match (string_drop _s4154_ (projT1 (string_length "fence.reserved."))) with
+ | _s4155_ =>
+ (fence_bits_matches_prefix _s4155_) >>= fun w__0 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (pred, existT _ _s4156_ _) =>
+ let _s4157_ := string_drop _s4155_ _s4156_ in
+ (if string_startswith _s4157_ "." then
+ (match (string_drop _s4157_ (projT1 (string_length "."))) with
+ | _s4158_ =>
+ (fence_bits_matches_prefix _s4158_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__1 with
+ | Some (succ, existT _ _s4159_ _) =>
+ let _s4160_ := string_drop _s4158_ _s4159_ in
+ (if string_startswith _s4160_ "." then
+ (match (string_drop _s4160_ (projT1 (string_length "."))) with
+ | _s4161_ =>
+ (reg_name_matches_prefix _s4161_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__2 with
+ | Some (rs, existT _ _s4162_ _) =>
+ let _s4163_ := string_drop _s4161_ _s4162_ in
+ (if string_startswith _s4163_ "." then
+ (match (string_drop _s4163_ (projT1 (string_length "."))) with
+ | _s4164_ =>
+ (reg_name_matches_prefix _s4164_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__3 with
+ | Some (rd, existT _ _s4165_ _) =>
+ let _s4166_ := string_drop _s4164_ _s4165_ in
+ if string_startswith _s4166_ "." then
+ match (string_drop _s4166_
+ (projT1
+ (string_length "."))) with
+ | _s4167_ =>
+ match (hex_bits_4_matches_prefix _s4167_) with
+ | Some (fm, existT _ _s4168_ _) =>
+ let p0_ :=
+ string_drop _s4167_ _s4168_ in
+ if generic_eq p0_ "" then
+ Some (pred, succ, rs, rd, fm)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4))).
+
+Definition _s4146_ (_s4147_ : string) : M (option (mword 3)) :=
+ let _s4148_ := _s4147_ in
+ (if string_startswith _s4148_ "c.srai.hint." then
+ (match (string_drop _s4148_ (projT1 (string_length "c.srai.hint."))) with
+ | _s4149_ =>
+ (creg_name_matches_prefix _s4149_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s4150_ _) =>
+ let p0_ := string_drop _s4149_ _s4150_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s4140_ (_s4141_ : string) : M (option (mword 3)) :=
+ let _s4142_ := _s4141_ in
+ (if string_startswith _s4142_ "c.srli.hint." then
+ (match (string_drop _s4142_ (projT1 (string_length "c.srli.hint."))) with
+ | _s4143_ =>
+ (creg_name_matches_prefix _s4143_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s4144_ _) =>
+ let p0_ := string_drop _s4143_ _s4144_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 3))
+ else returnm None)
+ : M (option (mword 3)).
+
+Definition _s4131_ (_s4132_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s4133_ := _s4132_ in
+ (if string_startswith _s4133_ "c.slli.hint." then
+ (match (string_drop _s4133_ (projT1 (string_length "c.slli.hint."))) with
+ | _s4134_ =>
+ (reg_name_matches_prefix _s4134_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s4135_ _) =>
+ let _s4136_ := string_drop _s4134_ _s4135_ in
+ if string_startswith _s4136_ "." then
+ match (string_drop _s4136_ (projT1 (string_length "."))) with
+ | _s4137_ =>
+ match (hex_bits_6_matches_prefix _s4137_) with
+ | Some (shamt, existT _ _s4138_ _) =>
+ let p0_ := string_drop _s4137_ _s4138_ in
+ if generic_eq p0_ "" then Some (rsd, shamt)
+ else None
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 6)))
+ else returnm None)
+ : M (option ((mword 5 * mword 6))).
+
+Definition _s4125_ (_s4126_ : string) : M (option (mword 5)) :=
+ let _s4127_ := _s4126_ in
+ (if string_startswith _s4127_ "c.add.hint." then
+ (match (string_drop _s4127_ (projT1 (string_length "c.add.hint."))) with
+ | _s4128_ =>
+ (reg_name_matches_prefix _s4128_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s4129_ _) =>
+ let p0_ := string_drop _s4128_ _s4129_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s4119_ (_s4120_ : string) : M (option (mword 5)) :=
+ let _s4121_ := _s4120_ in
+ (if string_startswith _s4121_ "c.mv.hint." then
+ (match (string_drop _s4121_ (projT1 (string_length "c.mv.hint."))) with
+ | _s4122_ =>
+ (reg_name_matches_prefix _s4122_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s4123_ _) =>
+ let p0_ := string_drop _s4122_ _s4123_ in
+ if generic_eq p0_ "" then Some rs2
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s4113_ (_s4114_ : string) : option (mword 6) :=
+ let _s4115_ := _s4114_ in
+ if string_startswith _s4115_ "c.lui.hint." then
+ match (string_drop _s4115_ (projT1 (string_length "c.lui.hint."))) with
+ | _s4116_ =>
+ match (hex_bits_6_matches_prefix _s4116_) with
+ | Some (imm, existT _ _s4117_ _) =>
+ let p0_ := string_drop _s4116_ _s4117_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s4107_ (_s4108_ : string) : option (mword 6) :=
+ let _s4109_ := _s4108_ in
+ if string_startswith _s4109_ "c.li.hint." then
+ match (string_drop _s4109_ (projT1 (string_length "c.li.hint."))) with
+ | _s4110_ =>
+ match (hex_bits_6_matches_prefix _s4110_) with
+ | Some (imm, existT _ _s4111_ _) =>
+ let p0_ := string_drop _s4110_ _s4111_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s4101_ (_s4102_ : string) : M (option (mword 5)) :=
+ let _s4103_ := _s4102_ in
+ (if string_startswith _s4103_ "c.addi.hint." then
+ (match (string_drop _s4103_ (projT1 (string_length "c.addi.hint."))) with
+ | _s4104_ =>
+ (reg_name_matches_prefix _s4104_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s4105_ _) =>
+ let p0_ := string_drop _s4104_ _s4105_ in
+ if generic_eq p0_ "" then Some rsd
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option (mword 5))
+ else returnm None)
+ : M (option (mword 5)).
+
+Definition _s4095_ (_s4096_ : string) : option (mword 6) :=
+ let _s4097_ := _s4096_ in
+ if string_startswith _s4097_ "c.nop.hint." then
+ match (string_drop _s4097_ (projT1 (string_length "c.nop.hint."))) with
+ | _s4098_ =>
+ match (hex_bits_6_matches_prefix _s4098_) with
+ | Some (imm, existT _ _s4099_ _) =>
+ let p0_ := string_drop _s4098_ _s4099_ in
+ if generic_eq p0_ "" then Some imm
+ else None
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s4078_ (_s4079_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s4079_ with
+ | _s4080_ =>
+ (csr_mnemonic_matches_prefix _s4080_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3990_ _) =>
- (match (string_drop _s3989_ _s3990_) with
- | _s3991_ =>
- (spc_matches_prefix _s3991_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4081_ _) =>
+ (match (string_drop _s4080_ _s4081_) with
+ | _s4082_ =>
+ (spc_matches_prefix _s4082_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3992_ _) =>
- (match (string_drop _s3991_ _s3992_) with
- | _s3993_ =>
- (reg_name_matches_prefix _s3993_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4083_ _) =>
+ (match (string_drop _s4082_ _s4083_) with
+ | _s4084_ =>
+ (reg_name_matches_prefix _s4084_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3994_ _) =>
- (match (string_drop _s3993_ _s3994_) with
- | _s3995_ =>
- (sep_matches_prefix _s3995_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4085_ _) =>
+ (match (string_drop _s4084_ _s4085_) with
+ | _s4086_ =>
+ (sep_matches_prefix _s4086_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3996_ _) =>
- (match (string_drop _s3995_ _s3996_) with
- | _s3997_ =>
- (csr_name_map_matches_prefix _s3997_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4087_ _) =>
+ (match (string_drop _s4086_ _s4087_) with
+ | _s4088_ =>
+ (csr_name_map_matches_prefix _s4088_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s3998_ _) =>
- (match (string_drop _s3997_ _s3998_) with
- | _s3999_ =>
- (sep_matches_prefix _s3999_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s4089_ _) =>
+ (match (string_drop _s4088_ _s4089_) with
+ | _s4090_ =>
+ (sep_matches_prefix _s4090_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s4000_ _) =>
- (match (string_drop _s3999_ _s4000_) with
- | _s4001_ =>
- (reg_name_matches_prefix _s4001_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4091_ _) =>
+ (match (string_drop _s4090_ _s4091_) with
+ | _s4092_ =>
+ (reg_name_matches_prefix _s4092_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s4002_ _) =>
+ | Some (rs1, existT _ _s4093_ _) =>
let p0_ :=
- string_drop _s4001_ _s4002_ in
+ string_drop _s4092_ _s4093_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -47910,52 +48507,52 @@ Definition _s3987_ (_s3988_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s3969_ (_s3970_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
- (match _s3970_ with
- | _s3971_ =>
- (csr_mnemonic_matches_prefix _s3971_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s4060_ (_s4061_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5))) :=
+ (match _s4061_ with
+ | _s4062_ =>
+ (csr_mnemonic_matches_prefix _s4062_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3972_ _) =>
- let _s3973_ := string_drop _s3971_ _s3972_ in
- (if string_startswith _s3973_ "i" then
- (match (string_drop _s3973_ (projT1 (string_length "i"))) with
- | _s3974_ =>
- (spc_matches_prefix _s3974_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s4063_ _) =>
+ let _s4064_ := string_drop _s4062_ _s4063_ in
+ (if string_startswith _s4064_ "i" then
+ (match (string_drop _s4064_ (projT1 (string_length "i"))) with
+ | _s4065_ =>
+ (spc_matches_prefix _s4065_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3975_ _) =>
- (match (string_drop _s3974_ _s3975_) with
- | _s3976_ =>
- (reg_name_matches_prefix _s3976_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4066_ _) =>
+ (match (string_drop _s4065_ _s4066_) with
+ | _s4067_ =>
+ (reg_name_matches_prefix _s4067_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3977_ _) =>
- (match (string_drop _s3976_ _s3977_) with
- | _s3978_ =>
- (sep_matches_prefix _s3978_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4068_ _) =>
+ (match (string_drop _s4067_ _s4068_) with
+ | _s4069_ =>
+ (sep_matches_prefix _s4069_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3979_ _) =>
- (match (string_drop _s3978_ _s3979_) with
- | _s3980_ =>
- (csr_name_map_matches_prefix _s3980_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4070_ _) =>
+ (match (string_drop _s4069_ _s4070_) with
+ | _s4071_ =>
+ (csr_name_map_matches_prefix _s4071_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s3981_ _) =>
- (match (string_drop _s3980_ _s3981_) with
- | _s3982_ =>
- (sep_matches_prefix _s3982_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s4072_ _) =>
+ (match (string_drop _s4071_ _s4072_) with
+ | _s4073_ =>
+ (sep_matches_prefix _s4073_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3983_ _) =>
- match (string_drop _s3982_ _s3983_) with
- | _s3984_ =>
+ | Some (tt, existT _ _s4074_ _) =>
+ match (string_drop _s4073_ _s4074_) with
+ | _s4075_ =>
match (hex_bits_5_matches_prefix
- _s3984_) with
- | Some (rs1, existT _ _s3985_ _) =>
+ _s4075_) with
+ | Some (rs1, existT _ _s4076_ _) =>
let p0_ :=
- string_drop _s3984_ _s3985_ in
+ string_drop _s4075_ _s4076_ in
if generic_eq p0_ "" then
Some (op, rd, csr, rs1)
else None
@@ -47994,57 +48591,57 @@ Definition _s3969_ (_s3970_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5))).
-Definition _s3950_ (_s3951_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3952_ := _s3951_ in
- (if string_startswith _s3952_ "rem" then
- (match (string_drop _s3952_ (projT1 (string_length "rem"))) with
- | _s3953_ =>
- (maybe_not_u_matches_prefix _s3953_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s4041_ (_s4042_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s4043_ := _s4042_ in
+ (if string_startswith _s4043_ "rem" then
+ (match (string_drop _s4043_ (projT1 (string_length "rem"))) with
+ | _s4044_ =>
+ (maybe_not_u_matches_prefix _s4044_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3954_ _) =>
- let _s3955_ := string_drop _s3953_ _s3954_ in
- (if string_startswith _s3955_ "w" then
- (match (string_drop _s3955_ (projT1 (string_length "w"))) with
- | _s3956_ =>
- (spc_matches_prefix _s3956_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s4045_ _) =>
+ let _s4046_ := string_drop _s4044_ _s4045_ in
+ (if string_startswith _s4046_ "w" then
+ (match (string_drop _s4046_ (projT1 (string_length "w"))) with
+ | _s4047_ =>
+ (spc_matches_prefix _s4047_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3957_ _) =>
- (match (string_drop _s3956_ _s3957_) with
- | _s3958_ =>
- (reg_name_matches_prefix _s3958_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4048_ _) =>
+ (match (string_drop _s4047_ _s4048_) with
+ | _s4049_ =>
+ (reg_name_matches_prefix _s4049_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3959_ _) =>
- (match (string_drop _s3958_ _s3959_) with
- | _s3960_ =>
- (sep_matches_prefix _s3960_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4050_ _) =>
+ (match (string_drop _s4049_ _s4050_) with
+ | _s4051_ =>
+ (sep_matches_prefix _s4051_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3961_ _) =>
- (match (string_drop _s3960_ _s3961_) with
- | _s3962_ =>
- (reg_name_matches_prefix _s3962_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4052_ _) =>
+ (match (string_drop _s4051_ _s4052_) with
+ | _s4053_ =>
+ (reg_name_matches_prefix _s4053_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3963_ _) =>
- (match (string_drop _s3962_ _s3963_) with
- | _s3964_ =>
- (sep_matches_prefix _s3964_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4054_ _) =>
+ (match (string_drop _s4053_ _s4054_) with
+ | _s4055_ =>
+ (sep_matches_prefix _s4055_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3965_ _) =>
- (match (string_drop _s3964_ _s3965_) with
- | _s3966_ =>
- (reg_name_matches_prefix _s3966_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4056_ _) =>
+ (match (string_drop _s4055_ _s4056_) with
+ | _s4057_ =>
+ (reg_name_matches_prefix _s4057_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s3967_ _) =>
+ (rs2, existT _ _s4058_ _) =>
let p0_ :=
- string_drop _s3966_
- _s3967_ in
+ string_drop _s4057_
+ _s4058_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -48087,57 +48684,57 @@ Definition _s3950_ (_s3951_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3931_ (_s3932_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3933_ := _s3932_ in
- (if string_startswith _s3933_ "div" then
- (match (string_drop _s3933_ (projT1 (string_length "div"))) with
- | _s3934_ =>
- (maybe_not_u_matches_prefix _s3934_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s4022_ (_s4023_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s4024_ := _s4023_ in
+ (if string_startswith _s4024_ "div" then
+ (match (string_drop _s4024_ (projT1 (string_length "div"))) with
+ | _s4025_ =>
+ (maybe_not_u_matches_prefix _s4025_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3935_ _) =>
- let _s3936_ := string_drop _s3934_ _s3935_ in
- (if string_startswith _s3936_ "w" then
- (match (string_drop _s3936_ (projT1 (string_length "w"))) with
- | _s3937_ =>
- (spc_matches_prefix _s3937_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s4026_ _) =>
+ let _s4027_ := string_drop _s4025_ _s4026_ in
+ (if string_startswith _s4027_ "w" then
+ (match (string_drop _s4027_ (projT1 (string_length "w"))) with
+ | _s4028_ =>
+ (spc_matches_prefix _s4028_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3938_ _) =>
- (match (string_drop _s3937_ _s3938_) with
- | _s3939_ =>
- (reg_name_matches_prefix _s3939_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4029_ _) =>
+ (match (string_drop _s4028_ _s4029_) with
+ | _s4030_ =>
+ (reg_name_matches_prefix _s4030_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3940_ _) =>
- (match (string_drop _s3939_ _s3940_) with
- | _s3941_ =>
- (sep_matches_prefix _s3941_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4031_ _) =>
+ (match (string_drop _s4030_ _s4031_) with
+ | _s4032_ =>
+ (sep_matches_prefix _s4032_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3942_ _) =>
- (match (string_drop _s3941_ _s3942_) with
- | _s3943_ =>
- (reg_name_matches_prefix _s3943_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4033_ _) =>
+ (match (string_drop _s4032_ _s4033_) with
+ | _s4034_ =>
+ (reg_name_matches_prefix _s4034_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3944_ _) =>
- (match (string_drop _s3943_ _s3944_) with
- | _s3945_ =>
- (sep_matches_prefix _s3945_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4035_ _) =>
+ (match (string_drop _s4034_ _s4035_) with
+ | _s4036_ =>
+ (sep_matches_prefix _s4036_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3946_ _) =>
- (match (string_drop _s3945_ _s3946_) with
- | _s3947_ =>
- (reg_name_matches_prefix _s3947_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4037_ _) =>
+ (match (string_drop _s4036_ _s4037_) with
+ | _s4038_ =>
+ (reg_name_matches_prefix _s4038_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s3948_ _) =>
+ (rs2, existT _ _s4039_ _) =>
let p0_ :=
- string_drop _s3947_
- _s3948_ in
+ string_drop _s4038_
+ _s4039_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -48180,45 +48777,45 @@ Definition _s3931_ (_s3932_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3915_ (_s3916_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
- let _s3917_ := _s3916_ in
- (if string_startswith _s3917_ "mulw" then
- (match (string_drop _s3917_ (projT1 (string_length "mulw"))) with
- | _s3918_ =>
- (spc_matches_prefix _s3918_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s4006_ (_s4007_ : string) : M (option ((mword 5 * mword 5 * mword 5))) :=
+ let _s4008_ := _s4007_ in
+ (if string_startswith _s4008_ "mulw" then
+ (match (string_drop _s4008_ (projT1 (string_length "mulw"))) with
+ | _s4009_ =>
+ (spc_matches_prefix _s4009_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3919_ _) =>
- (match (string_drop _s3918_ _s3919_) with
- | _s3920_ =>
- (reg_name_matches_prefix _s3920_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4010_ _) =>
+ (match (string_drop _s4009_ _s4010_) with
+ | _s4011_ =>
+ (reg_name_matches_prefix _s4011_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3921_ _) =>
- (match (string_drop _s3920_ _s3921_) with
- | _s3922_ =>
- (sep_matches_prefix _s3922_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s4012_ _) =>
+ (match (string_drop _s4011_ _s4012_) with
+ | _s4013_ =>
+ (sep_matches_prefix _s4013_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3923_ _) =>
- (match (string_drop _s3922_ _s3923_) with
- | _s3924_ =>
- (reg_name_matches_prefix _s3924_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4014_ _) =>
+ (match (string_drop _s4013_ _s4014_) with
+ | _s4015_ =>
+ (reg_name_matches_prefix _s4015_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s3925_ _) =>
- (match (string_drop _s3924_ _s3925_) with
- | _s3926_ =>
- (sep_matches_prefix _s3926_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4016_ _) =>
+ (match (string_drop _s4015_ _s4016_) with
+ | _s4017_ =>
+ (sep_matches_prefix _s4017_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s3927_ _) =>
- (match (string_drop _s3926_ _s3927_) with
- | _s3928_ =>
- (reg_name_matches_prefix _s3928_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4018_ _) =>
+ (match (string_drop _s4017_ _s4018_) with
+ | _s4019_ =>
+ (reg_name_matches_prefix _s4019_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (rs2, existT _ _s3929_ _) =>
- let p0_ := string_drop _s3928_ _s3929_ in
+ | Some (rs2, existT _ _s4020_ _) =>
+ let p0_ := string_drop _s4019_ _s4020_ in
if generic_eq p0_ "" then
Some (rd, rs1, rs2)
else None
@@ -48254,53 +48851,53 @@ Definition _s3915_ (_s3916_ : string) : M (option ((mword 5 * mword 5 * mword 5)
else returnm None)
: M (option ((mword 5 * mword 5 * mword 5))).
-Definition _s3897_ (_s3898_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3899_ := _s3898_ in
- (if string_startswith _s3899_ "rem" then
- (match (string_drop _s3899_ (projT1 (string_length "rem"))) with
- | _s3900_ =>
- (maybe_not_u_matches_prefix _s3900_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s3988_ (_s3989_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s3990_ := _s3989_ in
+ (if string_startswith _s3990_ "rem" then
+ (match (string_drop _s3990_ (projT1 (string_length "rem"))) with
+ | _s3991_ =>
+ (maybe_not_u_matches_prefix _s3991_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3901_ _) =>
- (match (string_drop _s3900_ _s3901_) with
- | _s3902_ =>
- (spc_matches_prefix _s3902_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s3992_ _) =>
+ (match (string_drop _s3991_ _s3992_) with
+ | _s3993_ =>
+ (spc_matches_prefix _s3993_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3903_ _) =>
- (match (string_drop _s3902_ _s3903_) with
- | _s3904_ =>
- (reg_name_matches_prefix _s3904_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3994_ _) =>
+ (match (string_drop _s3993_ _s3994_) with
+ | _s3995_ =>
+ (reg_name_matches_prefix _s3995_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3905_ _) =>
- (match (string_drop _s3904_ _s3905_) with
- | _s3906_ =>
- (sep_matches_prefix _s3906_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3996_ _) =>
+ (match (string_drop _s3995_ _s3996_) with
+ | _s3997_ =>
+ (sep_matches_prefix _s3997_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3907_ _) =>
- (match (string_drop _s3906_ _s3907_) with
- | _s3908_ =>
- (reg_name_matches_prefix _s3908_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3998_ _) =>
+ (match (string_drop _s3997_ _s3998_) with
+ | _s3999_ =>
+ (reg_name_matches_prefix _s3999_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3909_ _) =>
- (match (string_drop _s3908_ _s3909_) with
- | _s3910_ =>
- (sep_matches_prefix _s3910_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s4000_ _) =>
+ (match (string_drop _s3999_ _s4000_) with
+ | _s4001_ =>
+ (sep_matches_prefix _s4001_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3911_ _) =>
- (match (string_drop _s3910_ _s3911_) with
- | _s3912_ =>
- (reg_name_matches_prefix _s3912_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s4002_ _) =>
+ (match (string_drop _s4001_ _s4002_) with
+ | _s4003_ =>
+ (reg_name_matches_prefix _s4003_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3913_ _) =>
+ | Some (rs2, existT _ _s4004_ _) =>
let p0_ :=
- string_drop _s3912_ _s3913_ in
+ string_drop _s4003_ _s4004_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -48341,53 +48938,53 @@ Definition _s3897_ (_s3898_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3879_ (_s3880_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
- let _s3881_ := _s3880_ in
- (if string_startswith _s3881_ "div" then
- (match (string_drop _s3881_ (projT1 (string_length "div"))) with
- | _s3882_ =>
- (maybe_not_u_matches_prefix _s3882_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s3970_ (_s3971_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5))) :=
+ let _s3972_ := _s3971_ in
+ (if string_startswith _s3972_ "div" then
+ (match (string_drop _s3972_ (projT1 (string_length "div"))) with
+ | _s3973_ =>
+ (maybe_not_u_matches_prefix _s3973_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s3883_ _) =>
- (match (string_drop _s3882_ _s3883_) with
- | _s3884_ =>
- (spc_matches_prefix _s3884_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s3974_ _) =>
+ (match (string_drop _s3973_ _s3974_) with
+ | _s3975_ =>
+ (spc_matches_prefix _s3975_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3885_ _) =>
- (match (string_drop _s3884_ _s3885_) with
- | _s3886_ =>
- (reg_name_matches_prefix _s3886_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3976_ _) =>
+ (match (string_drop _s3975_ _s3976_) with
+ | _s3977_ =>
+ (reg_name_matches_prefix _s3977_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3887_ _) =>
- (match (string_drop _s3886_ _s3887_) with
- | _s3888_ =>
- (sep_matches_prefix _s3888_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3978_ _) =>
+ (match (string_drop _s3977_ _s3978_) with
+ | _s3979_ =>
+ (sep_matches_prefix _s3979_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3889_ _) =>
- (match (string_drop _s3888_ _s3889_) with
- | _s3890_ =>
- (reg_name_matches_prefix _s3890_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3980_ _) =>
+ (match (string_drop _s3979_ _s3980_) with
+ | _s3981_ =>
+ (reg_name_matches_prefix _s3981_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3891_ _) =>
- (match (string_drop _s3890_ _s3891_) with
- | _s3892_ =>
- (sep_matches_prefix _s3892_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3982_ _) =>
+ (match (string_drop _s3981_ _s3982_) with
+ | _s3983_ =>
+ (sep_matches_prefix _s3983_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3893_ _) =>
- (match (string_drop _s3892_ _s3893_) with
- | _s3894_ =>
- (reg_name_matches_prefix _s3894_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3984_ _) =>
+ (match (string_drop _s3983_ _s3984_) with
+ | _s3985_ =>
+ (reg_name_matches_prefix _s3985_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3895_ _) =>
+ | Some (rs2, existT _ _s3986_ _) =>
let p0_ :=
- string_drop _s3894_ _s3895_ in
+ string_drop _s3985_ _s3986_ in
if generic_eq p0_ "" then
Some (s, rd, rs1, rs2)
else None
@@ -48428,52 +49025,52 @@ Definition _s3879_ (_s3880_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5))).
-Definition _s3862_ (_s3863_ : string)
+Definition _s3953_ (_s3954_ : string)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s3863_ with
- | _s3864_ =>
- (mul_mnemonic_matches_prefix _s3864_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
+ (match _s3954_ with
+ | _s3955_ =>
+ (mul_mnemonic_matches_prefix _s3955_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some ((high, signed1, signed2), existT _ _s3865_ _) =>
- (match (string_drop _s3864_ _s3865_) with
- | _s3866_ =>
- (spc_matches_prefix _s3866_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some ((high, signed1, signed2), existT _ _s3956_ _) =>
+ (match (string_drop _s3955_ _s3956_) with
+ | _s3957_ =>
+ (spc_matches_prefix _s3957_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3867_ _) =>
- (match (string_drop _s3866_ _s3867_) with
- | _s3868_ =>
- (reg_name_matches_prefix _s3868_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3958_ _) =>
+ (match (string_drop _s3957_ _s3958_) with
+ | _s3959_ =>
+ (reg_name_matches_prefix _s3959_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3869_ _) =>
- (match (string_drop _s3868_ _s3869_) with
- | _s3870_ =>
- (sep_matches_prefix _s3870_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3960_ _) =>
+ (match (string_drop _s3959_ _s3960_) with
+ | _s3961_ =>
+ (sep_matches_prefix _s3961_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3871_ _) =>
- (match (string_drop _s3870_ _s3871_) with
- | _s3872_ =>
- (reg_name_matches_prefix _s3872_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3962_ _) =>
+ (match (string_drop _s3961_ _s3962_) with
+ | _s3963_ =>
+ (reg_name_matches_prefix _s3963_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3873_ _) =>
- (match (string_drop _s3872_ _s3873_) with
- | _s3874_ =>
- (sep_matches_prefix _s3874_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3964_ _) =>
+ (match (string_drop _s3963_ _s3964_) with
+ | _s3965_ =>
+ (sep_matches_prefix _s3965_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3875_ _) =>
- (match (string_drop _s3874_ _s3875_) with
- | _s3876_ =>
- (reg_name_matches_prefix _s3876_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3966_ _) =>
+ (match (string_drop _s3965_ _s3966_) with
+ | _s3967_ =>
+ (reg_name_matches_prefix _s3967_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3877_ _) =>
+ | Some (rs2, existT _ _s3968_ _) =>
let p0_ :=
- string_drop _s3876_ _s3877_ in
+ string_drop _s3967_ _s3968_ in
if generic_eq p0_ "" then
Some
(high, signed1, signed2, rd, rs1, rs2)
@@ -48513,33 +49110,33 @@ Definition _s3862_ (_s3863_ : string)
end)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s3850_ (_s3851_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s3852_ := _s3851_ in
- (if string_startswith _s3852_ "c.add" then
- (match (string_drop _s3852_ (projT1 (string_length "c.add"))) with
- | _s3853_ =>
- (spc_matches_prefix _s3853_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3941_ (_s3942_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s3943_ := _s3942_ in
+ (if string_startswith _s3943_ "c.add" then
+ (match (string_drop _s3943_ (projT1 (string_length "c.add"))) with
+ | _s3944_ =>
+ (spc_matches_prefix _s3944_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3854_ _) =>
- (match (string_drop _s3853_ _s3854_) with
- | _s3855_ =>
- (reg_name_matches_prefix _s3855_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3945_ _) =>
+ (match (string_drop _s3944_ _s3945_) with
+ | _s3946_ =>
+ (reg_name_matches_prefix _s3946_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3856_ _) =>
- (match (string_drop _s3855_ _s3856_) with
- | _s3857_ =>
- (sep_matches_prefix _s3857_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3947_ _) =>
+ (match (string_drop _s3946_ _s3947_) with
+ | _s3948_ =>
+ (sep_matches_prefix _s3948_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3858_ _) =>
- (match (string_drop _s3857_ _s3858_) with
- | _s3859_ =>
- (reg_name_matches_prefix _s3859_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3949_ _) =>
+ (match (string_drop _s3948_ _s3949_) with
+ | _s3950_ =>
+ (reg_name_matches_prefix _s3950_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3860_ _) =>
- let p0_ := string_drop _s3859_ _s3860_ in
+ | Some (rs2, existT _ _s3951_ _) =>
+ let p0_ := string_drop _s3950_ _s3951_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -48564,33 +49161,33 @@ Definition _s3850_ (_s3851_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s3838_ (_s3839_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s3840_ := _s3839_ in
- (if string_startswith _s3840_ "c.mv" then
- (match (string_drop _s3840_ (projT1 (string_length "c.mv"))) with
- | _s3841_ =>
- (spc_matches_prefix _s3841_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3929_ (_s3930_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s3931_ := _s3930_ in
+ (if string_startswith _s3931_ "c.mv" then
+ (match (string_drop _s3931_ (projT1 (string_length "c.mv"))) with
+ | _s3932_ =>
+ (spc_matches_prefix _s3932_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3842_ _) =>
- (match (string_drop _s3841_ _s3842_) with
- | _s3843_ =>
- (reg_name_matches_prefix _s3843_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3933_ _) =>
+ (match (string_drop _s3932_ _s3933_) with
+ | _s3934_ =>
+ (reg_name_matches_prefix _s3934_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3844_ _) =>
- (match (string_drop _s3843_ _s3844_) with
- | _s3845_ =>
- (sep_matches_prefix _s3845_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3935_ _) =>
+ (match (string_drop _s3934_ _s3935_) with
+ | _s3936_ =>
+ (sep_matches_prefix _s3936_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3846_ _) =>
- (match (string_drop _s3845_ _s3846_) with
- | _s3847_ =>
- (reg_name_matches_prefix _s3847_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3937_ _) =>
+ (match (string_drop _s3936_ _s3937_) with
+ | _s3938_ =>
+ (reg_name_matches_prefix _s3938_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3848_ _) =>
- let p0_ := string_drop _s3847_ _s3848_ in
+ | Some (rs2, existT _ _s3939_ _) =>
+ let p0_ := string_drop _s3938_ _s3939_ in
if generic_eq p0_ "" then Some (rd, rs2)
else None
| _ => None
@@ -48615,21 +49212,21 @@ Definition _s3838_ (_s3839_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s3830_ (_s3831_ : string) : M (option (mword 5)) :=
- let _s3832_ := _s3831_ in
- (if string_startswith _s3832_ "c.jalr" then
- (match (string_drop _s3832_ (projT1 (string_length "c.jalr"))) with
- | _s3833_ =>
- (spc_matches_prefix _s3833_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3921_ (_s3922_ : string) : M (option (mword 5)) :=
+ let _s3923_ := _s3922_ in
+ (if string_startswith _s3923_ "c.jalr" then
+ (match (string_drop _s3923_ (projT1 (string_length "c.jalr"))) with
+ | _s3924_ =>
+ (spc_matches_prefix _s3924_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3834_ _) =>
- (match (string_drop _s3833_ _s3834_) with
- | _s3835_ =>
- (reg_name_matches_prefix _s3835_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3925_ _) =>
+ (match (string_drop _s3924_ _s3925_) with
+ | _s3926_ =>
+ (reg_name_matches_prefix _s3926_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s3836_ _) =>
- let p0_ := string_drop _s3835_ _s3836_ in
+ | Some (rs1, existT _ _s3927_ _) =>
+ let p0_ := string_drop _s3926_ _s3927_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -48644,21 +49241,21 @@ Definition _s3830_ (_s3831_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s3822_ (_s3823_ : string) : M (option (mword 5)) :=
- let _s3824_ := _s3823_ in
- (if string_startswith _s3824_ "c.jr" then
- (match (string_drop _s3824_ (projT1 (string_length "c.jr"))) with
- | _s3825_ =>
- (spc_matches_prefix _s3825_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3913_ (_s3914_ : string) : M (option (mword 5)) :=
+ let _s3915_ := _s3914_ in
+ (if string_startswith _s3915_ "c.jr" then
+ (match (string_drop _s3915_ (projT1 (string_length "c.jr"))) with
+ | _s3916_ =>
+ (spc_matches_prefix _s3916_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3826_ _) =>
- (match (string_drop _s3825_ _s3826_) with
- | _s3827_ =>
- (reg_name_matches_prefix _s3827_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3917_ _) =>
+ (match (string_drop _s3916_ _s3917_) with
+ | _s3918_ =>
+ (reg_name_matches_prefix _s3918_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s3828_ _) =>
- let p0_ := string_drop _s3827_ _s3828_ in
+ | Some (rs1, existT _ _s3919_ _) =>
+ let p0_ := string_drop _s3918_ _s3919_ in
if generic_eq p0_ "" then Some rs1
else None
| _ => None
@@ -48673,31 +49270,31 @@ Definition _s3822_ (_s3823_ : string) : M (option (mword 5)) :=
else returnm None)
: M (option (mword 5)).
-Definition _s3810_ (_s3811_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3812_ := _s3811_ in
- (if string_startswith _s3812_ "c.sdsp" then
- (match (string_drop _s3812_ (projT1 (string_length "c.sdsp"))) with
- | _s3813_ =>
- (spc_matches_prefix _s3813_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3901_ (_s3902_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3903_ := _s3902_ in
+ (if string_startswith _s3903_ "c.sdsp" then
+ (match (string_drop _s3903_ (projT1 (string_length "c.sdsp"))) with
+ | _s3904_ =>
+ (spc_matches_prefix _s3904_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3814_ _) =>
- (match (string_drop _s3813_ _s3814_) with
- | _s3815_ =>
- (reg_name_matches_prefix _s3815_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3905_ _) =>
+ (match (string_drop _s3904_ _s3905_) with
+ | _s3906_ =>
+ (reg_name_matches_prefix _s3906_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s3816_ _) =>
- (match (string_drop _s3815_ _s3816_) with
- | _s3817_ =>
- (sep_matches_prefix _s3817_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3907_ _) =>
+ (match (string_drop _s3906_ _s3907_) with
+ | _s3908_ =>
+ (sep_matches_prefix _s3908_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3818_ _) =>
- match (string_drop _s3817_ _s3818_) with
- | _s3819_ =>
- match (hex_bits_6_matches_prefix _s3819_) with
- | Some (uimm, existT _ _s3820_ _) =>
- let p0_ := string_drop _s3819_ _s3820_ in
+ | Some (tt, existT _ _s3909_ _) =>
+ match (string_drop _s3908_ _s3909_) with
+ | _s3910_ =>
+ match (hex_bits_6_matches_prefix _s3910_) with
+ | Some (uimm, existT _ _s3911_ _) =>
+ let p0_ := string_drop _s3910_ _s3911_ in
if generic_eq p0_ "" then Some (rs2, uimm)
else None
| _ => None
@@ -48720,31 +49317,31 @@ Definition _s3810_ (_s3811_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3798_ (_s3799_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3800_ := _s3799_ in
- (if string_startswith _s3800_ "c.swsp" then
- (match (string_drop _s3800_ (projT1 (string_length "c.swsp"))) with
- | _s3801_ =>
- (spc_matches_prefix _s3801_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3889_ (_s3890_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3891_ := _s3890_ in
+ (if string_startswith _s3891_ "c.swsp" then
+ (match (string_drop _s3891_ (projT1 (string_length "c.swsp"))) with
+ | _s3892_ =>
+ (spc_matches_prefix _s3892_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3802_ _) =>
- (match (string_drop _s3801_ _s3802_) with
- | _s3803_ =>
- (reg_name_matches_prefix _s3803_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3893_ _) =>
+ (match (string_drop _s3892_ _s3893_) with
+ | _s3894_ =>
+ (reg_name_matches_prefix _s3894_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3804_ _) =>
- (match (string_drop _s3803_ _s3804_) with
- | _s3805_ =>
- (sep_matches_prefix _s3805_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3895_ _) =>
+ (match (string_drop _s3894_ _s3895_) with
+ | _s3896_ =>
+ (sep_matches_prefix _s3896_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3806_ _) =>
- match (string_drop _s3805_ _s3806_) with
- | _s3807_ =>
- match (hex_bits_6_matches_prefix _s3807_) with
- | Some (uimm, existT _ _s3808_ _) =>
- let p0_ := string_drop _s3807_ _s3808_ in
+ | Some (tt, existT _ _s3897_ _) =>
+ match (string_drop _s3896_ _s3897_) with
+ | _s3898_ =>
+ match (hex_bits_6_matches_prefix _s3898_) with
+ | Some (uimm, existT _ _s3899_ _) =>
+ let p0_ := string_drop _s3898_ _s3899_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -48767,31 +49364,31 @@ Definition _s3798_ (_s3799_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3786_ (_s3787_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3788_ := _s3787_ in
- (if string_startswith _s3788_ "c.ldsp" then
- (match (string_drop _s3788_ (projT1 (string_length "c.ldsp"))) with
- | _s3789_ =>
- (spc_matches_prefix _s3789_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3877_ (_s3878_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3879_ := _s3878_ in
+ (if string_startswith _s3879_ "c.ldsp" then
+ (match (string_drop _s3879_ (projT1 (string_length "c.ldsp"))) with
+ | _s3880_ =>
+ (spc_matches_prefix _s3880_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3790_ _) =>
- (match (string_drop _s3789_ _s3790_) with
- | _s3791_ =>
- (reg_name_matches_prefix _s3791_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3881_ _) =>
+ (match (string_drop _s3880_ _s3881_) with
+ | _s3882_ =>
+ (reg_name_matches_prefix _s3882_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3792_ _) =>
- (match (string_drop _s3791_ _s3792_) with
- | _s3793_ =>
- (sep_matches_prefix _s3793_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3883_ _) =>
+ (match (string_drop _s3882_ _s3883_) with
+ | _s3884_ =>
+ (sep_matches_prefix _s3884_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3794_ _) =>
- match (string_drop _s3793_ _s3794_) with
- | _s3795_ =>
- match (hex_bits_6_matches_prefix _s3795_) with
- | Some (uimm, existT _ _s3796_ _) =>
- let p0_ := string_drop _s3795_ _s3796_ in
+ | Some (tt, existT _ _s3885_ _) =>
+ match (string_drop _s3884_ _s3885_) with
+ | _s3886_ =>
+ match (hex_bits_6_matches_prefix _s3886_) with
+ | Some (uimm, existT _ _s3887_ _) =>
+ let p0_ := string_drop _s3886_ _s3887_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -48814,31 +49411,31 @@ Definition _s3786_ (_s3787_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3774_ (_s3775_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3776_ := _s3775_ in
- (if string_startswith _s3776_ "c.lwsp" then
- (match (string_drop _s3776_ (projT1 (string_length "c.lwsp"))) with
- | _s3777_ =>
- (spc_matches_prefix _s3777_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3865_ (_s3866_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3867_ := _s3866_ in
+ (if string_startswith _s3867_ "c.lwsp" then
+ (match (string_drop _s3867_ (projT1 (string_length "c.lwsp"))) with
+ | _s3868_ =>
+ (spc_matches_prefix _s3868_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3778_ _) =>
- (match (string_drop _s3777_ _s3778_) with
- | _s3779_ =>
- (reg_name_matches_prefix _s3779_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3869_ _) =>
+ (match (string_drop _s3868_ _s3869_) with
+ | _s3870_ =>
+ (reg_name_matches_prefix _s3870_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3780_ _) =>
- (match (string_drop _s3779_ _s3780_) with
- | _s3781_ =>
- (sep_matches_prefix _s3781_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3871_ _) =>
+ (match (string_drop _s3870_ _s3871_) with
+ | _s3872_ =>
+ (sep_matches_prefix _s3872_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3782_ _) =>
- match (string_drop _s3781_ _s3782_) with
- | _s3783_ =>
- match (hex_bits_6_matches_prefix _s3783_) with
- | Some (uimm, existT _ _s3784_ _) =>
- let p0_ := string_drop _s3783_ _s3784_ in
+ | Some (tt, existT _ _s3873_ _) =>
+ match (string_drop _s3872_ _s3873_) with
+ | _s3874_ =>
+ match (hex_bits_6_matches_prefix _s3874_) with
+ | Some (uimm, existT _ _s3875_ _) =>
+ let p0_ := string_drop _s3874_ _s3875_ in
if generic_eq p0_ "" then Some (rd, uimm)
else None
| _ => None
@@ -48861,31 +49458,31 @@ Definition _s3774_ (_s3775_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3762_ (_s3763_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3764_ := _s3763_ in
- (if string_startswith _s3764_ "c.slli" then
- (match (string_drop _s3764_ (projT1 (string_length "c.slli"))) with
- | _s3765_ =>
- (spc_matches_prefix _s3765_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3853_ (_s3854_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3855_ := _s3854_ in
+ (if string_startswith _s3855_ "c.slli" then
+ (match (string_drop _s3855_ (projT1 (string_length "c.slli"))) with
+ | _s3856_ =>
+ (spc_matches_prefix _s3856_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3766_ _) =>
- (match (string_drop _s3765_ _s3766_) with
- | _s3767_ =>
- (reg_name_matches_prefix _s3767_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3857_ _) =>
+ (match (string_drop _s3856_ _s3857_) with
+ | _s3858_ =>
+ (reg_name_matches_prefix _s3858_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3768_ _) =>
- (match (string_drop _s3767_ _s3768_) with
- | _s3769_ =>
- (sep_matches_prefix _s3769_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3859_ _) =>
+ (match (string_drop _s3858_ _s3859_) with
+ | _s3860_ =>
+ (sep_matches_prefix _s3860_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3770_ _) =>
- match (string_drop _s3769_ _s3770_) with
- | _s3771_ =>
- match (hex_bits_6_matches_prefix _s3771_) with
- | Some (shamt, existT _ _s3772_ _) =>
- let p0_ := string_drop _s3771_ _s3772_ in
+ | Some (tt, existT _ _s3861_ _) =>
+ match (string_drop _s3860_ _s3861_) with
+ | _s3862_ =>
+ match (hex_bits_6_matches_prefix _s3862_) with
+ | Some (shamt, existT _ _s3863_ _) =>
+ let p0_ := string_drop _s3862_ _s3863_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -48908,31 +49505,31 @@ Definition _s3762_ (_s3763_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3750_ (_s3751_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s3752_ := _s3751_ in
- (if string_startswith _s3752_ "c.bnez" then
- (match (string_drop _s3752_ (projT1 (string_length "c.bnez"))) with
- | _s3753_ =>
- (spc_matches_prefix _s3753_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3841_ (_s3842_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s3843_ := _s3842_ in
+ (if string_startswith _s3843_ "c.bnez" then
+ (match (string_drop _s3843_ (projT1 (string_length "c.bnez"))) with
+ | _s3844_ =>
+ (spc_matches_prefix _s3844_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3754_ _) =>
- (match (string_drop _s3753_ _s3754_) with
- | _s3755_ =>
- (creg_name_matches_prefix _s3755_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3845_ _) =>
+ (match (string_drop _s3844_ _s3845_) with
+ | _s3846_ =>
+ (creg_name_matches_prefix _s3846_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s3756_ _) =>
- (match (string_drop _s3755_ _s3756_) with
- | _s3757_ =>
- (sep_matches_prefix _s3757_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s3847_ _) =>
+ (match (string_drop _s3846_ _s3847_) with
+ | _s3848_ =>
+ (sep_matches_prefix _s3848_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3758_ _) =>
- match (string_drop _s3757_ _s3758_) with
- | _s3759_ =>
- match (hex_bits_8_matches_prefix _s3759_) with
- | Some (imm, existT _ _s3760_ _) =>
- let p0_ := string_drop _s3759_ _s3760_ in
+ | Some (tt, existT _ _s3849_ _) =>
+ match (string_drop _s3848_ _s3849_) with
+ | _s3850_ =>
+ match (hex_bits_8_matches_prefix _s3850_) with
+ | Some (imm, existT _ _s3851_ _) =>
+ let p0_ := string_drop _s3850_ _s3851_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -48955,31 +49552,31 @@ Definition _s3750_ (_s3751_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s3738_ (_s3739_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s3740_ := _s3739_ in
- (if string_startswith _s3740_ "c.beqz" then
- (match (string_drop _s3740_ (projT1 (string_length "c.beqz"))) with
- | _s3741_ =>
- (spc_matches_prefix _s3741_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3829_ (_s3830_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s3831_ := _s3830_ in
+ (if string_startswith _s3831_ "c.beqz" then
+ (match (string_drop _s3831_ (projT1 (string_length "c.beqz"))) with
+ | _s3832_ =>
+ (spc_matches_prefix _s3832_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3742_ _) =>
- (match (string_drop _s3741_ _s3742_) with
- | _s3743_ =>
- (creg_name_matches_prefix _s3743_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3833_ _) =>
+ (match (string_drop _s3832_ _s3833_) with
+ | _s3834_ =>
+ (creg_name_matches_prefix _s3834_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s3744_ _) =>
- (match (string_drop _s3743_ _s3744_) with
- | _s3745_ =>
- (sep_matches_prefix _s3745_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s3835_ _) =>
+ (match (string_drop _s3834_ _s3835_) with
+ | _s3836_ =>
+ (sep_matches_prefix _s3836_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3746_ _) =>
- match (string_drop _s3745_ _s3746_) with
- | _s3747_ =>
- match (hex_bits_8_matches_prefix _s3747_) with
- | Some (imm, existT _ _s3748_ _) =>
- let p0_ := string_drop _s3747_ _s3748_ in
+ | Some (tt, existT _ _s3837_ _) =>
+ match (string_drop _s3836_ _s3837_) with
+ | _s3838_ =>
+ match (hex_bits_8_matches_prefix _s3838_) with
+ | Some (imm, existT _ _s3839_ _) =>
+ let p0_ := string_drop _s3838_ _s3839_ in
if generic_eq p0_ "" then Some (rs, imm)
else None
| _ => None
@@ -49002,19 +49599,19 @@ Definition _s3738_ (_s3739_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s3730_ (_s3731_ : string) : M (option (mword 11)) :=
- let _s3732_ := _s3731_ in
- (if string_startswith _s3732_ "c.j" then
- (match (string_drop _s3732_ (projT1 (string_length "c.j"))) with
- | _s3733_ =>
- (spc_matches_prefix _s3733_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3821_ (_s3822_ : string) : M (option (mword 11)) :=
+ let _s3823_ := _s3822_ in
+ (if string_startswith _s3823_ "c.j" then
+ (match (string_drop _s3823_ (projT1 (string_length "c.j"))) with
+ | _s3824_ =>
+ (spc_matches_prefix _s3824_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3734_ _) =>
- match (string_drop _s3733_ _s3734_) with
- | _s3735_ =>
- match (hex_bits_11_matches_prefix _s3735_) with
- | Some (imm, existT _ _s3736_ _) =>
- let p0_ := string_drop _s3735_ _s3736_ in
+ | Some (tt, existT _ _s3825_ _) =>
+ match (string_drop _s3824_ _s3825_) with
+ | _s3826_ =>
+ match (hex_bits_11_matches_prefix _s3826_) with
+ | Some (imm, existT _ _s3827_ _) =>
+ let p0_ := string_drop _s3826_ _s3827_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -49027,33 +49624,33 @@ Definition _s3730_ (_s3731_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s3718_ (_s3719_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3720_ := _s3719_ in
- (if string_startswith _s3720_ "c.addw" then
- (match (string_drop _s3720_ (projT1 (string_length "c.addw"))) with
- | _s3721_ =>
- (spc_matches_prefix _s3721_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3809_ (_s3810_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3811_ := _s3810_ in
+ (if string_startswith _s3811_ "c.addw" then
+ (match (string_drop _s3811_ (projT1 (string_length "c.addw"))) with
+ | _s3812_ =>
+ (spc_matches_prefix _s3812_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3722_ _) =>
- (match (string_drop _s3721_ _s3722_) with
- | _s3723_ =>
- (creg_name_matches_prefix _s3723_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3813_ _) =>
+ (match (string_drop _s3812_ _s3813_) with
+ | _s3814_ =>
+ (creg_name_matches_prefix _s3814_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3724_ _) =>
- (match (string_drop _s3723_ _s3724_) with
- | _s3725_ =>
- (sep_matches_prefix _s3725_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3815_ _) =>
+ (match (string_drop _s3814_ _s3815_) with
+ | _s3816_ =>
+ (sep_matches_prefix _s3816_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3726_ _) =>
- (match (string_drop _s3725_ _s3726_) with
- | _s3727_ =>
- (creg_name_matches_prefix _s3727_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3817_ _) =>
+ (match (string_drop _s3816_ _s3817_) with
+ | _s3818_ =>
+ (creg_name_matches_prefix _s3818_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3728_ _) =>
- let p0_ := string_drop _s3727_ _s3728_ in
+ | Some (rs2, existT _ _s3819_ _) =>
+ let p0_ := string_drop _s3818_ _s3819_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -49078,33 +49675,33 @@ Definition _s3718_ (_s3719_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3706_ (_s3707_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3708_ := _s3707_ in
- (if string_startswith _s3708_ "c.subw" then
- (match (string_drop _s3708_ (projT1 (string_length "c.subw"))) with
- | _s3709_ =>
- (spc_matches_prefix _s3709_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3797_ (_s3798_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3799_ := _s3798_ in
+ (if string_startswith _s3799_ "c.subw" then
+ (match (string_drop _s3799_ (projT1 (string_length "c.subw"))) with
+ | _s3800_ =>
+ (spc_matches_prefix _s3800_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3710_ _) =>
- (match (string_drop _s3709_ _s3710_) with
- | _s3711_ =>
- (creg_name_matches_prefix _s3711_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3801_ _) =>
+ (match (string_drop _s3800_ _s3801_) with
+ | _s3802_ =>
+ (creg_name_matches_prefix _s3802_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3712_ _) =>
- (match (string_drop _s3711_ _s3712_) with
- | _s3713_ =>
- (sep_matches_prefix _s3713_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3803_ _) =>
+ (match (string_drop _s3802_ _s3803_) with
+ | _s3804_ =>
+ (sep_matches_prefix _s3804_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3714_ _) =>
- (match (string_drop _s3713_ _s3714_) with
- | _s3715_ =>
- (creg_name_matches_prefix _s3715_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3805_ _) =>
+ (match (string_drop _s3804_ _s3805_) with
+ | _s3806_ =>
+ (creg_name_matches_prefix _s3806_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3716_ _) =>
- let p0_ := string_drop _s3715_ _s3716_ in
+ | Some (rs2, existT _ _s3807_ _) =>
+ let p0_ := string_drop _s3806_ _s3807_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -49129,33 +49726,33 @@ Definition _s3706_ (_s3707_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3694_ (_s3695_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3696_ := _s3695_ in
- (if string_startswith _s3696_ "c.and" then
- (match (string_drop _s3696_ (projT1 (string_length "c.and"))) with
- | _s3697_ =>
- (spc_matches_prefix _s3697_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3785_ (_s3786_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3787_ := _s3786_ in
+ (if string_startswith _s3787_ "c.and" then
+ (match (string_drop _s3787_ (projT1 (string_length "c.and"))) with
+ | _s3788_ =>
+ (spc_matches_prefix _s3788_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3698_ _) =>
- (match (string_drop _s3697_ _s3698_) with
- | _s3699_ =>
- (creg_name_matches_prefix _s3699_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3789_ _) =>
+ (match (string_drop _s3788_ _s3789_) with
+ | _s3790_ =>
+ (creg_name_matches_prefix _s3790_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3700_ _) =>
- (match (string_drop _s3699_ _s3700_) with
- | _s3701_ =>
- (sep_matches_prefix _s3701_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3791_ _) =>
+ (match (string_drop _s3790_ _s3791_) with
+ | _s3792_ =>
+ (sep_matches_prefix _s3792_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3702_ _) =>
- (match (string_drop _s3701_ _s3702_) with
- | _s3703_ =>
- (creg_name_matches_prefix _s3703_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3793_ _) =>
+ (match (string_drop _s3792_ _s3793_) with
+ | _s3794_ =>
+ (creg_name_matches_prefix _s3794_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3704_ _) =>
- let p0_ := string_drop _s3703_ _s3704_ in
+ | Some (rs2, existT _ _s3795_ _) =>
+ let p0_ := string_drop _s3794_ _s3795_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -49180,33 +49777,33 @@ Definition _s3694_ (_s3695_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3682_ (_s3683_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3684_ := _s3683_ in
- (if string_startswith _s3684_ "c.or" then
- (match (string_drop _s3684_ (projT1 (string_length "c.or"))) with
- | _s3685_ =>
- (spc_matches_prefix _s3685_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3773_ (_s3774_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3775_ := _s3774_ in
+ (if string_startswith _s3775_ "c.or" then
+ (match (string_drop _s3775_ (projT1 (string_length "c.or"))) with
+ | _s3776_ =>
+ (spc_matches_prefix _s3776_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3686_ _) =>
- (match (string_drop _s3685_ _s3686_) with
- | _s3687_ =>
- (creg_name_matches_prefix _s3687_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3777_ _) =>
+ (match (string_drop _s3776_ _s3777_) with
+ | _s3778_ =>
+ (creg_name_matches_prefix _s3778_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3688_ _) =>
- (match (string_drop _s3687_ _s3688_) with
- | _s3689_ =>
- (sep_matches_prefix _s3689_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3779_ _) =>
+ (match (string_drop _s3778_ _s3779_) with
+ | _s3780_ =>
+ (sep_matches_prefix _s3780_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3690_ _) =>
- (match (string_drop _s3689_ _s3690_) with
- | _s3691_ =>
- (creg_name_matches_prefix _s3691_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3781_ _) =>
+ (match (string_drop _s3780_ _s3781_) with
+ | _s3782_ =>
+ (creg_name_matches_prefix _s3782_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3692_ _) =>
- let p0_ := string_drop _s3691_ _s3692_ in
+ | Some (rs2, existT _ _s3783_ _) =>
+ let p0_ := string_drop _s3782_ _s3783_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -49231,33 +49828,33 @@ Definition _s3682_ (_s3683_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3670_ (_s3671_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3672_ := _s3671_ in
- (if string_startswith _s3672_ "c.xor" then
- (match (string_drop _s3672_ (projT1 (string_length "c.xor"))) with
- | _s3673_ =>
- (spc_matches_prefix _s3673_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3761_ (_s3762_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3763_ := _s3762_ in
+ (if string_startswith _s3763_ "c.xor" then
+ (match (string_drop _s3763_ (projT1 (string_length "c.xor"))) with
+ | _s3764_ =>
+ (spc_matches_prefix _s3764_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3674_ _) =>
- (match (string_drop _s3673_ _s3674_) with
- | _s3675_ =>
- (creg_name_matches_prefix _s3675_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3765_ _) =>
+ (match (string_drop _s3764_ _s3765_) with
+ | _s3766_ =>
+ (creg_name_matches_prefix _s3766_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3676_ _) =>
- (match (string_drop _s3675_ _s3676_) with
- | _s3677_ =>
- (sep_matches_prefix _s3677_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3767_ _) =>
+ (match (string_drop _s3766_ _s3767_) with
+ | _s3768_ =>
+ (sep_matches_prefix _s3768_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3678_ _) =>
- (match (string_drop _s3677_ _s3678_) with
- | _s3679_ =>
- (creg_name_matches_prefix _s3679_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3769_ _) =>
+ (match (string_drop _s3768_ _s3769_) with
+ | _s3770_ =>
+ (creg_name_matches_prefix _s3770_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3680_ _) =>
- let p0_ := string_drop _s3679_ _s3680_ in
+ | Some (rs2, existT _ _s3771_ _) =>
+ let p0_ := string_drop _s3770_ _s3771_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -49282,33 +49879,33 @@ Definition _s3670_ (_s3671_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3658_ (_s3659_ : string) : M (option ((mword 3 * mword 3))) :=
- let _s3660_ := _s3659_ in
- (if string_startswith _s3660_ "c.sub" then
- (match (string_drop _s3660_ (projT1 (string_length "c.sub"))) with
- | _s3661_ =>
- (spc_matches_prefix _s3661_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3749_ (_s3750_ : string) : M (option ((mword 3 * mword 3))) :=
+ let _s3751_ := _s3750_ in
+ (if string_startswith _s3751_ "c.sub" then
+ (match (string_drop _s3751_ (projT1 (string_length "c.sub"))) with
+ | _s3752_ =>
+ (spc_matches_prefix _s3752_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3662_ _) =>
- (match (string_drop _s3661_ _s3662_) with
- | _s3663_ =>
- (creg_name_matches_prefix _s3663_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3753_ _) =>
+ (match (string_drop _s3752_ _s3753_) with
+ | _s3754_ =>
+ (creg_name_matches_prefix _s3754_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3664_ _) =>
- (match (string_drop _s3663_ _s3664_) with
- | _s3665_ =>
- (sep_matches_prefix _s3665_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3755_ _) =>
+ (match (string_drop _s3754_ _s3755_) with
+ | _s3756_ =>
+ (sep_matches_prefix _s3756_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3666_ _) =>
- (match (string_drop _s3665_ _s3666_) with
- | _s3667_ =>
- (creg_name_matches_prefix _s3667_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3757_ _) =>
+ (match (string_drop _s3756_ _s3757_) with
+ | _s3758_ =>
+ (creg_name_matches_prefix _s3758_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3668_ _) =>
- let p0_ := string_drop _s3667_ _s3668_ in
+ | Some (rs2, existT _ _s3759_ _) =>
+ let p0_ := string_drop _s3758_ _s3759_ in
if generic_eq p0_ "" then Some (rsd, rs2)
else None
| _ => None
@@ -49333,31 +49930,31 @@ Definition _s3658_ (_s3659_ : string) : M (option ((mword 3 * mword 3))) :=
else returnm None)
: M (option ((mword 3 * mword 3))).
-Definition _s3646_ (_s3647_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s3648_ := _s3647_ in
- (if string_startswith _s3648_ "c.andi" then
- (match (string_drop _s3648_ (projT1 (string_length "c.andi"))) with
- | _s3649_ =>
- (spc_matches_prefix _s3649_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3737_ (_s3738_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s3739_ := _s3738_ in
+ (if string_startswith _s3739_ "c.andi" then
+ (match (string_drop _s3739_ (projT1 (string_length "c.andi"))) with
+ | _s3740_ =>
+ (spc_matches_prefix _s3740_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3650_ _) =>
- (match (string_drop _s3649_ _s3650_) with
- | _s3651_ =>
- (creg_name_matches_prefix _s3651_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3741_ _) =>
+ (match (string_drop _s3740_ _s3741_) with
+ | _s3742_ =>
+ (creg_name_matches_prefix _s3742_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3652_ _) =>
- (match (string_drop _s3651_ _s3652_) with
- | _s3653_ =>
- (sep_matches_prefix _s3653_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3743_ _) =>
+ (match (string_drop _s3742_ _s3743_) with
+ | _s3744_ =>
+ (sep_matches_prefix _s3744_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3654_ _) =>
- match (string_drop _s3653_ _s3654_) with
- | _s3655_ =>
- match (hex_bits_6_matches_prefix _s3655_) with
- | Some (imm, existT _ _s3656_ _) =>
- let p0_ := string_drop _s3655_ _s3656_ in
+ | Some (tt, existT _ _s3745_ _) =>
+ match (string_drop _s3744_ _s3745_) with
+ | _s3746_ =>
+ match (hex_bits_6_matches_prefix _s3746_) with
+ | Some (imm, existT _ _s3747_ _) =>
+ let p0_ := string_drop _s3746_ _s3747_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -49380,31 +49977,31 @@ Definition _s3646_ (_s3647_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s3634_ (_s3635_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s3636_ := _s3635_ in
- (if string_startswith _s3636_ "c.srai" then
- (match (string_drop _s3636_ (projT1 (string_length "c.srai"))) with
- | _s3637_ =>
- (spc_matches_prefix _s3637_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3725_ (_s3726_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s3727_ := _s3726_ in
+ (if string_startswith _s3727_ "c.srai" then
+ (match (string_drop _s3727_ (projT1 (string_length "c.srai"))) with
+ | _s3728_ =>
+ (spc_matches_prefix _s3728_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3638_ _) =>
- (match (string_drop _s3637_ _s3638_) with
- | _s3639_ =>
- (creg_name_matches_prefix _s3639_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3729_ _) =>
+ (match (string_drop _s3728_ _s3729_) with
+ | _s3730_ =>
+ (creg_name_matches_prefix _s3730_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3640_ _) =>
- (match (string_drop _s3639_ _s3640_) with
- | _s3641_ =>
- (sep_matches_prefix _s3641_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3731_ _) =>
+ (match (string_drop _s3730_ _s3731_) with
+ | _s3732_ =>
+ (sep_matches_prefix _s3732_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3642_ _) =>
- match (string_drop _s3641_ _s3642_) with
- | _s3643_ =>
- match (hex_bits_6_matches_prefix _s3643_) with
- | Some (shamt, existT _ _s3644_ _) =>
- let p0_ := string_drop _s3643_ _s3644_ in
+ | Some (tt, existT _ _s3733_ _) =>
+ match (string_drop _s3732_ _s3733_) with
+ | _s3734_ =>
+ match (hex_bits_6_matches_prefix _s3734_) with
+ | Some (shamt, existT _ _s3735_ _) =>
+ let p0_ := string_drop _s3734_ _s3735_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -49427,31 +50024,31 @@ Definition _s3634_ (_s3635_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s3622_ (_s3623_ : string) : M (option ((mword 3 * mword 6))) :=
- let _s3624_ := _s3623_ in
- (if string_startswith _s3624_ "c.srli" then
- (match (string_drop _s3624_ (projT1 (string_length "c.srli"))) with
- | _s3625_ =>
- (spc_matches_prefix _s3625_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3713_ (_s3714_ : string) : M (option ((mword 3 * mword 6))) :=
+ let _s3715_ := _s3714_ in
+ (if string_startswith _s3715_ "c.srli" then
+ (match (string_drop _s3715_ (projT1 (string_length "c.srli"))) with
+ | _s3716_ =>
+ (spc_matches_prefix _s3716_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3626_ _) =>
- (match (string_drop _s3625_ _s3626_) with
- | _s3627_ =>
- (creg_name_matches_prefix _s3627_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3717_ _) =>
+ (match (string_drop _s3716_ _s3717_) with
+ | _s3718_ =>
+ (creg_name_matches_prefix _s3718_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3628_ _) =>
- (match (string_drop _s3627_ _s3628_) with
- | _s3629_ =>
- (sep_matches_prefix _s3629_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3719_ _) =>
+ (match (string_drop _s3718_ _s3719_) with
+ | _s3720_ =>
+ (sep_matches_prefix _s3720_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3630_ _) =>
- match (string_drop _s3629_ _s3630_) with
- | _s3631_ =>
- match (hex_bits_6_matches_prefix _s3631_) with
- | Some (shamt, existT _ _s3632_ _) =>
- let p0_ := string_drop _s3631_ _s3632_ in
+ | Some (tt, existT _ _s3721_ _) =>
+ match (string_drop _s3720_ _s3721_) with
+ | _s3722_ =>
+ match (hex_bits_6_matches_prefix _s3722_) with
+ | Some (shamt, existT _ _s3723_ _) =>
+ let p0_ := string_drop _s3722_ _s3723_ in
if generic_eq p0_ "" then Some (rsd, shamt)
else None
| _ => None
@@ -49474,31 +50071,31 @@ Definition _s3622_ (_s3623_ : string) : M (option ((mword 3 * mword 6))) :=
else returnm None)
: M (option ((mword 3 * mword 6))).
-Definition _s3610_ (_s3611_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3612_ := _s3611_ in
- (if string_startswith _s3612_ "c.lui" then
- (match (string_drop _s3612_ (projT1 (string_length "c.lui"))) with
- | _s3613_ =>
- (spc_matches_prefix _s3613_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3701_ (_s3702_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3703_ := _s3702_ in
+ (if string_startswith _s3703_ "c.lui" then
+ (match (string_drop _s3703_ (projT1 (string_length "c.lui"))) with
+ | _s3704_ =>
+ (spc_matches_prefix _s3704_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3614_ _) =>
- (match (string_drop _s3613_ _s3614_) with
- | _s3615_ =>
- (reg_name_matches_prefix _s3615_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3705_ _) =>
+ (match (string_drop _s3704_ _s3705_) with
+ | _s3706_ =>
+ (reg_name_matches_prefix _s3706_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3616_ _) =>
- (match (string_drop _s3615_ _s3616_) with
- | _s3617_ =>
- (sep_matches_prefix _s3617_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3707_ _) =>
+ (match (string_drop _s3706_ _s3707_) with
+ | _s3708_ =>
+ (sep_matches_prefix _s3708_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3618_ _) =>
- match (string_drop _s3617_ _s3618_) with
- | _s3619_ =>
- match (hex_bits_6_matches_prefix _s3619_) with
- | Some (imm, existT _ _s3620_ _) =>
- let p0_ := string_drop _s3619_ _s3620_ in
+ | Some (tt, existT _ _s3709_ _) =>
+ match (string_drop _s3708_ _s3709_) with
+ | _s3710_ =>
+ match (hex_bits_6_matches_prefix _s3710_) with
+ | Some (imm, existT _ _s3711_ _) =>
+ let p0_ := string_drop _s3710_ _s3711_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -49521,19 +50118,19 @@ Definition _s3610_ (_s3611_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3602_ (_s3603_ : string) : M (option (mword 6)) :=
- let _s3604_ := _s3603_ in
- (if string_startswith _s3604_ "c.addi16sp" then
- (match (string_drop _s3604_ (projT1 (string_length "c.addi16sp"))) with
- | _s3605_ =>
- (spc_matches_prefix _s3605_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3693_ (_s3694_ : string) : M (option (mword 6)) :=
+ let _s3695_ := _s3694_ in
+ (if string_startswith _s3695_ "c.addi16sp" then
+ (match (string_drop _s3695_ (projT1 (string_length "c.addi16sp"))) with
+ | _s3696_ =>
+ (spc_matches_prefix _s3696_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3606_ _) =>
- match (string_drop _s3605_ _s3606_) with
- | _s3607_ =>
- match (hex_bits_6_matches_prefix _s3607_) with
- | Some (imm, existT _ _s3608_ _) =>
- let p0_ := string_drop _s3607_ _s3608_ in
+ | Some (tt, existT _ _s3697_ _) =>
+ match (string_drop _s3696_ _s3697_) with
+ | _s3698_ =>
+ match (hex_bits_6_matches_prefix _s3698_) with
+ | Some (imm, existT _ _s3699_ _) =>
+ let p0_ := string_drop _s3698_ _s3699_ in
if generic_eq p0_ "" then Some imm
else None
| _ => None
@@ -49546,31 +50143,31 @@ Definition _s3602_ (_s3603_ : string) : M (option (mword 6)) :=
else returnm None)
: M (option (mword 6)).
-Definition _s3590_ (_s3591_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3592_ := _s3591_ in
- (if string_startswith _s3592_ "c.li" then
- (match (string_drop _s3592_ (projT1 (string_length "c.li"))) with
- | _s3593_ =>
- (spc_matches_prefix _s3593_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3681_ (_s3682_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3683_ := _s3682_ in
+ (if string_startswith _s3683_ "c.li" then
+ (match (string_drop _s3683_ (projT1 (string_length "c.li"))) with
+ | _s3684_ =>
+ (spc_matches_prefix _s3684_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3594_ _) =>
- (match (string_drop _s3593_ _s3594_) with
- | _s3595_ =>
- (reg_name_matches_prefix _s3595_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3685_ _) =>
+ (match (string_drop _s3684_ _s3685_) with
+ | _s3686_ =>
+ (reg_name_matches_prefix _s3686_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3596_ _) =>
- (match (string_drop _s3595_ _s3596_) with
- | _s3597_ =>
- (sep_matches_prefix _s3597_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3687_ _) =>
+ (match (string_drop _s3686_ _s3687_) with
+ | _s3688_ =>
+ (sep_matches_prefix _s3688_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3598_ _) =>
- match (string_drop _s3597_ _s3598_) with
- | _s3599_ =>
- match (hex_bits_6_matches_prefix _s3599_) with
- | Some (imm, existT _ _s3600_ _) =>
- let p0_ := string_drop _s3599_ _s3600_ in
+ | Some (tt, existT _ _s3689_ _) =>
+ match (string_drop _s3688_ _s3689_) with
+ | _s3690_ =>
+ match (hex_bits_6_matches_prefix _s3690_) with
+ | Some (imm, existT _ _s3691_ _) =>
+ let p0_ := string_drop _s3690_ _s3691_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -49593,31 +50190,31 @@ Definition _s3590_ (_s3591_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3578_ (_s3579_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3580_ := _s3579_ in
- (if string_startswith _s3580_ "c.addiw" then
- (match (string_drop _s3580_ (projT1 (string_length "c.addiw"))) with
- | _s3581_ =>
- (spc_matches_prefix _s3581_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3669_ (_s3670_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3671_ := _s3670_ in
+ (if string_startswith _s3671_ "c.addiw" then
+ (match (string_drop _s3671_ (projT1 (string_length "c.addiw"))) with
+ | _s3672_ =>
+ (spc_matches_prefix _s3672_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3582_ _) =>
- (match (string_drop _s3581_ _s3582_) with
- | _s3583_ =>
- (reg_name_matches_prefix _s3583_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3673_ _) =>
+ (match (string_drop _s3672_ _s3673_) with
+ | _s3674_ =>
+ (reg_name_matches_prefix _s3674_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3584_ _) =>
- (match (string_drop _s3583_ _s3584_) with
- | _s3585_ =>
- (sep_matches_prefix _s3585_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3675_ _) =>
+ (match (string_drop _s3674_ _s3675_) with
+ | _s3676_ =>
+ (sep_matches_prefix _s3676_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3586_ _) =>
- match (string_drop _s3585_ _s3586_) with
- | _s3587_ =>
- match (hex_bits_6_matches_prefix _s3587_) with
- | Some (imm, existT _ _s3588_ _) =>
- let p0_ := string_drop _s3587_ _s3588_ in
+ | Some (tt, existT _ _s3677_ _) =>
+ match (string_drop _s3676_ _s3677_) with
+ | _s3678_ =>
+ match (hex_bits_6_matches_prefix _s3678_) with
+ | Some (imm, existT _ _s3679_ _) =>
+ let p0_ := string_drop _s3678_ _s3679_ in
if generic_eq p0_ "" then Some (rsd, imm)
else None
| _ => None
@@ -49640,23 +50237,23 @@ Definition _s3578_ (_s3579_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3570_ (_s3571_ : string) : M (option (mword 11)) :=
- let _s3572_ := _s3571_ in
- (if string_startswith _s3572_ "c.jal" then
- (match (string_drop _s3572_ (projT1 (string_length "c.jal"))) with
- | _s3573_ =>
- (spc_matches_prefix _s3573_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3661_ (_s3662_ : string) : M (option (mword 11)) :=
+ let _s3663_ := _s3662_ in
+ (if string_startswith _s3663_ "c.jal" then
+ (match (string_drop _s3663_ (projT1 (string_length "c.jal"))) with
+ | _s3664_ =>
+ (spc_matches_prefix _s3664_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s3574_ _) =>
- match (string_drop _s3573_ _s3574_) with
- | _s3575_ =>
- match (hex_bits_12_matches_prefix _s3575_) with
- | Some (v__1366, existT _ _s3576_ _) =>
- if eq_vec (subrange_vec_dec v__1366 0 0) ('b"0" : mword (0 - 0 + 1))
+ | Some (tt, existT _ _s3665_ _) =>
+ match (string_drop _s3664_ _s3665_) with
+ | _s3666_ =>
+ match (hex_bits_12_matches_prefix _s3666_) with
+ | Some (v__1470, existT _ _s3667_ _) =>
+ if eq_vec (subrange_vec_dec v__1470 0 0) ('b"0" : mword (0 - 0 + 1))
then
- let imm : mword 11 := subrange_vec_dec v__1366 11 1 in
- let imm : mword 11 := subrange_vec_dec v__1366 11 1 in
- let p0_ := string_drop _s3575_ _s3576_ in
+ let imm : mword 11 := subrange_vec_dec v__1470 11 1 in
+ let imm : mword 11 := subrange_vec_dec v__1470 11 1 in
+ let p0_ := string_drop _s3666_ _s3667_ in
if generic_eq p0_ "" then Some imm
else None
else None
@@ -49670,31 +50267,31 @@ Definition _s3570_ (_s3571_ : string) : M (option (mword 11)) :=
else returnm None)
: M (option (mword 11)).
-Definition _s3558_ (_s3559_ : string) : M (option ((mword 5 * mword 6))) :=
- let _s3560_ := _s3559_ in
- (if string_startswith _s3560_ "c.addi" then
- (match (string_drop _s3560_ (projT1 (string_length "c.addi"))) with
- | _s3561_ =>
- (spc_matches_prefix _s3561_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3649_ (_s3650_ : string) : M (option ((mword 5 * mword 6))) :=
+ let _s3651_ := _s3650_ in
+ (if string_startswith _s3651_ "c.addi" then
+ (match (string_drop _s3651_ (projT1 (string_length "c.addi"))) with
+ | _s3652_ =>
+ (spc_matches_prefix _s3652_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3562_ _) =>
- (match (string_drop _s3561_ _s3562_) with
- | _s3563_ =>
- (reg_name_matches_prefix _s3563_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3653_ _) =>
+ (match (string_drop _s3652_ _s3653_) with
+ | _s3654_ =>
+ (reg_name_matches_prefix _s3654_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s3564_ _) =>
- (match (string_drop _s3563_ _s3564_) with
- | _s3565_ =>
- (sep_matches_prefix _s3565_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s3655_ _) =>
+ (match (string_drop _s3654_ _s3655_) with
+ | _s3656_ =>
+ (sep_matches_prefix _s3656_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3566_ _) =>
- match (string_drop _s3565_ _s3566_) with
- | _s3567_ =>
- match (hex_bits_6_matches_prefix _s3567_) with
- | Some (nzi, existT _ _s3568_ _) =>
- let p0_ := string_drop _s3567_ _s3568_ in
+ | Some (tt, existT _ _s3657_ _) =>
+ match (string_drop _s3656_ _s3657_) with
+ | _s3658_ =>
+ match (hex_bits_6_matches_prefix _s3658_) with
+ | Some (nzi, existT _ _s3659_ _) =>
+ let p0_ := string_drop _s3658_ _s3659_ in
if generic_eq p0_ "" then Some (rsd, nzi)
else None
| _ => None
@@ -49717,50 +50314,50 @@ Definition _s3558_ (_s3559_ : string) : M (option ((mword 5 * mword 6))) :=
else returnm None)
: M (option ((mword 5 * mword 6))).
-Definition _s3542_ (_s3543_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3544_ := _s3543_ in
- (if string_startswith _s3544_ "c.sd" then
- (match (string_drop _s3544_ (projT1 (string_length "c.sd"))) with
- | _s3545_ =>
- (spc_matches_prefix _s3545_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3633_ (_s3634_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3635_ := _s3634_ in
+ (if string_startswith _s3635_ "c.sd" then
+ (match (string_drop _s3635_ (projT1 (string_length "c.sd"))) with
+ | _s3636_ =>
+ (spc_matches_prefix _s3636_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3546_ _) =>
- (match (string_drop _s3545_ _s3546_) with
- | _s3547_ =>
- (creg_name_matches_prefix _s3547_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3637_ _) =>
+ (match (string_drop _s3636_ _s3637_) with
+ | _s3638_ =>
+ (creg_name_matches_prefix _s3638_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s3548_ _) =>
- (match (string_drop _s3547_ _s3548_) with
- | _s3549_ =>
- (sep_matches_prefix _s3549_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s3639_ _) =>
+ (match (string_drop _s3638_ _s3639_) with
+ | _s3640_ =>
+ (sep_matches_prefix _s3640_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3550_ _) =>
- (match (string_drop _s3549_ _s3550_) with
- | _s3551_ =>
- (creg_name_matches_prefix _s3551_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3641_ _) =>
+ (match (string_drop _s3640_ _s3641_) with
+ | _s3642_ =>
+ (creg_name_matches_prefix _s3642_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s3552_ _) =>
- (match (string_drop _s3551_ _s3552_) with
- | _s3553_ =>
- (sep_matches_prefix _s3553_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s3643_ _) =>
+ (match (string_drop _s3642_ _s3643_) with
+ | _s3644_ =>
+ (sep_matches_prefix _s3644_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3554_ _) =>
- match (string_drop _s3553_ _s3554_) with
- | _s3555_ =>
- match (hex_bits_8_matches_prefix _s3555_) with
- | Some (v__1368, existT _ _s3556_ _) =>
- if eq_vec (subrange_vec_dec v__1368 2 0)
+ | Some (tt, existT _ _s3645_ _) =>
+ match (string_drop _s3644_ _s3645_) with
+ | _s3646_ =>
+ match (hex_bits_8_matches_prefix _s3646_) with
+ | Some (v__1472, existT _ _s3647_ _) =>
+ if eq_vec (subrange_vec_dec v__1472 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1368 7 3 in
+ subrange_vec_dec v__1472 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1368 7 3 in
- let p0_ := string_drop _s3555_ _s3556_ in
+ subrange_vec_dec v__1472 7 3 in
+ let p0_ := string_drop _s3646_ _s3647_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -49795,50 +50392,50 @@ Definition _s3542_ (_s3543_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3526_ (_s3527_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3528_ := _s3527_ in
- (if string_startswith _s3528_ "c.sw" then
- (match (string_drop _s3528_ (projT1 (string_length "c.sw"))) with
- | _s3529_ =>
- (spc_matches_prefix _s3529_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3617_ (_s3618_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3619_ := _s3618_ in
+ (if string_startswith _s3619_ "c.sw" then
+ (match (string_drop _s3619_ (projT1 (string_length "c.sw"))) with
+ | _s3620_ =>
+ (spc_matches_prefix _s3620_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3530_ _) =>
- (match (string_drop _s3529_ _s3530_) with
- | _s3531_ =>
- (creg_name_matches_prefix _s3531_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3621_ _) =>
+ (match (string_drop _s3620_ _s3621_) with
+ | _s3622_ =>
+ (creg_name_matches_prefix _s3622_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s3532_ _) =>
- (match (string_drop _s3531_ _s3532_) with
- | _s3533_ =>
- (sep_matches_prefix _s3533_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s3623_ _) =>
+ (match (string_drop _s3622_ _s3623_) with
+ | _s3624_ =>
+ (sep_matches_prefix _s3624_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3534_ _) =>
- (match (string_drop _s3533_ _s3534_) with
- | _s3535_ =>
- (creg_name_matches_prefix _s3535_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3625_ _) =>
+ (match (string_drop _s3624_ _s3625_) with
+ | _s3626_ =>
+ (creg_name_matches_prefix _s3626_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s3536_ _) =>
- (match (string_drop _s3535_ _s3536_) with
- | _s3537_ =>
- (sep_matches_prefix _s3537_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s3627_ _) =>
+ (match (string_drop _s3626_ _s3627_) with
+ | _s3628_ =>
+ (sep_matches_prefix _s3628_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3538_ _) =>
- match (string_drop _s3537_ _s3538_) with
- | _s3539_ =>
- match (hex_bits_7_matches_prefix _s3539_) with
- | Some (v__1370, existT _ _s3540_ _) =>
- if eq_vec (subrange_vec_dec v__1370 1 0)
+ | Some (tt, existT _ _s3629_ _) =>
+ match (string_drop _s3628_ _s3629_) with
+ | _s3630_ =>
+ match (hex_bits_7_matches_prefix _s3630_) with
+ | Some (v__1474, existT _ _s3631_ _) =>
+ if eq_vec (subrange_vec_dec v__1474 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1370 6 2 in
+ subrange_vec_dec v__1474 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1370 6 2 in
- let p0_ := string_drop _s3539_ _s3540_ in
+ subrange_vec_dec v__1474 6 2 in
+ let p0_ := string_drop _s3630_ _s3631_ in
if generic_eq p0_ "" then
Some (rsc1, rsc2, uimm)
else None
@@ -49873,50 +50470,50 @@ Definition _s3526_ (_s3527_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3510_ (_s3511_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3512_ := _s3511_ in
- (if string_startswith _s3512_ "c.ld" then
- (match (string_drop _s3512_ (projT1 (string_length "c.ld"))) with
- | _s3513_ =>
- (spc_matches_prefix _s3513_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3601_ (_s3602_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3603_ := _s3602_ in
+ (if string_startswith _s3603_ "c.ld" then
+ (match (string_drop _s3603_ (projT1 (string_length "c.ld"))) with
+ | _s3604_ =>
+ (spc_matches_prefix _s3604_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3514_ _) =>
- (match (string_drop _s3513_ _s3514_) with
- | _s3515_ =>
- (creg_name_matches_prefix _s3515_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3605_ _) =>
+ (match (string_drop _s3604_ _s3605_) with
+ | _s3606_ =>
+ (creg_name_matches_prefix _s3606_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s3516_ _) =>
- (match (string_drop _s3515_ _s3516_) with
- | _s3517_ =>
- (sep_matches_prefix _s3517_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s3607_ _) =>
+ (match (string_drop _s3606_ _s3607_) with
+ | _s3608_ =>
+ (sep_matches_prefix _s3608_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3518_ _) =>
- (match (string_drop _s3517_ _s3518_) with
- | _s3519_ =>
- (creg_name_matches_prefix _s3519_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3609_ _) =>
+ (match (string_drop _s3608_ _s3609_) with
+ | _s3610_ =>
+ (creg_name_matches_prefix _s3610_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s3520_ _) =>
- (match (string_drop _s3519_ _s3520_) with
- | _s3521_ =>
- (sep_matches_prefix _s3521_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s3611_ _) =>
+ (match (string_drop _s3610_ _s3611_) with
+ | _s3612_ =>
+ (sep_matches_prefix _s3612_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3522_ _) =>
- match (string_drop _s3521_ _s3522_) with
- | _s3523_ =>
- match (hex_bits_8_matches_prefix _s3523_) with
- | Some (v__1372, existT _ _s3524_ _) =>
- if eq_vec (subrange_vec_dec v__1372 2 0)
+ | Some (tt, existT _ _s3613_ _) =>
+ match (string_drop _s3612_ _s3613_) with
+ | _s3614_ =>
+ match (hex_bits_8_matches_prefix _s3614_) with
+ | Some (v__1476, existT _ _s3615_ _) =>
+ if eq_vec (subrange_vec_dec v__1476 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1372 7 3 in
+ subrange_vec_dec v__1476 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1372 7 3 in
- let p0_ := string_drop _s3523_ _s3524_ in
+ subrange_vec_dec v__1476 7 3 in
+ let p0_ := string_drop _s3614_ _s3615_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -49951,50 +50548,50 @@ Definition _s3510_ (_s3511_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3494_ (_s3495_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
- let _s3496_ := _s3495_ in
- (if string_startswith _s3496_ "c.lw" then
- (match (string_drop _s3496_ (projT1 (string_length "c.lw"))) with
- | _s3497_ =>
- (spc_matches_prefix _s3497_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3585_ (_s3586_ : string) : M (option ((mword 3 * mword 3 * mword 5))) :=
+ let _s3587_ := _s3586_ in
+ (if string_startswith _s3587_ "c.lw" then
+ (match (string_drop _s3587_ (projT1 (string_length "c.lw"))) with
+ | _s3588_ =>
+ (spc_matches_prefix _s3588_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3498_ _) =>
- (match (string_drop _s3497_ _s3498_) with
- | _s3499_ =>
- (creg_name_matches_prefix _s3499_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3589_ _) =>
+ (match (string_drop _s3588_ _s3589_) with
+ | _s3590_ =>
+ (creg_name_matches_prefix _s3590_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s3500_ _) =>
- (match (string_drop _s3499_ _s3500_) with
- | _s3501_ =>
- (sep_matches_prefix _s3501_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s3591_ _) =>
+ (match (string_drop _s3590_ _s3591_) with
+ | _s3592_ =>
+ (sep_matches_prefix _s3592_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3502_ _) =>
- (match (string_drop _s3501_ _s3502_) with
- | _s3503_ =>
- (creg_name_matches_prefix _s3503_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3593_ _) =>
+ (match (string_drop _s3592_ _s3593_) with
+ | _s3594_ =>
+ (creg_name_matches_prefix _s3594_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s3504_ _) =>
- (match (string_drop _s3503_ _s3504_) with
- | _s3505_ =>
- (sep_matches_prefix _s3505_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s3595_ _) =>
+ (match (string_drop _s3594_ _s3595_) with
+ | _s3596_ =>
+ (sep_matches_prefix _s3596_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3506_ _) =>
- match (string_drop _s3505_ _s3506_) with
- | _s3507_ =>
- match (hex_bits_7_matches_prefix _s3507_) with
- | Some (v__1374, existT _ _s3508_ _) =>
- if eq_vec (subrange_vec_dec v__1374 1 0)
+ | Some (tt, existT _ _s3597_ _) =>
+ match (string_drop _s3596_ _s3597_) with
+ | _s3598_ =>
+ match (hex_bits_7_matches_prefix _s3598_) with
+ | Some (v__1478, existT _ _s3599_ _) =>
+ if eq_vec (subrange_vec_dec v__1478 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1374 6 2 in
+ subrange_vec_dec v__1478 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1374 6 2 in
- let p0_ := string_drop _s3507_ _s3508_ in
+ subrange_vec_dec v__1478 6 2 in
+ let p0_ := string_drop _s3598_ _s3599_ in
if generic_eq p0_ "" then
Some (rdc, rsc, uimm)
else None
@@ -50029,36 +50626,36 @@ Definition _s3494_ (_s3495_ : string) : M (option ((mword 3 * mword 3 * mword 5)
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5))).
-Definition _s3482_ (_s3483_ : string) : M (option ((mword 3 * mword 8))) :=
- let _s3484_ := _s3483_ in
- (if string_startswith _s3484_ "c.addi4spn" then
- (match (string_drop _s3484_ (projT1 (string_length "c.addi4spn"))) with
- | _s3485_ =>
- (spc_matches_prefix _s3485_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3573_ (_s3574_ : string) : M (option ((mword 3 * mword 8))) :=
+ let _s3575_ := _s3574_ in
+ (if string_startswith _s3575_ "c.addi4spn" then
+ (match (string_drop _s3575_ (projT1 (string_length "c.addi4spn"))) with
+ | _s3576_ =>
+ (spc_matches_prefix _s3576_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3486_ _) =>
- (match (string_drop _s3485_ _s3486_) with
- | _s3487_ =>
- (creg_name_matches_prefix _s3487_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3577_ _) =>
+ (match (string_drop _s3576_ _s3577_) with
+ | _s3578_ =>
+ (creg_name_matches_prefix _s3578_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s3488_ _) =>
- (match (string_drop _s3487_ _s3488_) with
- | _s3489_ =>
- (sep_matches_prefix _s3489_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s3579_ _) =>
+ (match (string_drop _s3578_ _s3579_) with
+ | _s3580_ =>
+ (sep_matches_prefix _s3580_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3490_ _) =>
- match (string_drop _s3489_ _s3490_) with
- | _s3491_ =>
- match (hex_bits_10_matches_prefix _s3491_) with
- | Some (v__1376, existT _ _s3492_ _) =>
- if eq_vec (subrange_vec_dec v__1376 1 0)
+ | Some (tt, existT _ _s3581_ _) =>
+ match (string_drop _s3580_ _s3581_) with
+ | _s3582_ =>
+ match (hex_bits_10_matches_prefix _s3582_) with
+ | Some (v__1480, existT _ _s3583_ _) =>
+ if eq_vec (subrange_vec_dec v__1480 1 0)
('b"00"
: mword (1 - 0 + 1)) then
- let nzimm : mword 8 := subrange_vec_dec v__1376 9 2 in
- let nzimm : mword 8 := subrange_vec_dec v__1376 9 2 in
- let p0_ := string_drop _s3491_ _s3492_ in
+ let nzimm : mword 8 := subrange_vec_dec v__1480 9 2 in
+ let nzimm : mword 8 := subrange_vec_dec v__1480 9 2 in
+ let p0_ := string_drop _s3582_ _s3583_ in
if generic_eq p0_ "" then Some (rdc, nzimm)
else None
else None
@@ -50082,95 +50679,95 @@ Definition _s3482_ (_s3483_ : string) : M (option ((mword 3 * mword 8))) :=
else returnm None)
: M (option ((mword 3 * mword 8))).
-Definition _s3456_ (_s3457_ : string)
+Definition _s3547_ (_s3548_ : string)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- (match _s3457_ with
- | _s3458_ =>
- (amo_mnemonic_matches_prefix _s3458_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
+ (match _s3548_ with
+ | _s3549_ =>
+ (amo_mnemonic_matches_prefix _s3549_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3459_ _) =>
- let _s3460_ := string_drop _s3458_ _s3459_ in
- (if string_startswith _s3460_ "." then
- (match (string_drop _s3460_ (projT1 (string_length "."))) with
- | _s3461_ =>
- (size_mnemonic_matches_prefix _s3461_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3550_ _) =>
+ let _s3551_ := string_drop _s3549_ _s3550_ in
+ (if string_startswith _s3551_ "." then
+ (match (string_drop _s3551_ (projT1 (string_length "."))) with
+ | _s3552_ =>
+ (size_mnemonic_matches_prefix _s3552_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (width, existT _ _s3462_ _) =>
- (match (string_drop _s3461_ _s3462_) with
- | _s3463_ =>
- (maybe_aq_matches_prefix _s3463_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s3553_ _) =>
+ (match (string_drop _s3552_ _s3553_) with
+ | _s3554_ =>
+ (maybe_aq_matches_prefix _s3554_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s3464_ _) =>
- (match (string_drop _s3463_ _s3464_) with
- | _s3465_ =>
- (maybe_rl_matches_prefix _s3465_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s3555_ _) =>
+ (match (string_drop _s3554_ _s3555_) with
+ | _s3556_ =>
+ (maybe_rl_matches_prefix _s3556_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s3466_ _) =>
- (match (string_drop _s3465_ _s3466_) with
- | _s3467_ =>
- (spc_matches_prefix _s3467_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s3557_ _) =>
+ (match (string_drop _s3556_ _s3557_) with
+ | _s3558_ =>
+ (spc_matches_prefix _s3558_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s3468_ _) =>
- (match (string_drop _s3467_ _s3468_) with
- | _s3469_ =>
- (reg_name_matches_prefix _s3469_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3559_ _) =>
+ (match (string_drop _s3558_ _s3559_) with
+ | _s3560_ =>
+ (reg_name_matches_prefix _s3560_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s3470_ _) =>
- (match (string_drop _s3469_ _s3470_) with
- | _s3471_ =>
- (sep_matches_prefix _s3471_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3561_ _) =>
+ (match (string_drop _s3560_ _s3561_) with
+ | _s3562_ =>
+ (sep_matches_prefix _s3562_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s3472_ _) =>
- (match (string_drop _s3471_ _s3472_) with
- | _s3473_ =>
- (reg_name_matches_prefix _s3473_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3563_ _) =>
+ (match (string_drop _s3562_ _s3563_) with
+ | _s3564_ =>
+ (reg_name_matches_prefix _s3564_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (rs2, existT _ _s3474_ _) =>
- (match (string_drop _s3473_
- _s3474_) with
- | _s3475_ =>
+ | Some (rs2, existT _ _s3565_ _) =>
+ (match (string_drop _s3564_
+ _s3565_) with
+ | _s3566_ =>
(sep_matches_prefix
- _s3475_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3566_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s3476_ _) =>
- let _s3477_ :=
- string_drop _s3475_
- _s3476_ in
+ (tt, existT _ _s3567_ _) =>
+ let _s3568_ :=
+ string_drop _s3566_
+ _s3567_ in
(if string_startswith
- _s3477_ "(" then
+ _s3568_ "(" then
(match (string_drop
- _s3477_
+ _s3568_
(projT1
(string_length
"("))) with
- | _s3478_ =>
+ | _s3569_ =>
(reg_name_matches_prefix
- _s3478_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s3569_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (rs1, existT _ _s3479_ _) =>
- let _s3480_ :=
+ (rs1, existT _ _s3570_ _) =>
+ let _s3571_ :=
string_drop
- _s3478_
- _s3479_ in
+ _s3569_
+ _s3570_ in
if string_startswith
- _s3480_
+ _s3571_
")"
then
let p0_ :=
string_drop
- _s3480_
+ _s3571_
(projT1
(string_length
")")) in
@@ -50240,71 +50837,71 @@ Definition _s3456_ (_s3457_ : string)
end)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s3434_ (_s3435_ : string)
+Definition _s3525_ (_s3526_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))) :=
- let _s3436_ := _s3435_ in
- (if string_startswith _s3436_ "sc." then
- (match (string_drop _s3436_ (projT1 (string_length "sc."))) with
- | _s3437_ =>
- (size_mnemonic_matches_prefix _s3437_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s3527_ := _s3526_ in
+ (if string_startswith _s3527_ "sc." then
+ (match (string_drop _s3527_ (projT1 (string_length "sc."))) with
+ | _s3528_ =>
+ (size_mnemonic_matches_prefix _s3528_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s3438_ _) =>
- (match (string_drop _s3437_ _s3438_) with
- | _s3439_ =>
- (maybe_aq_matches_prefix _s3439_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s3529_ _) =>
+ (match (string_drop _s3528_ _s3529_) with
+ | _s3530_ =>
+ (maybe_aq_matches_prefix _s3530_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s3440_ _) =>
- (match (string_drop _s3439_ _s3440_) with
- | _s3441_ =>
- (maybe_rl_matches_prefix _s3441_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s3531_ _) =>
+ (match (string_drop _s3530_ _s3531_) with
+ | _s3532_ =>
+ (maybe_rl_matches_prefix _s3532_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s3442_ _) =>
- (match (string_drop _s3441_ _s3442_) with
- | _s3443_ =>
- (spc_matches_prefix _s3443_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s3533_ _) =>
+ (match (string_drop _s3532_ _s3533_) with
+ | _s3534_ =>
+ (spc_matches_prefix _s3534_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3444_ _) =>
- (match (string_drop _s3443_ _s3444_) with
- | _s3445_ =>
- (reg_name_matches_prefix _s3445_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3535_ _) =>
+ (match (string_drop _s3534_ _s3535_) with
+ | _s3536_ =>
+ (reg_name_matches_prefix _s3536_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s3446_ _) =>
- (match (string_drop _s3445_ _s3446_) with
- | _s3447_ =>
- (sep_matches_prefix _s3447_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3537_ _) =>
+ (match (string_drop _s3536_ _s3537_) with
+ | _s3538_ =>
+ (sep_matches_prefix _s3538_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3448_ _) =>
- (match (string_drop _s3447_ _s3448_) with
- | _s3449_ =>
- (reg_name_matches_prefix _s3449_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3539_ _) =>
+ (match (string_drop _s3538_ _s3539_) with
+ | _s3540_ =>
+ (reg_name_matches_prefix _s3540_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs1, existT _ _s3450_ _) =>
- (match (string_drop _s3449_ _s3450_) with
- | _s3451_ =>
- (sep_matches_prefix _s3451_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3541_ _) =>
+ (match (string_drop _s3540_ _s3541_) with
+ | _s3542_ =>
+ (sep_matches_prefix _s3542_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s3452_ _) =>
- (match (string_drop _s3451_
- _s3452_) with
- | _s3453_ =>
+ | Some (tt, existT _ _s3543_ _) =>
+ (match (string_drop _s3542_
+ _s3543_) with
+ | _s3544_ =>
(reg_name_matches_prefix
- _s3453_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s3544_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rs2, existT _ _s3454_ _) =>
+ (rs2, existT _ _s3545_ _) =>
let p0_ :=
string_drop
- _s3453_
- _s3454_ in
+ _s3544_
+ _s3545_ in
if generic_eq
p0_ ""
then
@@ -50358,53 +50955,53 @@ Definition _s3434_ (_s3435_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5))).
-Definition _s3416_ (_s3417_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
- let _s3418_ := _s3417_ in
- (if string_startswith _s3418_ "lr." then
- (match (string_drop _s3418_ (projT1 (string_length "lr."))) with
- | _s3419_ =>
- (size_mnemonic_matches_prefix _s3419_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+Definition _s3507_ (_s3508_ : string) : M (option ((word_width * bool * bool * mword 5 * mword 5))) :=
+ let _s3509_ := _s3508_ in
+ (if string_startswith _s3509_ "lr." then
+ (match (string_drop _s3509_ (projT1 (string_length "lr."))) with
+ | _s3510_ =>
+ (size_mnemonic_matches_prefix _s3510_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s3420_ _) =>
- (match (string_drop _s3419_ _s3420_) with
- | _s3421_ =>
- (maybe_aq_matches_prefix _s3421_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s3511_ _) =>
+ (match (string_drop _s3510_ _s3511_) with
+ | _s3512_ =>
+ (maybe_aq_matches_prefix _s3512_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s3422_ _) =>
- (match (string_drop _s3421_ _s3422_) with
- | _s3423_ =>
- (maybe_rl_matches_prefix _s3423_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s3513_ _) =>
+ (match (string_drop _s3512_ _s3513_) with
+ | _s3514_ =>
+ (maybe_rl_matches_prefix _s3514_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s3424_ _) =>
- (match (string_drop _s3423_ _s3424_) with
- | _s3425_ =>
- (spc_matches_prefix _s3425_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s3515_ _) =>
+ (match (string_drop _s3514_ _s3515_) with
+ | _s3516_ =>
+ (spc_matches_prefix _s3516_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3426_ _) =>
- (match (string_drop _s3425_ _s3426_) with
- | _s3427_ =>
- (reg_name_matches_prefix _s3427_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3517_ _) =>
+ (match (string_drop _s3516_ _s3517_) with
+ | _s3518_ =>
+ (reg_name_matches_prefix _s3518_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s3428_ _) =>
- (match (string_drop _s3427_ _s3428_) with
- | _s3429_ =>
- (sep_matches_prefix _s3429_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3519_ _) =>
+ (match (string_drop _s3518_ _s3519_) with
+ | _s3520_ =>
+ (sep_matches_prefix _s3520_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3430_ _) =>
- (match (string_drop _s3429_ _s3430_) with
- | _s3431_ =>
- (reg_name_matches_prefix _s3431_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3521_ _) =>
+ (match (string_drop _s3520_ _s3521_) with
+ | _s3522_ =>
+ (reg_name_matches_prefix _s3522_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s3432_ _) =>
+ | Some (rs1, existT _ _s3523_ _) =>
let p0_ :=
- string_drop _s3431_ _s3432_ in
+ string_drop _s3522_ _s3523_ in
if generic_eq p0_ "" then
Some (size, aq, rl, rd, rs1)
else None
@@ -50445,33 +51042,33 @@ Definition _s3416_ (_s3417_ : string) : M (option ((word_width * bool * bool * m
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5))).
-Definition _s3404_ (_s3405_ : string) : M (option ((mword 5 * mword 5))) :=
- let _s3406_ := _s3405_ in
- (if string_startswith _s3406_ "sfence.vma" then
- (match (string_drop _s3406_ (projT1 (string_length "sfence.vma"))) with
- | _s3407_ =>
- (spc_matches_prefix _s3407_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3495_ (_s3496_ : string) : M (option ((mword 5 * mword 5))) :=
+ let _s3497_ := _s3496_ in
+ (if string_startswith _s3497_ "sfence.vma" then
+ (match (string_drop _s3497_ (projT1 (string_length "sfence.vma"))) with
+ | _s3498_ =>
+ (spc_matches_prefix _s3498_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3408_ _) =>
- (match (string_drop _s3407_ _s3408_) with
- | _s3409_ =>
- (reg_name_matches_prefix _s3409_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3499_ _) =>
+ (match (string_drop _s3498_ _s3499_) with
+ | _s3500_ =>
+ (reg_name_matches_prefix _s3500_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs1, existT _ _s3410_ _) =>
- (match (string_drop _s3409_ _s3410_) with
- | _s3411_ =>
- (sep_matches_prefix _s3411_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3501_ _) =>
+ (match (string_drop _s3500_ _s3501_) with
+ | _s3502_ =>
+ (sep_matches_prefix _s3502_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3412_ _) =>
- (match (string_drop _s3411_ _s3412_) with
- | _s3413_ =>
- (reg_name_matches_prefix _s3413_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3503_ _) =>
+ (match (string_drop _s3502_ _s3503_) with
+ | _s3504_ =>
+ (reg_name_matches_prefix _s3504_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s3414_ _) =>
- let p0_ := string_drop _s3413_ _s3414_ in
+ | Some (rs2, existT _ _s3505_ _) =>
+ let p0_ := string_drop _s3504_ _s3505_ in
if generic_eq p0_ "" then Some (rs1, rs2)
else None
| _ => None
@@ -50496,33 +51093,33 @@ Definition _s3404_ (_s3405_ : string) : M (option ((mword 5 * mword 5))) :=
else returnm None)
: M (option ((mword 5 * mword 5))).
-Definition _s3392_ (_s3393_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s3394_ := _s3393_ in
- (if string_startswith _s3394_ "fence.tso" then
- (match (string_drop _s3394_ (projT1 (string_length "fence.tso"))) with
- | _s3395_ =>
- (spc_matches_prefix _s3395_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3483_ (_s3484_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s3485_ := _s3484_ in
+ (if string_startswith _s3485_ "fence.tso" then
+ (match (string_drop _s3485_ (projT1 (string_length "fence.tso"))) with
+ | _s3486_ =>
+ (spc_matches_prefix _s3486_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3396_ _) =>
- (match (string_drop _s3395_ _s3396_) with
- | _s3397_ =>
- (fence_bits_matches_prefix _s3397_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3487_ _) =>
+ (match (string_drop _s3486_ _s3487_) with
+ | _s3488_ =>
+ (fence_bits_matches_prefix _s3488_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s3398_ _) =>
- (match (string_drop _s3397_ _s3398_) with
- | _s3399_ =>
- (sep_matches_prefix _s3399_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s3489_ _) =>
+ (match (string_drop _s3488_ _s3489_) with
+ | _s3490_ =>
+ (sep_matches_prefix _s3490_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3400_ _) =>
- (match (string_drop _s3399_ _s3400_) with
- | _s3401_ =>
- (fence_bits_matches_prefix _s3401_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3491_ _) =>
+ (match (string_drop _s3490_ _s3491_) with
+ | _s3492_ =>
+ (fence_bits_matches_prefix _s3492_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s3402_ _) =>
- let p0_ := string_drop _s3401_ _s3402_ in
+ | Some (succ, existT _ _s3493_ _) =>
+ let p0_ := string_drop _s3492_ _s3493_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -50547,33 +51144,33 @@ Definition _s3392_ (_s3393_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s3380_ (_s3381_ : string) : M (option ((mword 4 * mword 4))) :=
- let _s3382_ := _s3381_ in
- (if string_startswith _s3382_ "fence" then
- (match (string_drop _s3382_ (projT1 (string_length "fence"))) with
- | _s3383_ =>
- (spc_matches_prefix _s3383_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3471_ (_s3472_ : string) : M (option ((mword 4 * mword 4))) :=
+ let _s3473_ := _s3472_ in
+ (if string_startswith _s3473_ "fence" then
+ (match (string_drop _s3473_ (projT1 (string_length "fence"))) with
+ | _s3474_ =>
+ (spc_matches_prefix _s3474_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3384_ _) =>
- (match (string_drop _s3383_ _s3384_) with
- | _s3385_ =>
- (fence_bits_matches_prefix _s3385_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3475_ _) =>
+ (match (string_drop _s3474_ _s3475_) with
+ | _s3476_ =>
+ (fence_bits_matches_prefix _s3476_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s3386_ _) =>
- (match (string_drop _s3385_ _s3386_) with
- | _s3387_ =>
- (sep_matches_prefix _s3387_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s3477_ _) =>
+ (match (string_drop _s3476_ _s3477_) with
+ | _s3478_ =>
+ (sep_matches_prefix _s3478_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3388_ _) =>
- (match (string_drop _s3387_ _s3388_) with
- | _s3389_ =>
- (fence_bits_matches_prefix _s3389_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3479_ _) =>
+ (match (string_drop _s3478_ _s3479_) with
+ | _s3480_ =>
+ (fence_bits_matches_prefix _s3480_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s3390_ _) =>
- let p0_ := string_drop _s3389_ _s3390_ in
+ | Some (succ, existT _ _s3481_ _) =>
+ let p0_ := string_drop _s3480_ _s3481_ in
if generic_eq p0_ "" then Some (pred, succ)
else None
| _ => None
@@ -50598,50 +51195,50 @@ Definition _s3380_ (_s3381_ : string) : M (option ((mword 4 * mword 4))) :=
else returnm None)
: M (option ((mword 4 * mword 4))).
-Definition _s3363_ (_s3364_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
- (match _s3364_ with
- | _s3365_ =>
- (shiftiwop_mnemonic_matches_prefix _s3365_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
+Definition _s3454_ (_s3455_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5))) :=
+ (match _s3455_ with
+ | _s3456_ =>
+ (shiftiwop_mnemonic_matches_prefix _s3456_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3366_ _) =>
- (match (string_drop _s3365_ _s3366_) with
- | _s3367_ =>
- (spc_matches_prefix _s3367_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3457_ _) =>
+ (match (string_drop _s3456_ _s3457_) with
+ | _s3458_ =>
+ (spc_matches_prefix _s3458_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3368_ _) =>
- (match (string_drop _s3367_ _s3368_) with
- | _s3369_ =>
- (reg_name_matches_prefix _s3369_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3459_ _) =>
+ (match (string_drop _s3458_ _s3459_) with
+ | _s3460_ =>
+ (reg_name_matches_prefix _s3460_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3370_ _) =>
- (match (string_drop _s3369_ _s3370_) with
- | _s3371_ =>
- (sep_matches_prefix _s3371_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3461_ _) =>
+ (match (string_drop _s3460_ _s3461_) with
+ | _s3462_ =>
+ (sep_matches_prefix _s3462_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3372_ _) =>
- (match (string_drop _s3371_ _s3372_) with
- | _s3373_ =>
- (reg_name_matches_prefix _s3373_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3463_ _) =>
+ (match (string_drop _s3462_ _s3463_) with
+ | _s3464_ =>
+ (reg_name_matches_prefix _s3464_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3374_ _) =>
- (match (string_drop _s3373_ _s3374_) with
- | _s3375_ =>
- (sep_matches_prefix _s3375_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3465_ _) =>
+ (match (string_drop _s3464_ _s3465_) with
+ | _s3466_ =>
+ (sep_matches_prefix _s3466_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3376_ _) =>
- match (string_drop _s3375_ _s3376_) with
- | _s3377_ =>
+ | Some (tt, existT _ _s3467_ _) =>
+ match (string_drop _s3466_ _s3467_) with
+ | _s3468_ =>
match (hex_bits_5_matches_prefix
- _s3377_) with
- | Some (shamt, existT _ _s3378_ _) =>
+ _s3468_) with
+ | Some (shamt, existT _ _s3469_ _) =>
let p0_ :=
- string_drop _s3377_ _s3378_ in
+ string_drop _s3468_ _s3469_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -50678,51 +51275,51 @@ Definition _s3363_ (_s3364_ : string) : M (option ((sopw * mword 5 * mword 5 * m
end)
: M (option ((sopw * mword 5 * mword 5 * mword 5))).
-Definition _s3346_ (_s3347_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
- (match _s3347_ with
- | _s3348_ =>
- (rtypew_mnemonic_matches_prefix _s3348_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
+Definition _s3437_ (_s3438_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5))) :=
+ (match _s3438_ with
+ | _s3439_ =>
+ (rtypew_mnemonic_matches_prefix _s3439_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3349_ _) =>
- (match (string_drop _s3348_ _s3349_) with
- | _s3350_ =>
- (spc_matches_prefix _s3350_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3440_ _) =>
+ (match (string_drop _s3439_ _s3440_) with
+ | _s3441_ =>
+ (spc_matches_prefix _s3441_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3351_ _) =>
- (match (string_drop _s3350_ _s3351_) with
- | _s3352_ =>
- (reg_name_matches_prefix _s3352_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3442_ _) =>
+ (match (string_drop _s3441_ _s3442_) with
+ | _s3443_ =>
+ (reg_name_matches_prefix _s3443_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3353_ _) =>
- (match (string_drop _s3352_ _s3353_) with
- | _s3354_ =>
- (sep_matches_prefix _s3354_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3444_ _) =>
+ (match (string_drop _s3443_ _s3444_) with
+ | _s3445_ =>
+ (sep_matches_prefix _s3445_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3355_ _) =>
- (match (string_drop _s3354_ _s3355_) with
- | _s3356_ =>
- (reg_name_matches_prefix _s3356_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3446_ _) =>
+ (match (string_drop _s3445_ _s3446_) with
+ | _s3447_ =>
+ (reg_name_matches_prefix _s3447_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3357_ _) =>
- (match (string_drop _s3356_ _s3357_) with
- | _s3358_ =>
- (sep_matches_prefix _s3358_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3448_ _) =>
+ (match (string_drop _s3447_ _s3448_) with
+ | _s3449_ =>
+ (sep_matches_prefix _s3449_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3359_ _) =>
- (match (string_drop _s3358_ _s3359_) with
- | _s3360_ =>
- (reg_name_matches_prefix _s3360_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3450_ _) =>
+ (match (string_drop _s3449_ _s3450_) with
+ | _s3451_ =>
+ (reg_name_matches_prefix _s3451_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3361_ _) =>
+ | Some (rs2, existT _ _s3452_ _) =>
let p0_ :=
- string_drop _s3360_ _s3361_ in
+ string_drop _s3451_ _s3452_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -50761,50 +51358,50 @@ Definition _s3346_ (_s3347_ : string) : M (option ((ropw * mword 5 * mword 5 * m
end)
: M (option ((ropw * mword 5 * mword 5 * mword 5))).
-Definition _s3329_ (_s3330_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
- (match _s3330_ with
- | _s3331_ =>
- (shiftw_mnemonic_matches_prefix _s3331_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s3420_ (_s3421_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5))) :=
+ (match _s3421_ with
+ | _s3422_ =>
+ (shiftw_mnemonic_matches_prefix _s3422_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3332_ _) =>
- (match (string_drop _s3331_ _s3332_) with
- | _s3333_ =>
- (spc_matches_prefix _s3333_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3423_ _) =>
+ (match (string_drop _s3422_ _s3423_) with
+ | _s3424_ =>
+ (spc_matches_prefix _s3424_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3334_ _) =>
- (match (string_drop _s3333_ _s3334_) with
- | _s3335_ =>
- (reg_name_matches_prefix _s3335_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3425_ _) =>
+ (match (string_drop _s3424_ _s3425_) with
+ | _s3426_ =>
+ (reg_name_matches_prefix _s3426_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3336_ _) =>
- (match (string_drop _s3335_ _s3336_) with
- | _s3337_ =>
- (sep_matches_prefix _s3337_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3427_ _) =>
+ (match (string_drop _s3426_ _s3427_) with
+ | _s3428_ =>
+ (sep_matches_prefix _s3428_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3338_ _) =>
- (match (string_drop _s3337_ _s3338_) with
- | _s3339_ =>
- (reg_name_matches_prefix _s3339_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3429_ _) =>
+ (match (string_drop _s3428_ _s3429_) with
+ | _s3430_ =>
+ (reg_name_matches_prefix _s3430_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3340_ _) =>
- (match (string_drop _s3339_ _s3340_) with
- | _s3341_ =>
- (sep_matches_prefix _s3341_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3431_ _) =>
+ (match (string_drop _s3430_ _s3431_) with
+ | _s3432_ =>
+ (sep_matches_prefix _s3432_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3342_ _) =>
- match (string_drop _s3341_ _s3342_) with
- | _s3343_ =>
+ | Some (tt, existT _ _s3433_ _) =>
+ match (string_drop _s3432_ _s3433_) with
+ | _s3434_ =>
match (hex_bits_5_matches_prefix
- _s3343_) with
- | Some (shamt, existT _ _s3344_ _) =>
+ _s3434_) with
+ | Some (shamt, existT _ _s3435_ _) =>
let p0_ :=
- string_drop _s3343_ _s3344_ in
+ string_drop _s3434_ _s3435_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -50841,43 +51438,43 @@ Definition _s3329_ (_s3330_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 5))).
-Definition _s3313_ (_s3314_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s3315_ := _s3314_ in
- (if string_startswith _s3315_ "addiw" then
- (match (string_drop _s3315_ (projT1 (string_length "addiw"))) with
- | _s3316_ =>
- (spc_matches_prefix _s3316_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3404_ (_s3405_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s3406_ := _s3405_ in
+ (if string_startswith _s3406_ "addiw" then
+ (match (string_drop _s3406_ (projT1 (string_length "addiw"))) with
+ | _s3407_ =>
+ (spc_matches_prefix _s3407_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3317_ _) =>
- (match (string_drop _s3316_ _s3317_) with
- | _s3318_ =>
- (reg_name_matches_prefix _s3318_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3408_ _) =>
+ (match (string_drop _s3407_ _s3408_) with
+ | _s3409_ =>
+ (reg_name_matches_prefix _s3409_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3319_ _) =>
- (match (string_drop _s3318_ _s3319_) with
- | _s3320_ =>
- (sep_matches_prefix _s3320_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3410_ _) =>
+ (match (string_drop _s3409_ _s3410_) with
+ | _s3411_ =>
+ (sep_matches_prefix _s3411_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3321_ _) =>
- (match (string_drop _s3320_ _s3321_) with
- | _s3322_ =>
- (reg_name_matches_prefix _s3322_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3412_ _) =>
+ (match (string_drop _s3411_ _s3412_) with
+ | _s3413_ =>
+ (reg_name_matches_prefix _s3413_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s3323_ _) =>
- (match (string_drop _s3322_ _s3323_) with
- | _s3324_ =>
- (sep_matches_prefix _s3324_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3414_ _) =>
+ (match (string_drop _s3413_ _s3414_) with
+ | _s3415_ =>
+ (sep_matches_prefix _s3415_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3325_ _) =>
- match (string_drop _s3324_ _s3325_) with
- | _s3326_ =>
- match (hex_bits_12_matches_prefix _s3326_) with
- | Some (imm, existT _ _s3327_ _) =>
- let p0_ := string_drop _s3326_ _s3327_ in
+ | Some (tt, existT _ _s3416_ _) =>
+ match (string_drop _s3415_ _s3416_) with
+ | _s3417_ =>
+ match (hex_bits_12_matches_prefix _s3417_) with
+ | Some (imm, existT _ _s3418_ _) =>
+ let p0_ := string_drop _s3417_ _s3418_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -50911,103 +51508,103 @@ Definition _s3313_ (_s3314_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s3285_ (_s3286_ : string)
+Definition _s3376_ (_s3377_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s3287_ := _s3286_ in
- (if string_startswith _s3287_ "s" then
- (match (string_drop _s3287_ (projT1 (string_length "s"))) with
- | _s3288_ =>
- (size_mnemonic_matches_prefix _s3288_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s3378_ := _s3377_ in
+ (if string_startswith _s3378_ "s" then
+ (match (string_drop _s3378_ (projT1 (string_length "s"))) with
+ | _s3379_ =>
+ (size_mnemonic_matches_prefix _s3379_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s3289_ _) =>
- (match (string_drop _s3288_ _s3289_) with
- | _s3290_ =>
- (maybe_aq_matches_prefix _s3290_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s3380_ _) =>
+ (match (string_drop _s3379_ _s3380_) with
+ | _s3381_ =>
+ (maybe_aq_matches_prefix _s3381_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s3291_ _) =>
- (match (string_drop _s3290_ _s3291_) with
- | _s3292_ =>
- (maybe_rl_matches_prefix _s3292_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s3382_ _) =>
+ (match (string_drop _s3381_ _s3382_) with
+ | _s3383_ =>
+ (maybe_rl_matches_prefix _s3383_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s3293_ _) =>
- (match (string_drop _s3292_ _s3293_) with
- | _s3294_ =>
- (spc_matches_prefix _s3294_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s3384_ _) =>
+ (match (string_drop _s3383_ _s3384_) with
+ | _s3385_ =>
+ (spc_matches_prefix _s3385_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3295_ _) =>
- (match (string_drop _s3294_ _s3295_) with
- | _s3296_ =>
- (reg_name_matches_prefix _s3296_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3386_ _) =>
+ (match (string_drop _s3385_ _s3386_) with
+ | _s3387_ =>
+ (reg_name_matches_prefix _s3387_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s3297_ _) =>
- (match (string_drop _s3296_ _s3297_) with
- | _s3298_ =>
- (sep_matches_prefix _s3298_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3388_ _) =>
+ (match (string_drop _s3387_ _s3388_) with
+ | _s3389_ =>
+ (sep_matches_prefix _s3389_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3299_ _) =>
- (match (string_drop _s3298_ _s3299_) with
- | _s3300_ =>
- (match (hex_bits_12_matches_prefix _s3300_) with
- | Some (imm, existT _ _s3301_ _) =>
- (match (string_drop _s3300_ _s3301_) with
- | _s3302_ =>
- (opt_spc_matches_prefix _s3302_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3390_ _) =>
+ (match (string_drop _s3389_ _s3390_) with
+ | _s3391_ =>
+ (match (hex_bits_12_matches_prefix _s3391_) with
+ | Some (imm, existT _ _s3392_ _) =>
+ (match (string_drop _s3391_ _s3392_) with
+ | _s3393_ =>
+ (opt_spc_matches_prefix _s3393_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s3303_ _) =>
- let _s3304_ :=
- string_drop _s3302_ _s3303_ in
- (if string_startswith _s3304_
+ | Some (tt, existT _ _s3394_ _) =>
+ let _s3395_ :=
+ string_drop _s3393_ _s3394_ in
+ (if string_startswith _s3395_
"(" then
- (match (string_drop _s3304_
+ (match (string_drop _s3395_
(projT1
(string_length
"("))) with
- | _s3305_ =>
+ | _s3396_ =>
(opt_spc_matches_prefix
- _s3305_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3396_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s3306_ _) =>
+ (tt, existT _ _s3397_ _) =>
(match (string_drop
- _s3305_
- _s3306_) with
- | _s3307_ =>
+ _s3396_
+ _s3397_) with
+ | _s3398_ =>
(reg_name_matches_prefix
- _s3307_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s3398_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs1, existT _ _s3308_ _) =>
+ (rs1, existT _ _s3399_ _) =>
(match (string_drop
- _s3307_
- _s3308_) with
- | _s3309_ =>
+ _s3398_
+ _s3399_) with
+ | _s3400_ =>
(opt_spc_matches_prefix
- _s3309_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3400_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (tt, existT _ _s3310_ _) =>
- let _s3311_ :=
+ (tt, existT _ _s3401_ _) =>
+ let _s3402_ :=
string_drop
- _s3309_
- _s3310_ in
+ _s3400_
+ _s3401_ in
if
string_startswith
- _s3311_
+ _s3402_
")"
then
let p0_ :=
string_drop
- _s3311_
+ _s3402_
(projT1
(string_length
")")) in
@@ -51083,115 +51680,115 @@ Definition _s3285_ (_s3286_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s3255_ (_s3256_ : string)
+Definition _s3346_ (_s3347_ : string)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))) :=
- let _s3257_ := _s3256_ in
- (if string_startswith _s3257_ "l" then
- (match (string_drop _s3257_ (projT1 (string_length "l"))) with
- | _s3258_ =>
- (size_mnemonic_matches_prefix _s3258_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s3348_ := _s3347_ in
+ (if string_startswith _s3348_ "l" then
+ (match (string_drop _s3348_ (projT1 (string_length "l"))) with
+ | _s3349_ =>
+ (size_mnemonic_matches_prefix _s3349_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s3259_ _) =>
- (match (string_drop _s3258_ _s3259_) with
- | _s3260_ =>
- (maybe_u_matches_prefix _s3260_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s3350_ _) =>
+ (match (string_drop _s3349_ _s3350_) with
+ | _s3351_ =>
+ (maybe_u_matches_prefix _s3351_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (is_unsigned, existT _ _s3261_ _) =>
- (match (string_drop _s3260_ _s3261_) with
- | _s3262_ =>
- (maybe_aq_matches_prefix _s3262_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (is_unsigned, existT _ _s3352_ _) =>
+ (match (string_drop _s3351_ _s3352_) with
+ | _s3353_ =>
+ (maybe_aq_matches_prefix _s3353_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s3263_ _) =>
- (match (string_drop _s3262_ _s3263_) with
- | _s3264_ =>
- (maybe_rl_matches_prefix _s3264_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s3354_ _) =>
+ (match (string_drop _s3353_ _s3354_) with
+ | _s3355_ =>
+ (maybe_rl_matches_prefix _s3355_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s3265_ _) =>
- (match (string_drop _s3264_ _s3265_) with
- | _s3266_ =>
- (spc_matches_prefix _s3266_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s3356_ _) =>
+ (match (string_drop _s3355_ _s3356_) with
+ | _s3357_ =>
+ (spc_matches_prefix _s3357_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s3267_ _) =>
- (match (string_drop _s3266_ _s3267_) with
- | _s3268_ =>
- (reg_name_matches_prefix _s3268_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3358_ _) =>
+ (match (string_drop _s3357_ _s3358_) with
+ | _s3359_ =>
+ (reg_name_matches_prefix _s3359_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s3269_ _) =>
- (match (string_drop _s3268_ _s3269_) with
- | _s3270_ =>
- (sep_matches_prefix _s3270_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3360_ _) =>
+ (match (string_drop _s3359_ _s3360_) with
+ | _s3361_ =>
+ (sep_matches_prefix _s3361_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s3271_ _) =>
- (match (string_drop _s3270_ _s3271_) with
- | _s3272_ =>
+ | Some (tt, existT _ _s3362_ _) =>
+ (match (string_drop _s3361_ _s3362_) with
+ | _s3363_ =>
(match (hex_bits_12_matches_prefix
- _s3272_) with
- | Some (imm, existT _ _s3273_ _) =>
- (match (string_drop _s3272_
- _s3273_) with
- | _s3274_ =>
+ _s3363_) with
+ | Some (imm, existT _ _s3364_ _) =>
+ (match (string_drop _s3363_
+ _s3364_) with
+ | _s3365_ =>
(opt_spc_matches_prefix
- _s3274_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3365_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s3275_ _) =>
- let _s3276_ :=
- string_drop _s3274_
- _s3275_ in
+ (tt, existT _ _s3366_ _) =>
+ let _s3367_ :=
+ string_drop _s3365_
+ _s3366_ in
(if string_startswith
- _s3276_ "(" then
+ _s3367_ "(" then
(match (string_drop
- _s3276_
+ _s3367_
(projT1
(string_length
"("))) with
- | _s3277_ =>
+ | _s3368_ =>
(opt_spc_matches_prefix
- _s3277_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3368_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s3278_ _) =>
+ (tt, existT _ _s3369_ _) =>
(match (string_drop
- _s3277_
- _s3278_) with
- | _s3279_ =>
+ _s3368_
+ _s3369_) with
+ | _s3370_ =>
(reg_name_matches_prefix
- _s3279_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s3370_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (rs1, existT _ _s3280_ _) =>
+ (rs1, existT _ _s3371_ _) =>
(match (string_drop
- _s3279_
- _s3280_) with
- | _s3281_ =>
+ _s3370_
+ _s3371_) with
+ | _s3372_ =>
(opt_spc_matches_prefix
- _s3281_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
+ _s3372_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (tt, existT _ _s3282_ _) =>
- let _s3283_ :=
+ (tt, existT _ _s3373_ _) =>
+ let _s3374_ :=
string_drop
- _s3281_
- _s3282_ in
+ _s3372_
+ _s3373_ in
if
string_startswith
- _s3283_
+ _s3374_
")"
then
let p0_ :=
string_drop
- _s3283_
+ _s3374_
(projT1
(string_length
")")) in
@@ -51273,51 +51870,51 @@ Definition _s3255_ (_s3256_ : string)
else returnm None)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5))).
-Definition _s3238_ (_s3239_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
- (match _s3239_ with
- | _s3240_ =>
- (rtype_mnemonic_matches_prefix _s3240_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
+Definition _s3329_ (_s3330_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5))) :=
+ (match _s3330_ with
+ | _s3331_ =>
+ (rtype_mnemonic_matches_prefix _s3331_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3241_ _) =>
- (match (string_drop _s3240_ _s3241_) with
- | _s3242_ =>
- (spc_matches_prefix _s3242_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3332_ _) =>
+ (match (string_drop _s3331_ _s3332_) with
+ | _s3333_ =>
+ (spc_matches_prefix _s3333_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3243_ _) =>
- (match (string_drop _s3242_ _s3243_) with
- | _s3244_ =>
- (reg_name_matches_prefix _s3244_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3334_ _) =>
+ (match (string_drop _s3333_ _s3334_) with
+ | _s3335_ =>
+ (reg_name_matches_prefix _s3335_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3245_ _) =>
- (match (string_drop _s3244_ _s3245_) with
- | _s3246_ =>
- (sep_matches_prefix _s3246_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3336_ _) =>
+ (match (string_drop _s3335_ _s3336_) with
+ | _s3337_ =>
+ (sep_matches_prefix _s3337_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3247_ _) =>
- (match (string_drop _s3246_ _s3247_) with
- | _s3248_ =>
- (reg_name_matches_prefix _s3248_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3338_ _) =>
+ (match (string_drop _s3337_ _s3338_) with
+ | _s3339_ =>
+ (reg_name_matches_prefix _s3339_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3249_ _) =>
- (match (string_drop _s3248_ _s3249_) with
- | _s3250_ =>
- (sep_matches_prefix _s3250_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3340_ _) =>
+ (match (string_drop _s3339_ _s3340_) with
+ | _s3341_ =>
+ (sep_matches_prefix _s3341_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s3251_ _) =>
- (match (string_drop _s3250_ _s3251_) with
- | _s3252_ =>
- (reg_name_matches_prefix _s3252_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3342_ _) =>
+ (match (string_drop _s3341_ _s3342_) with
+ | _s3343_ =>
+ (reg_name_matches_prefix _s3343_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s3253_ _) =>
+ | Some (rs2, existT _ _s3344_ _) =>
let p0_ :=
- string_drop _s3252_ _s3253_ in
+ string_drop _s3343_ _s3344_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, rs2)
else None
@@ -51356,50 +51953,50 @@ Definition _s3238_ (_s3239_ : string) : M (option ((rop * mword 5 * mword 5 * mw
end)
: M (option ((rop * mword 5 * mword 5 * mword 5))).
-Definition _s3221_ (_s3222_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
- (match _s3222_ with
- | _s3223_ =>
- (shiftiop_mnemonic_matches_prefix _s3223_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s3312_ (_s3313_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6))) :=
+ (match _s3313_ with
+ | _s3314_ =>
+ (shiftiop_mnemonic_matches_prefix _s3314_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3224_ _) =>
- (match (string_drop _s3223_ _s3224_) with
- | _s3225_ =>
- (spc_matches_prefix _s3225_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3315_ _) =>
+ (match (string_drop _s3314_ _s3315_) with
+ | _s3316_ =>
+ (spc_matches_prefix _s3316_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3226_ _) =>
- (match (string_drop _s3225_ _s3226_) with
- | _s3227_ =>
- (reg_name_matches_prefix _s3227_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3317_ _) =>
+ (match (string_drop _s3316_ _s3317_) with
+ | _s3318_ =>
+ (reg_name_matches_prefix _s3318_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3228_ _) =>
- (match (string_drop _s3227_ _s3228_) with
- | _s3229_ =>
- (sep_matches_prefix _s3229_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3319_ _) =>
+ (match (string_drop _s3318_ _s3319_) with
+ | _s3320_ =>
+ (sep_matches_prefix _s3320_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3230_ _) =>
- (match (string_drop _s3229_ _s3230_) with
- | _s3231_ =>
- (reg_name_matches_prefix _s3231_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3321_ _) =>
+ (match (string_drop _s3320_ _s3321_) with
+ | _s3322_ =>
+ (reg_name_matches_prefix _s3322_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3232_ _) =>
- (match (string_drop _s3231_ _s3232_) with
- | _s3233_ =>
- (sep_matches_prefix _s3233_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3323_ _) =>
+ (match (string_drop _s3322_ _s3323_) with
+ | _s3324_ =>
+ (sep_matches_prefix _s3324_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3234_ _) =>
- match (string_drop _s3233_ _s3234_) with
- | _s3235_ =>
+ | Some (tt, existT _ _s3325_ _) =>
+ match (string_drop _s3324_ _s3325_) with
+ | _s3326_ =>
match (hex_bits_6_matches_prefix
- _s3235_) with
- | Some (shamt, existT _ _s3236_ _) =>
+ _s3326_) with
+ | Some (shamt, existT _ _s3327_ _) =>
let p0_ :=
- string_drop _s3235_ _s3236_ in
+ string_drop _s3326_ _s3327_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, shamt)
else None
@@ -51436,50 +52033,50 @@ Definition _s3221_ (_s3222_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 6))).
-Definition _s3204_ (_s3205_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
- (match _s3205_ with
- | _s3206_ =>
- (itype_mnemonic_matches_prefix _s3206_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
+Definition _s3295_ (_s3296_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12))) :=
+ (match _s3296_ with
+ | _s3297_ =>
+ (itype_mnemonic_matches_prefix _s3297_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3207_ _) =>
- (match (string_drop _s3206_ _s3207_) with
- | _s3208_ =>
- (spc_matches_prefix _s3208_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3298_ _) =>
+ (match (string_drop _s3297_ _s3298_) with
+ | _s3299_ =>
+ (spc_matches_prefix _s3299_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3209_ _) =>
- (match (string_drop _s3208_ _s3209_) with
- | _s3210_ =>
- (reg_name_matches_prefix _s3210_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3300_ _) =>
+ (match (string_drop _s3299_ _s3300_) with
+ | _s3301_ =>
+ (reg_name_matches_prefix _s3301_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3211_ _) =>
- (match (string_drop _s3210_ _s3211_) with
- | _s3212_ =>
- (sep_matches_prefix _s3212_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3302_ _) =>
+ (match (string_drop _s3301_ _s3302_) with
+ | _s3303_ =>
+ (sep_matches_prefix _s3303_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3213_ _) =>
- (match (string_drop _s3212_ _s3213_) with
- | _s3214_ =>
- (reg_name_matches_prefix _s3214_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3304_ _) =>
+ (match (string_drop _s3303_ _s3304_) with
+ | _s3305_ =>
+ (reg_name_matches_prefix _s3305_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s3215_ _) =>
- (match (string_drop _s3214_ _s3215_) with
- | _s3216_ =>
- (sep_matches_prefix _s3216_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3306_ _) =>
+ (match (string_drop _s3305_ _s3306_) with
+ | _s3307_ =>
+ (sep_matches_prefix _s3307_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3217_ _) =>
- match (string_drop _s3216_ _s3217_) with
- | _s3218_ =>
+ | Some (tt, existT _ _s3308_ _) =>
+ match (string_drop _s3307_ _s3308_) with
+ | _s3309_ =>
match (hex_bits_12_matches_prefix
- _s3218_) with
- | Some (imm, existT _ _s3219_ _) =>
+ _s3309_) with
+ | Some (imm, existT _ _s3310_ _) =>
let p0_ :=
- string_drop _s3218_ _s3219_ in
+ string_drop _s3309_ _s3310_ in
if generic_eq p0_ "" then
Some (op, rd, rs1, imm)
else None
@@ -51516,50 +52113,50 @@ Definition _s3204_ (_s3205_ : string) : M (option ((iop * mword 5 * mword 5 * mw
end)
: M (option ((iop * mword 5 * mword 5 * mword 12))).
-Definition _s3187_ (_s3188_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
- (match _s3188_ with
- | _s3189_ =>
- (btype_mnemonic_matches_prefix _s3189_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
+Definition _s3278_ (_s3279_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13))) :=
+ (match _s3279_ with
+ | _s3280_ =>
+ (btype_mnemonic_matches_prefix _s3280_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3190_ _) =>
- (match (string_drop _s3189_ _s3190_) with
- | _s3191_ =>
- (spc_matches_prefix _s3191_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3281_ _) =>
+ (match (string_drop _s3280_ _s3281_) with
+ | _s3282_ =>
+ (spc_matches_prefix _s3282_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3192_ _) =>
- (match (string_drop _s3191_ _s3192_) with
- | _s3193_ =>
- (reg_name_matches_prefix _s3193_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3283_ _) =>
+ (match (string_drop _s3282_ _s3283_) with
+ | _s3284_ =>
+ (reg_name_matches_prefix _s3284_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs1, existT _ _s3194_ _) =>
- (match (string_drop _s3193_ _s3194_) with
- | _s3195_ =>
- (sep_matches_prefix _s3195_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3285_ _) =>
+ (match (string_drop _s3284_ _s3285_) with
+ | _s3286_ =>
+ (sep_matches_prefix _s3286_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s3196_ _) =>
- (match (string_drop _s3195_ _s3196_) with
- | _s3197_ =>
- (reg_name_matches_prefix _s3197_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3287_ _) =>
+ (match (string_drop _s3286_ _s3287_) with
+ | _s3288_ =>
+ (reg_name_matches_prefix _s3288_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s3198_ _) =>
- (match (string_drop _s3197_ _s3198_) with
- | _s3199_ =>
- (sep_matches_prefix _s3199_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s3289_ _) =>
+ (match (string_drop _s3288_ _s3289_) with
+ | _s3290_ =>
+ (sep_matches_prefix _s3290_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s3200_ _) =>
- match (string_drop _s3199_ _s3200_) with
- | _s3201_ =>
+ | Some (tt, existT _ _s3291_ _) =>
+ match (string_drop _s3290_ _s3291_) with
+ | _s3292_ =>
match (hex_bits_13_matches_prefix
- _s3201_) with
- | Some (imm, existT _ _s3202_ _) =>
+ _s3292_) with
+ | Some (imm, existT _ _s3293_ _) =>
let p0_ :=
- string_drop _s3201_ _s3202_ in
+ string_drop _s3292_ _s3293_ in
if generic_eq p0_ "" then
Some (op, rs1, rs2, imm)
else None
@@ -51596,43 +52193,43 @@ Definition _s3187_ (_s3188_ : string) : M (option ((bop * mword 5 * mword 5 * mw
end)
: M (option ((bop * mword 5 * mword 5 * mword 13))).
-Definition _s3171_ (_s3172_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
- let _s3173_ := _s3172_ in
- (if string_startswith _s3173_ "jalr" then
- (match (string_drop _s3173_ (projT1 (string_length "jalr"))) with
- | _s3174_ =>
- (spc_matches_prefix _s3174_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3262_ (_s3263_ : string) : M (option ((mword 5 * mword 5 * mword 12))) :=
+ let _s3264_ := _s3263_ in
+ (if string_startswith _s3264_ "jalr" then
+ (match (string_drop _s3264_ (projT1 (string_length "jalr"))) with
+ | _s3265_ =>
+ (spc_matches_prefix _s3265_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3175_ _) =>
- (match (string_drop _s3174_ _s3175_) with
- | _s3176_ =>
- (reg_name_matches_prefix _s3176_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3266_ _) =>
+ (match (string_drop _s3265_ _s3266_) with
+ | _s3267_ =>
+ (reg_name_matches_prefix _s3267_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3177_ _) =>
- (match (string_drop _s3176_ _s3177_) with
- | _s3178_ =>
- (sep_matches_prefix _s3178_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3268_ _) =>
+ (match (string_drop _s3267_ _s3268_) with
+ | _s3269_ =>
+ (sep_matches_prefix _s3269_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s3179_ _) =>
- (match (string_drop _s3178_ _s3179_) with
- | _s3180_ =>
- (reg_name_matches_prefix _s3180_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3270_ _) =>
+ (match (string_drop _s3269_ _s3270_) with
+ | _s3271_ =>
+ (reg_name_matches_prefix _s3271_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s3181_ _) =>
- (match (string_drop _s3180_ _s3181_) with
- | _s3182_ =>
- (sep_matches_prefix _s3182_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s3272_ _) =>
+ (match (string_drop _s3271_ _s3272_) with
+ | _s3273_ =>
+ (sep_matches_prefix _s3273_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s3183_ _) =>
- match (string_drop _s3182_ _s3183_) with
- | _s3184_ =>
- match (hex_bits_12_matches_prefix _s3184_) with
- | Some (imm, existT _ _s3185_ _) =>
- let p0_ := string_drop _s3184_ _s3185_ in
+ | Some (tt, existT _ _s3274_ _) =>
+ match (string_drop _s3273_ _s3274_) with
+ | _s3275_ =>
+ match (hex_bits_12_matches_prefix _s3275_) with
+ | Some (imm, existT _ _s3276_ _) =>
+ let p0_ := string_drop _s3275_ _s3276_ in
if generic_eq p0_ "" then
Some (rd, rs1, imm)
else None
@@ -51666,31 +52263,31 @@ Definition _s3171_ (_s3172_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12))).
-Definition _s3159_ (_s3160_ : string) : M (option ((mword 5 * mword 21))) :=
- let _s3161_ := _s3160_ in
- (if string_startswith _s3161_ "jal" then
- (match (string_drop _s3161_ (projT1 (string_length "jal"))) with
- | _s3162_ =>
- (spc_matches_prefix _s3162_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s3250_ (_s3251_ : string) : M (option ((mword 5 * mword 21))) :=
+ let _s3252_ := _s3251_ in
+ (if string_startswith _s3252_ "jal" then
+ (match (string_drop _s3252_ (projT1 (string_length "jal"))) with
+ | _s3253_ =>
+ (spc_matches_prefix _s3253_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s3163_ _) =>
- (match (string_drop _s3162_ _s3163_) with
- | _s3164_ =>
- (reg_name_matches_prefix _s3164_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3254_ _) =>
+ (match (string_drop _s3253_ _s3254_) with
+ | _s3255_ =>
+ (reg_name_matches_prefix _s3255_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s3165_ _) =>
- (match (string_drop _s3164_ _s3165_) with
- | _s3166_ =>
- (sep_matches_prefix _s3166_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3256_ _) =>
+ (match (string_drop _s3255_ _s3256_) with
+ | _s3257_ =>
+ (sep_matches_prefix _s3257_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s3167_ _) =>
- match (string_drop _s3166_ _s3167_) with
- | _s3168_ =>
- match (hex_bits_21_matches_prefix _s3168_) with
- | Some (imm, existT _ _s3169_ _) =>
- let p0_ := string_drop _s3168_ _s3169_ in
+ | Some (tt, existT _ _s3258_ _) =>
+ match (string_drop _s3257_ _s3258_) with
+ | _s3259_ =>
+ match (hex_bits_21_matches_prefix _s3259_) with
+ | Some (imm, existT _ _s3260_ _) =>
+ let p0_ := string_drop _s3259_ _s3260_ in
if generic_eq p0_ "" then Some (rd, imm)
else None
| _ => None
@@ -51713,36 +52310,36 @@ Definition _s3159_ (_s3160_ : string) : M (option ((mword 5 * mword 21))) :=
else returnm None)
: M (option ((mword 5 * mword 21))).
-Definition _s3146_ (_s3147_ : string) : M (option ((uop * mword 5 * mword 20))) :=
- (match _s3147_ with
- | _s3148_ =>
- (utype_mnemonic_matches_prefix _s3148_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
+Definition _s3237_ (_s3238_ : string) : M (option ((uop * mword 5 * mword 20))) :=
+ (match _s3238_ with
+ | _s3239_ =>
+ (utype_mnemonic_matches_prefix _s3239_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s3149_ _) =>
- (match (string_drop _s3148_ _s3149_) with
- | _s3150_ =>
- (spc_matches_prefix _s3150_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s3240_ _) =>
+ (match (string_drop _s3239_ _s3240_) with
+ | _s3241_ =>
+ (spc_matches_prefix _s3241_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s3151_ _) =>
- (match (string_drop _s3150_ _s3151_) with
- | _s3152_ =>
- (reg_name_matches_prefix _s3152_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s3242_ _) =>
+ (match (string_drop _s3241_ _s3242_) with
+ | _s3243_ =>
+ (reg_name_matches_prefix _s3243_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s3153_ _) =>
- (match (string_drop _s3152_ _s3153_) with
- | _s3154_ =>
- (sep_matches_prefix _s3154_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s3244_ _) =>
+ (match (string_drop _s3243_ _s3244_) with
+ | _s3245_ =>
+ (sep_matches_prefix _s3245_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (tt, existT _ _s3155_ _) =>
- match (string_drop _s3154_ _s3155_) with
- | _s3156_ =>
- match (hex_bits_20_matches_prefix _s3156_) with
- | Some (imm, existT _ _s3157_ _) =>
- let p0_ := string_drop _s3156_ _s3157_ in
+ | Some (tt, existT _ _s3246_ _) =>
+ match (string_drop _s3245_ _s3246_) with
+ | _s3247_ =>
+ match (hex_bits_20_matches_prefix _s3247_) with
+ | Some (imm, existT _ _s3248_ _) =>
+ let p0_ := string_drop _s3247_ _s3248_ in
if generic_eq p0_ "" then Some (op, rd, imm)
else None
| _ => None
@@ -51769,181 +52366,181 @@ Definition _s3146_ (_s3147_ : string) : M (option ((uop * mword 5 * mword 20)))
: M (option ((uop * mword 5 * mword 20))).
Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
- let _s3158_ := arg_ in
- (_s3146_ _s3158_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
+ let _s3249_ := arg_ in
+ (_s3237_ _s3249_) >>= fun w__0 : option ((uop * mword 5 * mword 20)) =>
(if match w__0 with | Some (op, rd, imm) => true | _ => false end then
- (_s3146_ _s3158_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
+ (_s3237_ _s3249_) >>= fun w__1 : option ((uop * mword 5 * mword 20)) =>
(match w__1 with | Some (op, rd, imm) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else
- (_s3159_ _s3158_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
+ (_s3250_ _s3249_) >>= fun w__4 : option ((mword 5 * mword 21)) =>
(if match w__4 with | Some (rd, imm) => true | _ => false end then
- (_s3159_ _s3158_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
+ (_s3250_ _s3249_) >>= fun w__5 : option ((mword 5 * mword 21)) =>
(match w__5 with | Some (rd, imm) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else
- (_s3171_ _s3158_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s3262_ _s3249_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__8 with | Some (rd, rs1, imm) => true | _ => false end then
- (_s3171_ _s3158_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s3262_ _s3249_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__9 with | Some (rd, rs1, imm) => returnm true | _ => exit tt : M (bool) end)
: M (bool)
else
- (_s3187_ _s3158_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s3278_ _s3249_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(if match w__12 with | Some (op, rs1, rs2, imm) => true | _ => false end then
- (_s3187_ _s3158_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
+ (_s3278_ _s3249_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13)) =>
(match w__13 with
| Some (op, rs1, rs2, imm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3204_ _s3158_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s3295_ _s3249_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(if match w__16 with | Some (op, rd, rs1, imm) => true | _ => false end then
- (_s3204_ _s3158_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
+ (_s3295_ _s3249_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12)) =>
(match w__17 with
| Some (op, rd, rs1, imm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3221_ _s3158_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s3312_ _s3249_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(if match w__20 with | Some (op, rd, rs1, shamt) => true | _ => false end then
- (_s3221_ _s3158_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
+ (_s3312_ _s3249_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6)) =>
(match w__21 with
| Some (op, rd, rs1, shamt) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3238_ _s3158_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s3329_ _s3249_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(if match w__24 with | Some (op, rd, rs1, rs2) => true | _ => false end then
- (_s3238_ _s3158_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
+ (_s3329_ _s3249_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5)) =>
(match w__25 with
| Some (op, rd, rs1, rs2) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3255_ _s3158_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s3346_ _s3249_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__28 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) => true
| _ => false
end then
- (_s3255_ _s3158_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s3346_ _s3249_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__29 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3285_ _s3158_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s3376_ _s3249_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(if match w__32 with
| Some (size, aq, rl, rs2, imm, rs1) => true
| _ => false
end then
- (_s3285_ _s3158_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
+ (_s3376_ _s3249_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5)) =>
(match w__33 with
| Some (size, aq, rl, rs2, imm, rs1) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3313_ _s3158_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s3404_ _s3249_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12)) =>
(if match w__36 with
| Some (rd, rs1, imm) => Z.eqb 64 64
| _ => false
end then
- (_s3313_ _s3158_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
+ (_s3404_ _s3249_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12)) =>
(match w__37 with
| Some (rd, rs1, imm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3329_ _s3158_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s3420_ _s3249_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(if match w__40 with
| Some (op, rd, rs1, shamt) => Z.eqb 64 64
| _ => false
end then
- (_s3329_ _s3158_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
+ (_s3420_ _s3249_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5)) =>
(match w__41 with
| Some (op, rd, rs1, shamt) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3346_ _s3158_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s3437_ _s3249_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(if match w__44 with
| Some (op, rd, rs1, rs2) => Z.eqb 64 64
| _ => false
end then
- (_s3346_ _s3158_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
+ (_s3437_ _s3249_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5)) =>
(match w__45 with
| Some (op, rd, rs1, rs2) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3363_ _s3158_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s3454_ _s3249_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(if match w__48 with
| Some (op, rd, rs1, shamt) => Z.eqb 64 64
| _ => false
end then
- (_s3363_ _s3158_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
+ (_s3454_ _s3249_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5)) =>
(match w__49 with
| Some (op, rd, rs1, shamt) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3380_ _s3158_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
+ (_s3471_ _s3249_) >>= fun w__52 : option ((mword 4 * mword 4)) =>
(if match w__52 with
| Some (pred, succ) => true
| _ => false
end then
- (_s3380_ _s3158_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
+ (_s3471_ _s3249_) >>= fun w__53 : option ((mword 4 * mword 4)) =>
(match w__53 with
| Some (pred, succ) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3392_ _s3158_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
+ (_s3483_ _s3249_) >>= fun w__56 : option ((mword 4 * mword 4)) =>
(if match w__56 with
| Some (pred, succ) => true
| _ => false
end then
- (_s3392_ _s3158_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
+ (_s3483_ _s3249_) >>= fun w__57 : option ((mword 4 * mword 4)) =>
(match w__57 with
| Some (pred, succ) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
- else if generic_eq _s3158_ "fence.i" then returnm true
- else if generic_eq _s3158_ "ecall" then returnm true
- else if generic_eq _s3158_ "mret" then returnm true
- else if generic_eq _s3158_ "sret" then returnm true
- else if generic_eq _s3158_ "ebreak" then returnm true
- else if generic_eq _s3158_ "wfi" then returnm true
+ else if generic_eq _s3249_ "fence.i" then returnm true
+ else if generic_eq _s3249_ "ecall" then returnm true
+ else if generic_eq _s3249_ "mret" then returnm true
+ else if generic_eq _s3249_ "sret" then returnm true
+ else if generic_eq _s3249_ "ebreak" then returnm true
+ else if generic_eq _s3249_ "wfi" then returnm true
else
- (_s3404_ _s3158_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
+ (_s3495_ _s3249_) >>= fun w__60 : option ((mword 5 * mword 5)) =>
(if match w__60 with
| Some (rs1, rs2) => true
| _ => false
end then
- (_s3404_ _s3158_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
+ (_s3495_ _s3249_) >>= fun w__61 : option ((mword 5 * mword 5)) =>
(match w__61 with
| Some (rs1, rs2) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3416_ _s3158_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s3507_ _s3249_) >>= fun w__64 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(if match w__64 with
| Some (size, aq, rl, rd, rs1) => true
| _ => false
end then
- (_s3416_ _s3158_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
+ (_s3507_ _s3249_) >>= fun w__65 : option ((word_width * bool * bool * mword 5 * mword 5)) =>
(match w__65 with
| Some (size, aq, rl, rd, rs1) =>
returnm true
@@ -51951,13 +52548,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3434_ _s3158_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3525_ _s3249_) >>= fun w__68 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__68 with
| Some (size, aq, rl, rd, rs1, rs2) =>
true
| _ => false
end then
- (_s3434_ _s3158_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3525_ _s3249_) >>= fun w__69 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__69 with
| Some (size, aq, rl, rd, rs1, rs2) =>
returnm true
@@ -51965,14 +52562,14 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3456_ _s3158_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3547_ _s3249_) >>= fun w__72 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if match w__72 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
true
| _ => false
end then
- (_s3456_ _s3158_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3547_ _s3249_) >>= fun w__73 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__73 with
| Some
(op, width, aq, rl, rd, rs2, rs1) =>
@@ -51980,28 +52577,28 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
| _ => exit tt : M (bool)
end)
: M (bool)
- else if generic_eq _s3158_ "c.nop" then
+ else if generic_eq _s3249_ "c.nop" then
returnm true
else
- (_s3482_ _s3158_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
+ (_s3573_ _s3249_) >>= fun w__76 : option ((mword 3 * mword 8)) =>
(if match w__76 with
| Some (rdc, nzimm) =>
neq_vec nzimm (Ox"00" : mword 8)
| _ => false
end then
- (_s3482_ _s3158_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
+ (_s3573_ _s3249_) >>= fun w__77 : option ((mword 3 * mword 8)) =>
(match w__77 with
| Some (rdc, nzimm) => returnm true
| _ => exit tt : M (bool)
end)
: M (bool)
else
- (_s3494_ _s3158_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3585_ _s3249_) >>= fun w__80 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__80 with
| Some (rdc, rsc, uimm) => true
| _ => false
end then
- (_s3494_ _s3158_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3585_ _s3249_) >>= fun w__81 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__81 with
| Some (rdc, rsc, uimm) =>
returnm true
@@ -52009,13 +52606,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3510_ _s3158_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3601_ _s3249_) >>= fun w__84 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__84 with
| Some (rdc, rsc, uimm) =>
Z.eqb 64 64
| _ => false
end then
- (_s3510_ _s3158_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3601_ _s3249_) >>= fun w__85 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__85 with
| Some (rdc, rsc, uimm) =>
returnm true
@@ -52023,13 +52620,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3526_ _s3158_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3617_ _s3249_) >>= fun w__88 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__88 with
| Some (rsc1, rsc2, uimm) =>
true
| _ => false
end then
- (_s3526_ _s3158_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3617_ _s3249_) >>= fun w__89 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__89 with
| Some (rsc1, rsc2, uimm) =>
returnm true
@@ -52037,14 +52634,14 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3542_ _s3158_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3633_ _s3249_) >>= fun w__92 : option ((mword 3 * mword 3 * mword 5)) =>
(if match w__92 with
| Some
(rsc1, rsc2, uimm) =>
Z.eqb 64 64
| _ => false
end then
- (_s3542_ _s3158_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s3633_ _s3249_) >>= fun w__93 : option ((mword 3 * mword 3 * mword 5)) =>
(match w__93 with
| Some
(rsc1, rsc2, uimm) =>
@@ -52054,7 +52651,7 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3558_ _s3158_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
+ (_s3649_ _s3249_) >>= fun w__96 : option ((mword 5 * mword 6)) =>
(if match w__96 with
| Some (rsd, nzi) =>
andb
@@ -52065,7 +52662,7 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
zreg)
| _ => false
end then
- (_s3558_ _s3158_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
+ (_s3649_ _s3249_) >>= fun w__97 : option ((mword 5 * mword 6)) =>
(match w__97 with
| Some (rsd, nzi) =>
returnm true
@@ -52075,13 +52672,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3570_ _s3158_) >>= fun w__100 : option (mword 11) =>
+ (_s3661_ _s3249_) >>= fun w__100 : option (mword 11) =>
(if match w__100 with
| Some imm =>
Z.eqb 64 32
| _ => false
end then
- (_s3570_ _s3158_) >>= fun w__101 : option (mword 11) =>
+ (_s3661_ _s3249_) >>= fun w__101 : option (mword 11) =>
(match w__101 with
| Some imm =>
returnm true
@@ -52091,14 +52688,14 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3578_ _s3158_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
+ (_s3669_ _s3249_) >>= fun w__104 : option ((mword 5 * mword 6)) =>
(if match w__104 with
| Some
(rsd, imm) =>
Z.eqb 64 64
| _ => false
end then
- (_s3578_ _s3158_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
+ (_s3669_ _s3249_) >>= fun w__105 : option ((mword 5 * mword 6)) =>
(match w__105 with
| Some
(rsd, imm) =>
@@ -52109,7 +52706,7 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3590_ _s3158_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
+ (_s3681_ _s3249_) >>= fun w__108 : option ((mword 5 * mword 6)) =>
(if match w__108 with
| Some
(rd, imm) =>
@@ -52117,8 +52714,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
rd zreg
| _ => false
end then
- (_s3590_
- _s3158_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
+ (_s3681_
+ _s3249_) >>= fun w__109 : option ((mword 5 * mword 6)) =>
(match w__109 with
| Some
(rd, imm) =>
@@ -52129,8 +52726,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3602_
- _s3158_) >>= fun w__112 : option (mword 6) =>
+ (_s3693_
+ _s3249_) >>= fun w__112 : option (mword 6) =>
(if match w__112 with
| Some
imm =>
@@ -52141,8 +52738,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
| _ =>
false
end then
- (_s3602_
- _s3158_) >>= fun w__113 : option (mword 6) =>
+ (_s3693_
+ _s3249_) >>= fun w__113 : option (mword 6) =>
(match w__113 with
| Some
imm =>
@@ -52153,8 +52750,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3610_
- _s3158_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
+ (_s3701_
+ _s3249_) >>= fun w__116 : option ((mword 5 * mword 6)) =>
(if match w__116 with
| Some
(rd, imm) =>
@@ -52174,8 +52771,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3610_
- _s3158_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
+ (_s3701_
+ _s3249_) >>= fun w__117 : option ((mword 5 * mword 6)) =>
(match w__117 with
| Some
(rd, imm) =>
@@ -52186,8 +52783,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3622_
- _s3158_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
+ (_s3713_
+ _s3249_) >>= fun w__120 : option ((mword 3 * mword 6)) =>
(if match w__120 with
| Some
(rsd, shamt) =>
@@ -52199,8 +52796,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3622_
- _s3158_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
+ (_s3713_
+ _s3249_) >>= fun w__121 : option ((mword 3 * mword 6)) =>
(match w__121 with
| Some
(rsd, shamt) =>
@@ -52211,8 +52808,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3634_
- _s3158_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
+ (_s3725_
+ _s3249_) >>= fun w__124 : option ((mword 3 * mword 6)) =>
(if match w__124 with
| Some
(rsd, shamt) =>
@@ -52224,8 +52821,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3634_
- _s3158_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
+ (_s3725_
+ _s3249_) >>= fun w__125 : option ((mword 3 * mword 6)) =>
(match w__125 with
| Some
(rsd, shamt) =>
@@ -52236,8 +52833,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3646_
- _s3158_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
+ (_s3737_
+ _s3249_) >>= fun w__128 : option ((mword 3 * mword 6)) =>
(if
match w__128 with
| Some
@@ -52247,8 +52844,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3646_
- _s3158_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
+ (_s3737_
+ _s3249_) >>= fun w__129 : option ((mword 3 * mword 6)) =>
(match w__129 with
| Some
(rsd, imm) =>
@@ -52259,8 +52856,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3658_
- _s3158_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
+ (_s3749_
+ _s3249_) >>= fun w__132 : option ((mword 3 * mword 3)) =>
(if
match w__132 with
| Some
@@ -52270,8 +52867,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3658_
- _s3158_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
+ (_s3749_
+ _s3249_) >>= fun w__133 : option ((mword 3 * mword 3)) =>
(match w__133 with
| Some
(rsd, rs2) =>
@@ -52282,8 +52879,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3670_
- _s3158_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
+ (_s3761_
+ _s3249_) >>= fun w__136 : option ((mword 3 * mword 3)) =>
(if
match w__136 with
| Some
@@ -52293,8 +52890,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3670_
- _s3158_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
+ (_s3761_
+ _s3249_) >>= fun w__137 : option ((mword 3 * mword 3)) =>
(match w__137 with
| Some
(rsd, rs2) =>
@@ -52305,8 +52902,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3682_
- _s3158_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
+ (_s3773_
+ _s3249_) >>= fun w__140 : option ((mword 3 * mword 3)) =>
(if
match w__140 with
| Some
@@ -52316,8 +52913,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3682_
- _s3158_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
+ (_s3773_
+ _s3249_) >>= fun w__141 : option ((mword 3 * mword 3)) =>
(match w__141 with
| Some
(rsd, rs2) =>
@@ -52328,8 +52925,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3694_
- _s3158_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
+ (_s3785_
+ _s3249_) >>= fun w__144 : option ((mword 3 * mword 3)) =>
(if
match w__144 with
| Some
@@ -52339,8 +52936,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3694_
- _s3158_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
+ (_s3785_
+ _s3249_) >>= fun w__145 : option ((mword 3 * mword 3)) =>
(match w__145 with
| Some
(rsd, rs2) =>
@@ -52351,8 +52948,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3706_
- _s3158_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
+ (_s3797_
+ _s3249_) >>= fun w__148 : option ((mword 3 * mword 3)) =>
(if
match w__148 with
| Some
@@ -52364,8 +52961,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3706_
- _s3158_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
+ (_s3797_
+ _s3249_) >>= fun w__149 : option ((mword 3 * mword 3)) =>
(match w__149 with
| Some
(rsd, rs2) =>
@@ -52376,8 +52973,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3718_
- _s3158_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
+ (_s3809_
+ _s3249_) >>= fun w__152 : option ((mword 3 * mword 3)) =>
(if
match w__152 with
| Some
@@ -52389,8 +52986,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3718_
- _s3158_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
+ (_s3809_
+ _s3249_) >>= fun w__153 : option ((mword 3 * mword 3)) =>
(match w__153 with
| Some
(rsd, rs2) =>
@@ -52401,8 +52998,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3730_
- _s3158_) >>= fun w__156 : option (mword 11) =>
+ (_s3821_
+ _s3249_) >>= fun w__156 : option (mword 11) =>
(if
match w__156 with
| Some
@@ -52412,8 +53009,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3730_
- _s3158_) >>= fun w__157 : option (mword 11) =>
+ (_s3821_
+ _s3249_) >>= fun w__157 : option (mword 11) =>
(match w__157 with
| Some
imm =>
@@ -52424,8 +53021,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3738_
- _s3158_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
+ (_s3829_
+ _s3249_) >>= fun w__160 : option ((mword 3 * mword 8)) =>
(if
match w__160 with
| Some
@@ -52435,8 +53032,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3738_
- _s3158_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
+ (_s3829_
+ _s3249_) >>= fun w__161 : option ((mword 3 * mword 8)) =>
(match w__161 with
| Some
(rs, imm) =>
@@ -52447,8 +53044,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3750_
- _s3158_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
+ (_s3841_
+ _s3249_) >>= fun w__164 : option ((mword 3 * mword 8)) =>
(if
match w__164 with
| Some
@@ -52458,8 +53055,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3750_
- _s3158_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
+ (_s3841_
+ _s3249_) >>= fun w__165 : option ((mword 3 * mword 8)) =>
(match w__165 with
| Some
(rs, imm) =>
@@ -52470,8 +53067,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3762_
- _s3158_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
+ (_s3853_
+ _s3249_) >>= fun w__168 : option ((mword 5 * mword 6)) =>
(if
match w__168 with
| Some
@@ -52488,8 +53085,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3762_
- _s3158_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
+ (_s3853_
+ _s3249_) >>= fun w__169 : option ((mword 5 * mword 6)) =>
(match w__169 with
| Some
(rsd, shamt) =>
@@ -52500,8 +53097,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3774_
- _s3158_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
+ (_s3865_
+ _s3249_) >>= fun w__172 : option ((mword 5 * mword 6)) =>
(if
match w__172 with
| Some
@@ -52513,8 +53110,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3774_
- _s3158_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
+ (_s3865_
+ _s3249_) >>= fun w__173 : option ((mword 5 * mword 6)) =>
(match w__173 with
| Some
(rd, uimm) =>
@@ -52525,8 +53122,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3786_
- _s3158_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
+ (_s3877_
+ _s3249_) >>= fun w__176 : option ((mword 5 * mword 6)) =>
(if
match w__176 with
| Some
@@ -52542,8 +53139,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3786_
- _s3158_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
+ (_s3877_
+ _s3249_) >>= fun w__177 : option ((mword 5 * mword 6)) =>
(match w__177 with
| Some
(rd, uimm) =>
@@ -52554,8 +53151,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3798_
- _s3158_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
+ (_s3889_
+ _s3249_) >>= fun w__180 : option ((mword 5 * mword 6)) =>
(if
match w__180 with
| Some
@@ -52565,8 +53162,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3798_
- _s3158_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
+ (_s3889_
+ _s3249_) >>= fun w__181 : option ((mword 5 * mword 6)) =>
(match w__181 with
| Some
(rd, uimm) =>
@@ -52577,8 +53174,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3810_
- _s3158_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
+ (_s3901_
+ _s3249_) >>= fun w__184 : option ((mword 5 * mword 6)) =>
(if
match w__184 with
| Some
@@ -52590,8 +53187,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3810_
- _s3158_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
+ (_s3901_
+ _s3249_) >>= fun w__185 : option ((mword 5 * mword 6)) =>
(match w__185 with
| Some
(rs2, uimm) =>
@@ -52602,8 +53199,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3822_
- _s3158_) >>= fun w__188 : option (mword 5) =>
+ (_s3913_
+ _s3249_) >>= fun w__188 : option (mword 5) =>
(if
match w__188 with
| Some
@@ -52615,8 +53212,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3822_
- _s3158_) >>= fun w__189 : option (mword 5) =>
+ (_s3913_
+ _s3249_) >>= fun w__189 : option (mword 5) =>
(match w__189 with
| Some
rs1 =>
@@ -52627,8 +53224,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3830_
- _s3158_) >>= fun w__192 : option (mword 5) =>
+ (_s3921_
+ _s3249_) >>= fun w__192 : option (mword 5) =>
(if
match w__192 with
| Some
@@ -52640,8 +53237,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3830_
- _s3158_) >>= fun w__193 : option (mword 5) =>
+ (_s3921_
+ _s3249_) >>= fun w__193 : option (mword 5) =>
(match w__193 with
| Some
rs1 =>
@@ -52652,8 +53249,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3838_
- _s3158_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
+ (_s3929_
+ _s3249_) >>= fun w__196 : option ((mword 5 * mword 5)) =>
(if
match w__196 with
| Some
@@ -52669,8 +53266,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3838_
- _s3158_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
+ (_s3929_
+ _s3249_) >>= fun w__197 : option ((mword 5 * mword 5)) =>
(match w__197 with
| Some
(rd, rs2) =>
@@ -52682,13 +53279,13 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
: M (bool)
else if
generic_eq
- _s3158_
+ _s3249_
"c.ebreak"
then
returnm true
else
- (_s3850_
- _s3158_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
+ (_s3941_
+ _s3249_) >>= fun w__200 : option ((mword 5 * mword 5)) =>
(if
match w__200 with
| Some
@@ -52704,8 +53301,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3850_
- _s3158_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
+ (_s3941_
+ _s3249_) >>= fun w__201 : option ((mword 5 * mword 5)) =>
(match w__201 with
| Some
(rsd, rs2) =>
@@ -52716,8 +53313,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3862_
- _s3158_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3953_
+ _s3249_) >>= fun w__204 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__204 with
| Some
@@ -52727,8 +53324,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3862_
- _s3158_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3953_
+ _s3249_) >>= fun w__205 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5)) =>
(match w__205 with
| Some
(high, signed1, signed2, rd, rs1, rs2) =>
@@ -52739,8 +53336,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3879_
- _s3158_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3970_
+ _s3249_) >>= fun w__208 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__208 with
| Some
@@ -52750,8 +53347,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3879_
- _s3158_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3970_
+ _s3249_) >>= fun w__209 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__209 with
| Some
(s, rd, rs1, rs2) =>
@@ -52762,8 +53359,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3897_
- _s3158_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3988_
+ _s3249_) >>= fun w__212 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__212 with
| Some
@@ -52773,8 +53370,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3897_
- _s3158_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s3988_
+ _s3249_) >>= fun w__213 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__213 with
| Some
(s, rd, rs1, rs2) =>
@@ -52785,8 +53382,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3915_
- _s3158_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s4006_
+ _s3249_) >>= fun w__216 : option ((mword 5 * mword 5 * mword 5)) =>
(if
match w__216 with
| Some
@@ -52798,8 +53395,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3915_
- _s3158_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
+ (_s4006_
+ _s3249_) >>= fun w__217 : option ((mword 5 * mword 5 * mword 5)) =>
(match w__217 with
| Some
(rd, rs1, rs2) =>
@@ -52810,8 +53407,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3931_
- _s3158_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s4022_
+ _s3249_) >>= fun w__220 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__220 with
| Some
@@ -52823,8 +53420,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3931_
- _s3158_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s4022_
+ _s3249_) >>= fun w__221 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__221 with
| Some
(s, rd, rs1, rs2) =>
@@ -52835,8 +53432,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3950_
- _s3158_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s4041_
+ _s3249_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(if
match w__224 with
| Some
@@ -52848,8 +53445,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3950_
- _s3158_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
+ (_s4041_
+ _s3249_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5)) =>
(match w__225 with
| Some
(s, rd, rs1, rs2) =>
@@ -52860,8 +53457,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3969_
- _s3158_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s4060_
+ _s3249_) >>= fun w__228 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__228 with
| Some
@@ -52871,8 +53468,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3969_
- _s3158_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s4060_
+ _s3249_) >>= fun w__229 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__229 with
| Some
(op, rd, csr, rs1) =>
@@ -52883,8 +53480,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s3987_
- _s3158_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s4078_
+ _s3249_) >>= fun w__232 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(if
match w__232 with
| Some
@@ -52894,8 +53491,8 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
false
end
then
- (_s3987_
- _s3158_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
+ (_s4078_
+ _s3249_) >>= fun w__233 : option ((csrop * mword 5 * mword 12 * mword 5)) =>
(match w__233 with
| Some
(op, rd, csr, rs1) =>
@@ -52907,27 +53504,92 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
: M (bool)
else if
generic_eq
- _s3158_
+ _s3249_
"uret"
then
returnm true
+ else if
+ match (_s4095_
+ _s3249_) with
+ | Some
+ imm =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (match (_s4095_
+ _s3249_) with
+ | Some
+ imm =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
else
- (_s4004_
- _s3158_) >>= fun w__236 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s4101_
+ _s3249_) >>= fun w__238 : option (mword 5) =>
(if
- match w__236 with
+ match w__238 with
+ | Some
+ rsd =>
+ neq_vec
+ rsd
+ zreg
+ | _ =>
+ false
+ end
+ then
+ (_s4101_
+ _s3249_) >>= fun w__239 : option (mword 5) =>
+ (match w__239 with
+ | Some
+ rsd =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else if
+ match (_s4107_
+ _s3249_) with
| Some
- (width, rd, imm, rs1) =>
+ imm =>
true
| _ =>
false
end
then
- (_s4004_
- _s3158_) >>= fun w__237 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__237 with
+ (match (_s4107_
+ _s3249_) with
| Some
- (width, rd, imm, rs1) =>
+ imm =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else if
+ match (_s4113_
+ _s3249_) with
+ | Some
+ imm =>
+ neq_vec
+ imm
+ ('b"000000"
+ : mword 6)
+ | _ =>
+ false
+ end
+ then
+ (match (_s4113_
+ _s3249_) with
+ | Some
+ imm =>
returnm true
| _ =>
exit tt
@@ -52935,22 +53597,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4028_
- _s3158_) >>= fun w__240 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (_s4119_
+ _s3249_) >>= fun w__246 : option (mword 5) =>
(if
- match w__240 with
+ match w__246 with
| Some
- (width, rs2, imm, rs1) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s4028_
- _s3158_) >>= fun w__241 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
- (match w__241 with
+ (_s4119_
+ _s3249_) >>= fun w__247 : option (mword 5) =>
+ (match w__247 with
| Some
- (width, rs2, imm, rs1) =>
+ rs2 =>
returnm true
| _ =>
exit tt
@@ -52958,22 +53622,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4052_
- _s3158_) >>= fun w__244 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4125_
+ _s3249_) >>= fun w__250 : option (mword 5) =>
(if
- match w__244 with
+ match w__250 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
- true
+ rs2 =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s4052_
- _s3158_) >>= fun w__245 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__245 with
+ (_s4125_
+ _s3249_) >>= fun w__251 : option (mword 5) =>
+ (match w__251 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
+ rs2 =>
returnm true
| _ =>
exit tt
@@ -52981,22 +53647,29 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4077_
- _s3158_) >>= fun w__248 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4131_
+ _s3249_) >>= fun w__254 : option ((mword 5 * mword 6)) =>
(if
- match w__248 with
+ match w__254 with
| Some
- (op, rd, rs1, rs2, rm) =>
- true
+ (rsd, shamt) =>
+ orb
+ (eq_vec
+ shamt
+ ('b"000000"
+ : mword 6))
+ (eq_vec
+ rsd
+ zreg)
| _ =>
false
end
then
- (_s4077_
- _s3158_) >>= fun w__249 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__249 with
+ (_s4131_
+ _s3249_) >>= fun w__255 : option ((mword 5 * mword 6)) =>
+ (match w__255 with
| Some
- (op, rd, rs1, rs2, rm) =>
+ (rsd, shamt) =>
returnm true
| _ =>
exit tt
@@ -53004,22 +53677,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4098_
- _s3158_) >>= fun w__252 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4140_
+ _s3249_) >>= fun w__258 : option (mword 3) =>
(if
- match w__252 with
+ match w__258 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s4098_
- _s3158_) >>= fun w__253 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__253 with
+ (_s4140_
+ _s3249_) >>= fun w__259 : option (mword 3) =>
+ (match w__259 with
| Some
- (FSQRT_S, rd, rs1, rm) =>
+ rsd =>
returnm true
| _ =>
exit tt
@@ -53027,22 +53700,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4115_
- _s3158_) >>= fun w__256 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4146_
+ _s3249_) >>= fun w__262 : option (mword 3) =>
(if
- match w__256 with
+ match w__262 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
+ rsd =>
true
| _ =>
false
end
then
- (_s4115_
- _s3158_) >>= fun w__257 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__257 with
+ (_s4146_
+ _s3249_) >>= fun w__263 : option (mword 3) =>
+ (match w__263 with
| Some
- (FCVT_W_S, rd, rs1, rm) =>
+ rsd =>
returnm true
| _ =>
exit tt
@@ -53050,22 +53723,40 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4132_
- _s3158_) >>= fun w__260 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4152_
+ _s3249_) >>= fun w__266 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
(if
- match w__260 with
+ match w__266 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
- true
+ (pred, succ, rs, rd, fm) =>
+ orb
+ (andb
+ (neq_vec
+ fm
+ (Ox"0"
+ : mword 4))
+ (neq_vec
+ fm
+ (Ox"8"
+ : mword 4)))
+ (orb
+ (neq_vec
+ rs
+ ('b"00000"
+ : mword 5))
+ (neq_vec
+ rd
+ ('b"00000"
+ : mword 5)))
| _ =>
false
end
then
- (_s4132_
- _s3158_) >>= fun w__261 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__261 with
+ (_s4152_
+ _s3249_) >>= fun w__267 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4)) =>
+ (match w__267 with
| Some
- (FCVT_WU_S, rd, rs1, rm) =>
+ (pred, succ, rs, rd, fm) =>
returnm true
| _ =>
exit tt
@@ -53073,22 +53764,33 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4149_
- _s3158_) >>= fun w__264 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4170_
+ _s3249_) >>= fun w__270 : option ((mword 5 * mword 5 * mword 12)) =>
(if
- match w__264 with
+ match w__270 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
- true
+ (rd, rs, imm) =>
+ orb
+ (neq_vec
+ imm
+ (Ox"000"
+ : mword 12))
+ (orb
+ (neq_vec
+ rs
+ zreg)
+ (neq_vec
+ rd
+ zreg))
| _ =>
false
end
then
- (_s4149_
- _s3158_) >>= fun w__265 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__265 with
+ (_s4170_
+ _s3249_) >>= fun w__271 : option ((mword 5 * mword 5 * mword 12)) =>
+ (match w__271 with
| Some
- (FCVT_S_W, rd, rs1, rm) =>
+ (rd, rs, imm) =>
returnm true
| _ =>
exit tt
@@ -53096,22 +53798,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4166_
- _s3158_) >>= fun w__268 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4182_
+ _s3249_) >>= fun w__274 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__268 with
+ match w__274 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
+ (width, rd, imm, rs1) =>
true
| _ =>
false
end
then
- (_s4166_
- _s3158_) >>= fun w__269 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__269 with
+ (_s4182_
+ _s3249_) >>= fun w__275 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__275 with
| Some
- (FCVT_S_WU, rd, rs1, rm) =>
+ (width, rd, imm, rs1) =>
returnm true
| _ =>
exit tt
@@ -53119,22 +53821,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4183_
- _s3158_) >>= fun w__272 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4206_
+ _s3249_) >>= fun w__278 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
(if
- match w__272 with
+ match w__278 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
+ (width, rs2, imm, rs1) =>
true
| _ =>
false
end
then
- (_s4183_
- _s3158_) >>= fun w__273 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__273 with
+ (_s4206_
+ _s3249_) >>= fun w__279 : option ((word_width * mword 5 * mword 12 * mword 5)) =>
+ (match w__279 with
| Some
- (FCVT_L_S, rd, rs1, rm) =>
+ (width, rs2, imm, rs1) =>
returnm true
| _ =>
exit tt
@@ -53142,22 +53844,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4200_
- _s3158_) >>= fun w__276 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4230_
+ _s3249_) >>= fun w__282 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__276 with
+ match w__282 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
true
| _ =>
false
end
then
- (_s4200_
- _s3158_) >>= fun w__277 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__277 with
+ (_s4230_
+ _s3249_) >>= fun w__283 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__283 with
| Some
- (FCVT_LU_S, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
returnm true
| _ =>
exit tt
@@ -53165,22 +53867,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4217_
- _s3158_) >>= fun w__280 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4255_
+ _s3249_) >>= fun w__286 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__280 with
+ match w__286 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
true
| _ =>
false
end
then
- (_s4217_
- _s3158_) >>= fun w__281 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__281 with
+ (_s4255_
+ _s3249_) >>= fun w__287 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__287 with
| Some
- (FCVT_S_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
returnm true
| _ =>
exit tt
@@ -53188,22 +53890,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4234_
- _s3158_) >>= fun w__284 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4276_
+ _s3249_) >>= fun w__290 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__284 with
+ match w__290 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4234_
- _s3158_) >>= fun w__285 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
- (match w__285 with
+ (_s4276_
+ _s3249_) >>= fun w__291 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__291 with
| Some
- (FCVT_S_LU, rd, rs1, rm) =>
+ (FSQRT_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53211,22 +53913,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4251_
- _s3158_) >>= fun w__288 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4293_
+ _s3249_) >>= fun w__294 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__288 with
+ match w__294 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
+ (FCVT_W_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4251_
- _s3158_) >>= fun w__289 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__289 with
+ (_s4293_
+ _s3249_) >>= fun w__295 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__295 with
| Some
- (FSGNJ_S, rd, rs1, rs2) =>
+ (FCVT_W_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53234,22 +53936,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4268_
- _s3158_) >>= fun w__292 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4310_
+ _s3249_) >>= fun w__298 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__292 with
+ match w__298 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
+ (FCVT_WU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4268_
- _s3158_) >>= fun w__293 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__293 with
+ (_s4310_
+ _s3249_) >>= fun w__299 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__299 with
| Some
- (FSGNJN_S, rd, rs1, rs2) =>
+ (FCVT_WU_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53257,22 +53959,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4285_
- _s3158_) >>= fun w__296 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4327_
+ _s3249_) >>= fun w__302 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__296 with
+ match w__302 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
+ (FCVT_S_W, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4285_
- _s3158_) >>= fun w__297 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__297 with
+ (_s4327_
+ _s3249_) >>= fun w__303 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__303 with
| Some
- (FSGNJX_S, rd, rs1, rs2) =>
+ (FCVT_S_W, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53280,22 +53982,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4302_
- _s3158_) >>= fun w__300 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4344_
+ _s3249_) >>= fun w__306 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__300 with
+ match w__306 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
+ (FCVT_S_WU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4302_
- _s3158_) >>= fun w__301 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__301 with
+ (_s4344_
+ _s3249_) >>= fun w__307 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__307 with
| Some
- (FMIN_S, rd, rs1, rs2) =>
+ (FCVT_S_WU, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53303,22 +54005,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4319_
- _s3158_) >>= fun w__304 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4361_
+ _s3249_) >>= fun w__310 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__304 with
+ match w__310 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
+ (FCVT_L_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4319_
- _s3158_) >>= fun w__305 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__305 with
+ (_s4361_
+ _s3249_) >>= fun w__311 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__311 with
| Some
- (FMAX_S, rd, rs1, rs2) =>
+ (FCVT_L_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53326,22 +54028,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4336_
- _s3158_) >>= fun w__308 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4378_
+ _s3249_) >>= fun w__314 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__308 with
+ match w__314 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
+ (FCVT_LU_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4336_
- _s3158_) >>= fun w__309 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__309 with
+ (_s4378_
+ _s3249_) >>= fun w__315 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__315 with
| Some
- (FEQ_S, rd, rs1, rs2) =>
+ (FCVT_LU_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53349,22 +54051,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4353_
- _s3158_) >>= fun w__312 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4395_
+ _s3249_) >>= fun w__318 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__312 with
+ match w__318 with
| Some
- (FLT_S, rd, rs1, rs2) =>
+ (FCVT_S_L, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4353_
- _s3158_) >>= fun w__313 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__313 with
+ (_s4395_
+ _s3249_) >>= fun w__319 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__319 with
| Some
- (FLT_S, rd, rs1, rs2) =>
+ (FCVT_S_L, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53372,22 +54074,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4370_
- _s3158_) >>= fun w__316 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (_s4412_
+ _s3249_) >>= fun w__322 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__316 with
+ match w__322 with
| Some
- (FLE_S, rd, rs1, rs2) =>
+ (FCVT_S_LU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4370_
- _s3158_) >>= fun w__317 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
- (match w__317 with
+ (_s4412_
+ _s3249_) >>= fun w__323 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__323 with
| Some
- (FLE_S, rd, rs1, rs2) =>
+ (FCVT_S_LU, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53395,22 +54097,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4387_
- _s3158_) >>= fun w__320 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s4429_
+ _s3249_) >>= fun w__326 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__320 with
+ match w__326 with
| Some
- (FMV_X_W, rd, rs1) =>
+ (FSGNJ_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4387_
- _s3158_) >>= fun w__321 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__321 with
+ (_s4429_
+ _s3249_) >>= fun w__327 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__327 with
| Some
- (FMV_X_W, rd, rs1) =>
+ (FSGNJ_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53418,22 +54120,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4400_
- _s3158_) >>= fun w__324 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s4446_
+ _s3249_) >>= fun w__330 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__324 with
+ match w__330 with
| Some
- (FMV_W_X, rd, rs1) =>
+ (FSGNJN_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4400_
- _s3158_) >>= fun w__325 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__325 with
+ (_s4446_
+ _s3249_) >>= fun w__331 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__331 with
| Some
- (FMV_W_X, rd, rs1) =>
+ (FSGNJN_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53441,22 +54143,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4413_
- _s3158_) >>= fun w__328 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (_s4463_
+ _s3249_) >>= fun w__334 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__328 with
+ match w__334 with
| Some
- (FCLASS_S, rd, rs1) =>
+ (FSGNJX_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4413_
- _s3158_) >>= fun w__329 : option ((f_un_op_S * mword 5 * mword 5)) =>
- (match w__329 with
+ (_s4463_
+ _s3249_) >>= fun w__335 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__335 with
| Some
- (FCLASS_S, rd, rs1) =>
+ (FSGNJX_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53464,24 +54166,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4426_
- _s3158_) >>= fun w__332 : option ((mword 5 * mword 6)) =>
+ (_s4480_
+ _s3249_) >>= fun w__338 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__332 with
+ match w__338 with
| Some
- (rd, imm) =>
- Z.eqb
- 64
- 32
+ (FMIN_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4426_
- _s3158_) >>= fun w__333 : option ((mword 5 * mword 6)) =>
- (match w__333 with
+ (_s4480_
+ _s3249_) >>= fun w__339 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__339 with
| Some
- (rd, imm) =>
+ (FMIN_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53489,24 +54189,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4438_
- _s3158_) >>= fun w__336 : option ((mword 5 * mword 6)) =>
+ (_s4497_
+ _s3249_) >>= fun w__342 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__336 with
+ match w__342 with
| Some
- (rd, uimm) =>
- Z.eqb
- 64
- 32
+ (FMAX_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4438_
- _s3158_) >>= fun w__337 : option ((mword 5 * mword 6)) =>
- (match w__337 with
+ (_s4497_
+ _s3249_) >>= fun w__343 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__343 with
| Some
- (rd, uimm) =>
+ (FMAX_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53514,24 +54212,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4450_
- _s3158_) >>= fun w__340 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s4514_
+ _s3249_) >>= fun w__346 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__340 with
+ match w__346 with
| Some
- (rdc, rsc, uimm) =>
- Z.eqb
- 64
- 32
+ (FEQ_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4450_
- _s3158_) >>= fun w__341 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__341 with
+ (_s4514_
+ _s3249_) >>= fun w__347 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__347 with
| Some
- (rdc, rsc, uimm) =>
+ (FEQ_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53539,24 +54235,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4466_
- _s3158_) >>= fun w__344 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s4531_
+ _s3249_) >>= fun w__350 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__344 with
+ match w__350 with
| Some
- (rsc1, rsc2, uimm) =>
- Z.eqb
- 64
- 32
+ (FLT_S, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4466_
- _s3158_) >>= fun w__345 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__345 with
+ (_s4531_
+ _s3249_) >>= fun w__351 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__351 with
| Some
- (rsc1, rsc2, uimm) =>
+ (FLT_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53564,22 +54258,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4482_
- _s3158_) >>= fun w__348 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4548_
+ _s3249_) >>= fun w__354 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
(if
- match w__348 with
+ match w__354 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
+ (FLE_S, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4482_
- _s3158_) >>= fun w__349 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__349 with
+ (_s4548_
+ _s3249_) >>= fun w__355 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5)) =>
+ (match w__355 with
| Some
- (op, rd, rs1, rs2, rs3, rm) =>
+ (FLE_S, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -53587,22 +54281,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4507_
- _s3158_) >>= fun w__352 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4565_
+ _s3249_) >>= fun w__358 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__352 with
+ match w__358 with
| Some
- (op, rd, rs1, rs2, rm) =>
+ (FMV_X_W, rd, rs1) =>
true
| _ =>
false
end
then
- (_s4507_
- _s3158_) >>= fun w__353 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
- (match w__353 with
+ (_s4565_
+ _s3249_) >>= fun w__359 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__359 with
| Some
- (op, rd, rs1, rs2, rm) =>
+ (FMV_X_W, rd, rs1) =>
returnm true
| _ =>
exit tt
@@ -53610,22 +54304,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4528_
- _s3158_) >>= fun w__356 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4578_
+ _s3249_) >>= fun w__362 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__356 with
+ match w__362 with
| Some
- (FSQRT_D, rd, rs1, rm) =>
+ (FMV_W_X, rd, rs1) =>
true
| _ =>
false
end
then
- (_s4528_
- _s3158_) >>= fun w__357 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__357 with
+ (_s4578_
+ _s3249_) >>= fun w__363 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__363 with
| Some
- (FSQRT_D, rd, rs1, rm) =>
+ (FMV_W_X, rd, rs1) =>
returnm true
| _ =>
exit tt
@@ -53633,22 +54327,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4545_
- _s3158_) >>= fun w__360 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4591_
+ _s3249_) >>= fun w__366 : option ((f_un_op_S * mword 5 * mword 5)) =>
(if
- match w__360 with
+ match w__366 with
| Some
- (FCVT_W_D, rd, rs1, rm) =>
+ (FCLASS_S, rd, rs1) =>
true
| _ =>
false
end
then
- (_s4545_
- _s3158_) >>= fun w__361 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__361 with
+ (_s4591_
+ _s3249_) >>= fun w__367 : option ((f_un_op_S * mword 5 * mword 5)) =>
+ (match w__367 with
| Some
- (FCVT_W_D, rd, rs1, rm) =>
+ (FCLASS_S, rd, rs1) =>
returnm true
| _ =>
exit tt
@@ -53656,22 +54350,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4562_
- _s3158_) >>= fun w__364 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4604_
+ _s3249_) >>= fun w__370 : option ((mword 5 * mword 6)) =>
(if
- match w__364 with
+ match w__370 with
| Some
- (FCVT_WU_D, rd, rs1, rm) =>
- true
+ (rd, imm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s4562_
- _s3158_) >>= fun w__365 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__365 with
+ (_s4604_
+ _s3249_) >>= fun w__371 : option ((mword 5 * mword 6)) =>
+ (match w__371 with
| Some
- (FCVT_WU_D, rd, rs1, rm) =>
+ (rd, imm) =>
returnm true
| _ =>
exit tt
@@ -53679,22 +54375,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4579_
- _s3158_) >>= fun w__368 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4616_
+ _s3249_) >>= fun w__374 : option ((mword 5 * mword 6)) =>
(if
- match w__368 with
+ match w__374 with
| Some
- (FCVT_D_W, rd, rs1, rm) =>
- true
+ (rd, uimm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s4579_
- _s3158_) >>= fun w__369 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__369 with
+ (_s4616_
+ _s3249_) >>= fun w__375 : option ((mword 5 * mword 6)) =>
+ (match w__375 with
| Some
- (FCVT_D_W, rd, rs1, rm) =>
+ (rd, uimm) =>
returnm true
| _ =>
exit tt
@@ -53702,22 +54400,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4596_
- _s3158_) >>= fun w__372 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4628_
+ _s3249_) >>= fun w__378 : option ((mword 3 * mword 3 * mword 5)) =>
(if
- match w__372 with
+ match w__378 with
| Some
- (FCVT_D_WU, rd, rs1, rm) =>
- true
+ (rdc, rsc, uimm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s4596_
- _s3158_) >>= fun w__373 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__373 with
+ (_s4628_
+ _s3249_) >>= fun w__379 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__379 with
| Some
- (FCVT_D_WU, rd, rs1, rm) =>
+ (rdc, rsc, uimm) =>
returnm true
| _ =>
exit tt
@@ -53725,22 +54425,24 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4613_
- _s3158_) >>= fun w__376 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4644_
+ _s3249_) >>= fun w__382 : option ((mword 3 * mword 3 * mword 5)) =>
(if
- match w__376 with
+ match w__382 with
| Some
- (FCVT_L_D, rd, rs1, rm) =>
- true
+ (rsc1, rsc2, uimm) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s4613_
- _s3158_) >>= fun w__377 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__377 with
+ (_s4644_
+ _s3249_) >>= fun w__383 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__383 with
| Some
- (FCVT_L_D, rd, rs1, rm) =>
+ (rsc1, rsc2, uimm) =>
returnm true
| _ =>
exit tt
@@ -53748,22 +54450,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4630_
- _s3158_) >>= fun w__380 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4660_
+ _s3249_) >>= fun w__386 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__380 with
+ match w__386 with
| Some
- (FCVT_LU_D, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
true
| _ =>
false
end
then
- (_s4630_
- _s3158_) >>= fun w__381 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__381 with
+ (_s4660_
+ _s3249_) >>= fun w__387 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__387 with
| Some
- (FCVT_LU_D, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rs3, rm) =>
returnm true
| _ =>
exit tt
@@ -53771,22 +54473,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4647_
- _s3158_) >>= fun w__384 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4685_
+ _s3249_) >>= fun w__390 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__384 with
+ match w__390 with
| Some
- (FCVT_D_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
true
| _ =>
false
end
then
- (_s4647_
- _s3158_) >>= fun w__385 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__385 with
+ (_s4685_
+ _s3249_) >>= fun w__391 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__391 with
| Some
- (FCVT_D_L, rd, rs1, rm) =>
+ (op, rd, rs1, rs2, rm) =>
returnm true
| _ =>
exit tt
@@ -53794,22 +54496,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4664_
- _s3158_) >>= fun w__388 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4706_
+ _s3249_) >>= fun w__394 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__388 with
+ match w__394 with
| Some
- (FCVT_D_LU, rd, rs1, rm) =>
+ (FSQRT_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4664_
- _s3158_) >>= fun w__389 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__389 with
+ (_s4706_
+ _s3249_) >>= fun w__395 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__395 with
| Some
- (FCVT_D_LU, rd, rs1, rm) =>
+ (FSQRT_D, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53817,22 +54519,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4681_
- _s3158_) >>= fun w__392 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4723_
+ _s3249_) >>= fun w__398 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__392 with
+ match w__398 with
| Some
- (FCVT_S_D, rd, rs1, rm) =>
+ (FCVT_W_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4681_
- _s3158_) >>= fun w__393 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__393 with
+ (_s4723_
+ _s3249_) >>= fun w__399 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__399 with
| Some
- (FCVT_S_D, rd, rs1, rm) =>
+ (FCVT_W_D, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53840,22 +54542,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4698_
- _s3158_) >>= fun w__396 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (_s4740_
+ _s3249_) >>= fun w__402 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__396 with
+ match w__402 with
| Some
- (FCVT_D_S, rd, rs1, rm) =>
+ (FCVT_WU_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4698_
- _s3158_) >>= fun w__397 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
- (match w__397 with
+ (_s4740_
+ _s3249_) >>= fun w__403 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__403 with
| Some
- (FCVT_D_S, rd, rs1, rm) =>
+ (FCVT_WU_D, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53863,22 +54565,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4715_
- _s3158_) >>= fun w__400 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4757_
+ _s3249_) >>= fun w__406 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__400 with
+ match w__406 with
| Some
- (FSGNJ_D, rd, rs1, rs2) =>
+ (FCVT_D_W, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4715_
- _s3158_) >>= fun w__401 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__401 with
+ (_s4757_
+ _s3249_) >>= fun w__407 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__407 with
| Some
- (FSGNJ_D, rd, rs1, rs2) =>
+ (FCVT_D_W, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53886,22 +54588,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4732_
- _s3158_) >>= fun w__404 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4774_
+ _s3249_) >>= fun w__410 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__404 with
+ match w__410 with
| Some
- (FSGNJN_D, rd, rs1, rs2) =>
+ (FCVT_D_WU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4732_
- _s3158_) >>= fun w__405 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__405 with
+ (_s4774_
+ _s3249_) >>= fun w__411 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__411 with
| Some
- (FSGNJN_D, rd, rs1, rs2) =>
+ (FCVT_D_WU, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53909,22 +54611,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4749_
- _s3158_) >>= fun w__408 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4791_
+ _s3249_) >>= fun w__414 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__408 with
+ match w__414 with
| Some
- (FSGNJX_D, rd, rs1, rs2) =>
+ (FCVT_L_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4749_
- _s3158_) >>= fun w__409 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__409 with
+ (_s4791_
+ _s3249_) >>= fun w__415 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__415 with
| Some
- (FSGNJX_D, rd, rs1, rs2) =>
+ (FCVT_L_D, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53932,22 +54634,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4766_
- _s3158_) >>= fun w__412 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4808_
+ _s3249_) >>= fun w__418 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__412 with
+ match w__418 with
| Some
- (FMIN_D, rd, rs1, rs2) =>
+ (FCVT_LU_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4766_
- _s3158_) >>= fun w__413 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__413 with
+ (_s4808_
+ _s3249_) >>= fun w__419 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__419 with
| Some
- (FMIN_D, rd, rs1, rs2) =>
+ (FCVT_LU_D, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53955,22 +54657,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4783_
- _s3158_) >>= fun w__416 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4825_
+ _s3249_) >>= fun w__422 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__416 with
+ match w__422 with
| Some
- (FMAX_D, rd, rs1, rs2) =>
+ (FCVT_D_L, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4783_
- _s3158_) >>= fun w__417 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__417 with
+ (_s4825_
+ _s3249_) >>= fun w__423 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__423 with
| Some
- (FMAX_D, rd, rs1, rs2) =>
+ (FCVT_D_L, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -53978,22 +54680,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4800_
- _s3158_) >>= fun w__420 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4842_
+ _s3249_) >>= fun w__426 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__420 with
+ match w__426 with
| Some
- (FEQ_D, rd, rs1, rs2) =>
+ (FCVT_D_LU, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4800_
- _s3158_) >>= fun w__421 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__421 with
+ (_s4842_
+ _s3249_) >>= fun w__427 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__427 with
| Some
- (FEQ_D, rd, rs1, rs2) =>
+ (FCVT_D_LU, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -54001,22 +54703,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4817_
- _s3158_) >>= fun w__424 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4859_
+ _s3249_) >>= fun w__430 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__424 with
+ match w__430 with
| Some
- (FLT_D, rd, rs1, rs2) =>
+ (FCVT_S_D, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4817_
- _s3158_) >>= fun w__425 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__425 with
+ (_s4859_
+ _s3249_) >>= fun w__431 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__431 with
| Some
- (FLT_D, rd, rs1, rs2) =>
+ (FCVT_S_D, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -54024,22 +54726,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4834_
- _s3158_) >>= fun w__428 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (_s4876_
+ _s3249_) >>= fun w__434 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
(if
- match w__428 with
+ match w__434 with
| Some
- (FLE_D, rd, rs1, rs2) =>
+ (FCVT_D_S, rd, rs1, rm) =>
true
| _ =>
false
end
then
- (_s4834_
- _s3158_) >>= fun w__429 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
- (match w__429 with
+ (_s4876_
+ _s3249_) >>= fun w__435 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode)) =>
+ (match w__435 with
| Some
- (FLE_D, rd, rs1, rs2) =>
+ (FCVT_D_S, rd, rs1, rm) =>
returnm true
| _ =>
exit tt
@@ -54047,22 +54749,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4851_
- _s3158_) >>= fun w__432 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (_s4893_
+ _s3249_) >>= fun w__438 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__432 with
+ match w__438 with
| Some
- (FMV_X_D, rd, rs1) =>
+ (FSGNJ_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4851_
- _s3158_) >>= fun w__433 : option ((f_un_op_D * mword 5 * mword 5)) =>
- (match w__433 with
+ (_s4893_
+ _s3249_) >>= fun w__439 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__439 with
| Some
- (FMV_X_D, rd, rs1) =>
+ (FSGNJ_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54070,22 +54772,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4864_
- _s3158_) >>= fun w__436 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (_s4910_
+ _s3249_) >>= fun w__442 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__436 with
+ match w__442 with
| Some
- (FMV_D_X, rd, rs1) =>
+ (FSGNJN_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4864_
- _s3158_) >>= fun w__437 : option ((f_un_op_D * mword 5 * mword 5)) =>
- (match w__437 with
+ (_s4910_
+ _s3249_) >>= fun w__443 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__443 with
| Some
- (FMV_D_X, rd, rs1) =>
+ (FSGNJN_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54093,22 +54795,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4877_
- _s3158_) >>= fun w__440 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (_s4927_
+ _s3249_) >>= fun w__446 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__440 with
+ match w__446 with
| Some
- (FCLASS_D, rd, rs1) =>
+ (FSGNJX_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4877_
- _s3158_) >>= fun w__441 : option ((f_un_op_D * mword 5 * mword 5)) =>
- (match w__441 with
+ (_s4927_
+ _s3249_) >>= fun w__447 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__447 with
| Some
- (FCLASS_D, rd, rs1) =>
+ (FSGNJX_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54116,28 +54818,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4890_
- _s3158_) >>= fun w__444 : option ((mword 5 * mword 6)) =>
+ (_s4944_
+ _s3249_) >>= fun w__450 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__444 with
+ match w__450 with
| Some
- (rd, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FMIN_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4890_
- _s3158_) >>= fun w__445 : option ((mword 5 * mword 6)) =>
- (match w__445 with
+ (_s4944_
+ _s3249_) >>= fun w__451 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__451 with
| Some
- (rd, uimm) =>
+ (FMIN_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54145,28 +54841,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4902_
- _s3158_) >>= fun w__448 : option ((mword 5 * mword 6)) =>
+ (_s4961_
+ _s3249_) >>= fun w__454 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__448 with
+ match w__454 with
| Some
- (rs2, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FMAX_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4902_
- _s3158_) >>= fun w__449 : option ((mword 5 * mword 6)) =>
- (match w__449 with
+ (_s4961_
+ _s3249_) >>= fun w__455 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__455 with
| Some
- (rs2, uimm) =>
+ (FMAX_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54174,28 +54864,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4914_
- _s3158_) >>= fun w__452 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s4978_
+ _s3249_) >>= fun w__458 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__452 with
+ match w__458 with
| Some
- (rdc, rsc, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FEQ_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4914_
- _s3158_) >>= fun w__453 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__453 with
+ (_s4978_
+ _s3249_) >>= fun w__459 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__459 with
| Some
- (rdc, rsc, uimm) =>
+ (FEQ_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54203,28 +54887,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4930_
- _s3158_) >>= fun w__456 : option ((mword 3 * mword 3 * mword 5)) =>
+ (_s4995_
+ _s3249_) >>= fun w__462 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__456 with
+ match w__462 with
| Some
- (rsc1, rsc2, uimm) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FLT_D, rd, rs1, rs2) =>
+ true
| _ =>
false
end
then
- (_s4930_
- _s3158_) >>= fun w__457 : option ((mword 3 * mword 3 * mword 5)) =>
- (match w__457 with
+ (_s4995_
+ _s3249_) >>= fun w__463 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__463 with
| Some
- (rsc1, rsc2, uimm) =>
+ (FLT_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54232,22 +54910,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4946_
- _s3158_) >>= fun w__460 : option (mword 32) =>
+ (_s5012_
+ _s3249_) >>= fun w__466 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
(if
- match w__460 with
+ match w__466 with
| Some
- s =>
+ (FLE_D, rd, rs1, rs2) =>
true
| _ =>
false
end
then
- (_s4946_
- _s3158_) >>= fun w__461 : option (mword 32) =>
- (match w__461 with
+ (_s5012_
+ _s3249_) >>= fun w__467 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5)) =>
+ (match w__467 with
| Some
- s =>
+ (FLE_D, rd, rs1, rs2) =>
returnm true
| _ =>
exit tt
@@ -54255,22 +54933,22 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- (_s4954_
- _s3158_) >>= fun w__464 : option (mword 16) =>
+ (_s5029_
+ _s3249_) >>= fun w__470 : option ((f_un_op_D * mword 5 * mword 5)) =>
(if
- match w__464 with
+ match w__470 with
| Some
- s =>
+ (FMV_X_D, rd, rs1) =>
true
| _ =>
false
end
then
- (_s4954_
- _s3158_) >>= fun w__465 : option (mword 16) =>
- (match w__465 with
+ (_s5029_
+ _s3249_) >>= fun w__471 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (match w__471 with
| Some
- s =>
+ (FMV_X_D, rd, rs1) =>
returnm true
| _ =>
exit tt
@@ -54278,7 +54956,223 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
end)
: M (bool)
else
- returnm false)
+ (_s5042_
+ _s3249_) >>= fun w__474 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (if
+ match w__474 with
+ | Some
+ (FMV_D_X, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5042_
+ _s3249_) >>= fun w__475 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (match w__475 with
+ | Some
+ (FMV_D_X, rd, rs1) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s5055_
+ _s3249_) >>= fun w__478 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (if
+ match w__478 with
+ | Some
+ (FCLASS_D, rd, rs1) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5055_
+ _s3249_) >>= fun w__479 : option ((f_un_op_D * mword 5 * mword 5)) =>
+ (match w__479 with
+ | Some
+ (FCLASS_D, rd, rs1) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s5068_
+ _s3249_) >>= fun w__482 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__482 with
+ | Some
+ (rd, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s5068_
+ _s3249_) >>= fun w__483 : option ((mword 5 * mword 6)) =>
+ (match w__483 with
+ | Some
+ (rd, uimm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s5080_
+ _s3249_) >>= fun w__486 : option ((mword 5 * mword 6)) =>
+ (if
+ match w__486 with
+ | Some
+ (rs2, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s5080_
+ _s3249_) >>= fun w__487 : option ((mword 5 * mword 6)) =>
+ (match w__487 with
+ | Some
+ (rs2, uimm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s5092_
+ _s3249_) >>= fun w__490 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__490 with
+ | Some
+ (rdc, rsc, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s5092_
+ _s3249_) >>= fun w__491 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__491 with
+ | Some
+ (rdc, rsc, uimm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s5108_
+ _s3249_) >>= fun w__494 : option ((mword 3 * mword 3 * mword 5)) =>
+ (if
+ match w__494 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s5108_
+ _s3249_) >>= fun w__495 : option ((mword 3 * mword 3 * mword 5)) =>
+ (match w__495 with
+ | Some
+ (rsc1, rsc2, uimm) =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s5124_
+ _s3249_) >>= fun w__498 : option (mword 32) =>
+ (if
+ match w__498 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5124_
+ _s3249_) >>= fun w__499 : option (mword 32) =>
+ (match w__499 with
+ | Some
+ s =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ (_s5132_
+ _s3249_) >>= fun w__502 : option (mword 16) =>
+ (if
+ match w__502 with
+ | Some
+ s =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s5132_
+ _s3249_) >>= fun w__503 : option (mword 16) =>
+ (match w__503 with
+ | Some
+ s =>
+ returnm true
+ | _ =>
+ exit tt
+ : M (bool)
+ end)
+ : M (bool)
+ else
+ returnm false)
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
+ : M (bool))
: M (bool))
: M (bool))
: M (bool))
@@ -54397,19 +55291,19 @@ Definition assembly_backwards_matches (arg_ : string) : M (bool) :=
: M (bool))
: M (bool).
-Definition _s6806_ (_s6807_ : string) : M (option ((mword 16 * string))) :=
- let _s6808_ := _s6807_ in
- (if string_startswith _s6808_ "c.illegal" then
- (match (string_drop _s6808_ (projT1 (string_length "c.illegal"))) with
- | _s6809_ =>
- (spc_matches_prefix _s6809_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s7071_ (_s7072_ : string) : M (option ((mword 16 * string))) :=
+ let _s7073_ := _s7072_ in
+ (if string_startswith _s7073_ "c.illegal" then
+ (match (string_drop _s7073_ (projT1 (string_length "c.illegal"))) with
+ | _s7074_ =>
+ (spc_matches_prefix _s7074_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s6810_ _) =>
- match (string_drop _s6809_ _s6810_) with
- | _s6811_ =>
- match (hex_bits_16_matches_prefix _s6811_) with
- | Some (s, existT _ _s6812_ _) =>
- match (string_drop _s6811_ _s6812_) with | s_ => Some (s, s_) end
+ | Some (tt, existT _ _s7075_ _) =>
+ match (string_drop _s7074_ _s7075_) with
+ | _s7076_ =>
+ match (hex_bits_16_matches_prefix _s7076_) with
+ | Some (s, existT _ _s7077_ _) =>
+ match (string_drop _s7076_ _s7077_) with | s_ => Some (s, s_) end
| _ => None
end
end
@@ -54420,19 +55314,19 @@ Definition _s6806_ (_s6807_ : string) : M (option ((mword 16 * string))) :=
else returnm None)
: M (option ((mword 16 * string))).
-Definition _s6798_ (_s6799_ : string) : M (option ((mword 32 * string))) :=
- let _s6800_ := _s6799_ in
- (if string_startswith _s6800_ "illegal" then
- (match (string_drop _s6800_ (projT1 (string_length "illegal"))) with
- | _s6801_ =>
- (spc_matches_prefix _s6801_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s7063_ (_s7064_ : string) : M (option ((mword 32 * string))) :=
+ let _s7065_ := _s7064_ in
+ (if string_startswith _s7065_ "illegal" then
+ (match (string_drop _s7065_ (projT1 (string_length "illegal"))) with
+ | _s7066_ =>
+ (spc_matches_prefix _s7066_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s6802_ _) =>
- match (string_drop _s6801_ _s6802_) with
- | _s6803_ =>
- match (hex_bits_32_matches_prefix _s6803_) with
- | Some (s, existT _ _s6804_ _) =>
- match (string_drop _s6803_ _s6804_) with | s_ => Some (s, s_) end
+ | Some (tt, existT _ _s7067_ _) =>
+ match (string_drop _s7066_ _s7067_) with
+ | _s7068_ =>
+ match (hex_bits_32_matches_prefix _s7068_) with
+ | Some (s, existT _ _s7069_ _) =>
+ match (string_drop _s7068_ _s7069_) with | s_ => Some (s, s_) end
| _ => None
end
end
@@ -54443,50 +55337,50 @@ Definition _s6798_ (_s6799_ : string) : M (option ((mword 32 * string))) :=
else returnm None)
: M (option ((mword 32 * string))).
-Definition _s6782_ (_s6783_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s6784_ := _s6783_ in
- (if string_startswith _s6784_ "c.fsd" then
- (match (string_drop _s6784_ (projT1 (string_length "c.fsd"))) with
- | _s6785_ =>
- (spc_matches_prefix _s6785_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s7047_ (_s7048_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s7049_ := _s7048_ in
+ (if string_startswith _s7049_ "c.fsd" then
+ (match (string_drop _s7049_ (projT1 (string_length "c.fsd"))) with
+ | _s7050_ =>
+ (spc_matches_prefix _s7050_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6786_ _) =>
- (match (string_drop _s6785_ _s6786_) with
- | _s6787_ =>
- (creg_name_matches_prefix _s6787_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s7051_ _) =>
+ (match (string_drop _s7050_ _s7051_) with
+ | _s7052_ =>
+ (creg_name_matches_prefix _s7052_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s6788_ _) =>
- (match (string_drop _s6787_ _s6788_) with
- | _s6789_ =>
- (sep_matches_prefix _s6789_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s7053_ _) =>
+ (match (string_drop _s7052_ _s7053_) with
+ | _s7054_ =>
+ (sep_matches_prefix _s7054_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s6790_ _) =>
- (match (string_drop _s6789_ _s6790_) with
- | _s6791_ =>
- (creg_name_matches_prefix _s6791_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s7055_ _) =>
+ (match (string_drop _s7054_ _s7055_) with
+ | _s7056_ =>
+ (creg_name_matches_prefix _s7056_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s6792_ _) =>
- (match (string_drop _s6791_ _s6792_) with
- | _s6793_ =>
- (sep_matches_prefix _s6793_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s7057_ _) =>
+ (match (string_drop _s7056_ _s7057_) with
+ | _s7058_ =>
+ (sep_matches_prefix _s7058_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s6794_ _) =>
- match (string_drop _s6793_ _s6794_) with
- | _s6795_ =>
- match (hex_bits_8_matches_prefix _s6795_) with
- | Some (v__1378, existT _ _s6796_ _) =>
- if eq_vec (subrange_vec_dec v__1378 2 0)
+ | Some (tt, existT _ _s7059_ _) =>
+ match (string_drop _s7058_ _s7059_) with
+ | _s7060_ =>
+ match (hex_bits_8_matches_prefix _s7060_) with
+ | Some (v__1482, existT _ _s7061_ _) =>
+ if eq_vec (subrange_vec_dec v__1482 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1378 7 3 in
+ subrange_vec_dec v__1482 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1378 7 3 in
- match (string_drop _s6795_ _s6796_) with
+ subrange_vec_dec v__1482 7 3 in
+ match (string_drop _s7060_ _s7061_) with
| s_ => Some (rsc1, rsc2, uimm, s_)
end
else None
@@ -54520,50 +55414,50 @@ Definition _s6782_ (_s6783_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s6766_ (_s6767_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s6768_ := _s6767_ in
- (if string_startswith _s6768_ "c.fld" then
- (match (string_drop _s6768_ (projT1 (string_length "c.fld"))) with
- | _s6769_ =>
- (spc_matches_prefix _s6769_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s7031_ (_s7032_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s7033_ := _s7032_ in
+ (if string_startswith _s7033_ "c.fld" then
+ (match (string_drop _s7033_ (projT1 (string_length "c.fld"))) with
+ | _s7034_ =>
+ (spc_matches_prefix _s7034_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6770_ _) =>
- (match (string_drop _s6769_ _s6770_) with
- | _s6771_ =>
- (creg_name_matches_prefix _s6771_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s7035_ _) =>
+ (match (string_drop _s7034_ _s7035_) with
+ | _s7036_ =>
+ (creg_name_matches_prefix _s7036_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s6772_ _) =>
- (match (string_drop _s6771_ _s6772_) with
- | _s6773_ =>
- (sep_matches_prefix _s6773_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s7037_ _) =>
+ (match (string_drop _s7036_ _s7037_) with
+ | _s7038_ =>
+ (sep_matches_prefix _s7038_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s6774_ _) =>
- (match (string_drop _s6773_ _s6774_) with
- | _s6775_ =>
- (creg_name_matches_prefix _s6775_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s7039_ _) =>
+ (match (string_drop _s7038_ _s7039_) with
+ | _s7040_ =>
+ (creg_name_matches_prefix _s7040_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s6776_ _) =>
- (match (string_drop _s6775_ _s6776_) with
- | _s6777_ =>
- (sep_matches_prefix _s6777_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s7041_ _) =>
+ (match (string_drop _s7040_ _s7041_) with
+ | _s7042_ =>
+ (sep_matches_prefix _s7042_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s6778_ _) =>
- match (string_drop _s6777_ _s6778_) with
- | _s6779_ =>
- match (hex_bits_8_matches_prefix _s6779_) with
- | Some (v__1380, existT _ _s6780_ _) =>
- if eq_vec (subrange_vec_dec v__1380 2 0)
+ | Some (tt, existT _ _s7043_ _) =>
+ match (string_drop _s7042_ _s7043_) with
+ | _s7044_ =>
+ match (hex_bits_8_matches_prefix _s7044_) with
+ | Some (v__1484, existT _ _s7045_ _) =>
+ if eq_vec (subrange_vec_dec v__1484 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1380 7 3 in
+ subrange_vec_dec v__1484 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1380 7 3 in
- match (string_drop _s6779_ _s6780_) with
+ subrange_vec_dec v__1484 7 3 in
+ match (string_drop _s7044_ _s7045_) with
| s_ => Some (rdc, rsc, uimm, s_)
end
else None
@@ -54597,31 +55491,31 @@ Definition _s6766_ (_s6767_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s6754_ (_s6755_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s6756_ := _s6755_ in
- (if string_startswith _s6756_ "c.fsdsp" then
- (match (string_drop _s6756_ (projT1 (string_length "c.fsdsp"))) with
- | _s6757_ =>
- (spc_matches_prefix _s6757_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s7019_ (_s7020_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s7021_ := _s7020_ in
+ (if string_startswith _s7021_ "c.fsdsp" then
+ (match (string_drop _s7021_ (projT1 (string_length "c.fsdsp"))) with
+ | _s7022_ =>
+ (spc_matches_prefix _s7022_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6758_ _) =>
- (match (string_drop _s6757_ _s6758_) with
- | _s6759_ =>
- (reg_name_matches_prefix _s6759_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s7023_ _) =>
+ (match (string_drop _s7022_ _s7023_) with
+ | _s7024_ =>
+ (reg_name_matches_prefix _s7024_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s6760_ _) =>
- (match (string_drop _s6759_ _s6760_) with
- | _s6761_ =>
- (sep_matches_prefix _s6761_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s7025_ _) =>
+ (match (string_drop _s7024_ _s7025_) with
+ | _s7026_ =>
+ (sep_matches_prefix _s7026_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s6762_ _) =>
- match (string_drop _s6761_ _s6762_) with
- | _s6763_ =>
- match (hex_bits_6_matches_prefix _s6763_) with
- | Some (uimm, existT _ _s6764_ _) =>
- match (string_drop _s6763_ _s6764_) with
+ | Some (tt, existT _ _s7027_ _) =>
+ match (string_drop _s7026_ _s7027_) with
+ | _s7028_ =>
+ match (hex_bits_6_matches_prefix _s7028_) with
+ | Some (uimm, existT _ _s7029_ _) =>
+ match (string_drop _s7028_ _s7029_) with
| s_ => Some (rs2, uimm, s_)
end
| _ => None
@@ -54644,31 +55538,31 @@ Definition _s6754_ (_s6755_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s6742_ (_s6743_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s6744_ := _s6743_ in
- (if string_startswith _s6744_ "c.fldsp" then
- (match (string_drop _s6744_ (projT1 (string_length "c.fldsp"))) with
- | _s6745_ =>
- (spc_matches_prefix _s6745_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s7007_ (_s7008_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s7009_ := _s7008_ in
+ (if string_startswith _s7009_ "c.fldsp" then
+ (match (string_drop _s7009_ (projT1 (string_length "c.fldsp"))) with
+ | _s7010_ =>
+ (spc_matches_prefix _s7010_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6746_ _) =>
- (match (string_drop _s6745_ _s6746_) with
- | _s6747_ =>
- (reg_name_matches_prefix _s6747_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s7011_ _) =>
+ (match (string_drop _s7010_ _s7011_) with
+ | _s7012_ =>
+ (reg_name_matches_prefix _s7012_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s6748_ _) =>
- (match (string_drop _s6747_ _s6748_) with
- | _s6749_ =>
- (sep_matches_prefix _s6749_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s7013_ _) =>
+ (match (string_drop _s7012_ _s7013_) with
+ | _s7014_ =>
+ (sep_matches_prefix _s7014_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s6750_ _) =>
- match (string_drop _s6749_ _s6750_) with
- | _s6751_ =>
- match (hex_bits_6_matches_prefix _s6751_) with
- | Some (uimm, existT _ _s6752_ _) =>
- match (string_drop _s6751_ _s6752_) with
+ | Some (tt, existT _ _s7015_ _) =>
+ match (string_drop _s7014_ _s7015_) with
+ | _s7016_ =>
+ match (hex_bits_6_matches_prefix _s7016_) with
+ | Some (uimm, existT _ _s7017_ _) =>
+ match (string_drop _s7016_ _s7017_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -54691,38 +55585,38 @@ Definition _s6742_ (_s6743_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s6729_ (_s6730_ : string) : M (option ((f_un_op_D * mword 5 * mword 5 * string))) :=
- (match _s6730_ with
- | _s6731_ =>
- (f_un_type_mnemonic_D_matches_prefix _s6731_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s6994_ (_s6995_ : string) : M (option ((f_un_op_D * mword 5 * mword 5 * string))) :=
+ (match _s6995_ with
+ | _s6996_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s6996_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_D, existT _ _s6732_ _) =>
- (match (string_drop _s6731_ _s6732_) with
- | _s6733_ =>
- (spc_matches_prefix _s6733_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_D, existT _ _s6997_ _) =>
+ (match (string_drop _s6996_ _s6997_) with
+ | _s6998_ =>
+ (spc_matches_prefix _s6998_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6734_ _) =>
- (match (string_drop _s6733_ _s6734_) with
- | _s6735_ =>
- (reg_name_matches_prefix _s6735_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6999_ _) =>
+ (match (string_drop _s6998_ _s6999_) with
+ | _s7000_ =>
+ (reg_name_matches_prefix _s7000_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6736_ _) =>
- (match (string_drop _s6735_ _s6736_) with
- | _s6737_ =>
- (sep_matches_prefix _s6737_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s7001_ _) =>
+ (match (string_drop _s7000_ _s7001_) with
+ | _s7002_ =>
+ (sep_matches_prefix _s7002_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6738_ _) =>
- (match (string_drop _s6737_ _s6738_) with
- | _s6739_ =>
- (freg_name_matches_prefix _s6739_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s7003_ _) =>
+ (match (string_drop _s7002_ _s7003_) with
+ | _s7004_ =>
+ (freg_name_matches_prefix _s7004_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s6740_ _) =>
- match (string_drop _s6739_ _s6740_) with
+ | Some (rs1, existT _ _s7005_ _) =>
+ match (string_drop _s7004_ _s7005_) with
| s_ => Some (FCLASS_D, rd, rs1, s_)
end
| _ => None
@@ -54750,38 +55644,38 @@ Definition _s6729_ (_s6730_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5 * string))).
-Definition _s6716_ (_s6717_ : string) : M (option ((f_un_op_D * mword 5 * mword 5 * string))) :=
- (match _s6717_ with
- | _s6718_ =>
- (f_un_type_mnemonic_D_matches_prefix _s6718_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s6981_ (_s6982_ : string) : M (option ((f_un_op_D * mword 5 * mword 5 * string))) :=
+ (match _s6982_ with
+ | _s6983_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s6983_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_D_X, existT _ _s6719_ _) =>
- (match (string_drop _s6718_ _s6719_) with
- | _s6720_ =>
- (spc_matches_prefix _s6720_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_D_X, existT _ _s6984_ _) =>
+ (match (string_drop _s6983_ _s6984_) with
+ | _s6985_ =>
+ (spc_matches_prefix _s6985_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6721_ _) =>
- (match (string_drop _s6720_ _s6721_) with
- | _s6722_ =>
- (freg_name_matches_prefix _s6722_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6986_ _) =>
+ (match (string_drop _s6985_ _s6986_) with
+ | _s6987_ =>
+ (freg_name_matches_prefix _s6987_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6723_ _) =>
- (match (string_drop _s6722_ _s6723_) with
- | _s6724_ =>
- (sep_matches_prefix _s6724_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6988_ _) =>
+ (match (string_drop _s6987_ _s6988_) with
+ | _s6989_ =>
+ (sep_matches_prefix _s6989_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6725_ _) =>
- (match (string_drop _s6724_ _s6725_) with
- | _s6726_ =>
- (reg_name_matches_prefix _s6726_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6990_ _) =>
+ (match (string_drop _s6989_ _s6990_) with
+ | _s6991_ =>
+ (reg_name_matches_prefix _s6991_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s6727_ _) =>
- match (string_drop _s6726_ _s6727_) with
+ | Some (rs1, existT _ _s6992_ _) =>
+ match (string_drop _s6991_ _s6992_) with
| s_ => Some (FMV_D_X, rd, rs1, s_)
end
| _ => None
@@ -54809,38 +55703,38 @@ Definition _s6716_ (_s6717_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5 * string))).
-Definition _s6703_ (_s6704_ : string) : M (option ((f_un_op_D * mword 5 * mword 5 * string))) :=
- (match _s6704_ with
- | _s6705_ =>
- (f_un_type_mnemonic_D_matches_prefix _s6705_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
+Definition _s6968_ (_s6969_ : string) : M (option ((f_un_op_D * mword 5 * mword 5 * string))) :=
+ (match _s6969_ with
+ | _s6970_ =>
+ (f_un_type_mnemonic_D_matches_prefix _s6970_) >>= fun w__0 : option ((f_un_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_D, existT _ _s6706_ _) =>
- (match (string_drop _s6705_ _s6706_) with
- | _s6707_ =>
- (spc_matches_prefix _s6707_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_D, existT _ _s6971_ _) =>
+ (match (string_drop _s6970_ _s6971_) with
+ | _s6972_ =>
+ (spc_matches_prefix _s6972_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6708_ _) =>
- (match (string_drop _s6707_ _s6708_) with
- | _s6709_ =>
- (reg_name_matches_prefix _s6709_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6973_ _) =>
+ (match (string_drop _s6972_ _s6973_) with
+ | _s6974_ =>
+ (reg_name_matches_prefix _s6974_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6710_ _) =>
- (match (string_drop _s6709_ _s6710_) with
- | _s6711_ =>
- (sep_matches_prefix _s6711_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6975_ _) =>
+ (match (string_drop _s6974_ _s6975_) with
+ | _s6976_ =>
+ (sep_matches_prefix _s6976_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6712_ _) =>
- (match (string_drop _s6711_ _s6712_) with
- | _s6713_ =>
- (freg_name_matches_prefix _s6713_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6977_ _) =>
+ (match (string_drop _s6976_ _s6977_) with
+ | _s6978_ =>
+ (freg_name_matches_prefix _s6978_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s6714_ _) =>
- match (string_drop _s6713_ _s6714_) with
+ | Some (rs1, existT _ _s6979_ _) =>
+ match (string_drop _s6978_ _s6979_) with
| s_ => Some (FMV_X_D, rd, rs1, s_)
end
| _ => None
@@ -54868,52 +55762,52 @@ Definition _s6703_ (_s6704_ : string) : M (option ((f_un_op_D * mword 5 * mword
end)
: M (option ((f_un_op_D * mword 5 * mword 5 * string))).
-Definition _s6686_ (_s6687_ : string)
+Definition _s6951_ (_s6952_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6687_ with
- | _s6688_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6688_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6952_ with
+ | _s6953_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6953_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_D, existT _ _s6689_ _) =>
- (match (string_drop _s6688_ _s6689_) with
- | _s6690_ =>
- (spc_matches_prefix _s6690_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_D, existT _ _s6954_ _) =>
+ (match (string_drop _s6953_ _s6954_) with
+ | _s6955_ =>
+ (spc_matches_prefix _s6955_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6691_ _) =>
- (match (string_drop _s6690_ _s6691_) with
- | _s6692_ =>
- (reg_name_matches_prefix _s6692_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6956_ _) =>
+ (match (string_drop _s6955_ _s6956_) with
+ | _s6957_ =>
+ (reg_name_matches_prefix _s6957_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6693_ _) =>
- (match (string_drop _s6692_ _s6693_) with
- | _s6694_ =>
- (sep_matches_prefix _s6694_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6958_ _) =>
+ (match (string_drop _s6957_ _s6958_) with
+ | _s6959_ =>
+ (sep_matches_prefix _s6959_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6695_ _) =>
- (match (string_drop _s6694_ _s6695_) with
- | _s6696_ =>
- (freg_name_matches_prefix _s6696_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6960_ _) =>
+ (match (string_drop _s6959_ _s6960_) with
+ | _s6961_ =>
+ (freg_name_matches_prefix _s6961_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6697_ _) =>
- (match (string_drop _s6696_ _s6697_) with
- | _s6698_ =>
- (sep_matches_prefix _s6698_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6962_ _) =>
+ (match (string_drop _s6961_ _s6962_) with
+ | _s6963_ =>
+ (sep_matches_prefix _s6963_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6699_ _) =>
- (match (string_drop _s6698_ _s6699_) with
- | _s6700_ =>
- (freg_name_matches_prefix _s6700_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6964_ _) =>
+ (match (string_drop _s6963_ _s6964_) with
+ | _s6965_ =>
+ (freg_name_matches_prefix _s6965_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6701_ _) =>
- match (string_drop _s6700_
- _s6701_) with
+ | Some (rs2, existT _ _s6966_ _) =>
+ match (string_drop _s6965_
+ _s6966_) with
| s_ =>
Some (FLE_D, rd, rs1, rs2, s_)
end
@@ -54952,52 +55846,52 @@ Definition _s6686_ (_s6687_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6669_ (_s6670_ : string)
+Definition _s6934_ (_s6935_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6670_ with
- | _s6671_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6671_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6935_ with
+ | _s6936_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6936_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_D, existT _ _s6672_ _) =>
- (match (string_drop _s6671_ _s6672_) with
- | _s6673_ =>
- (spc_matches_prefix _s6673_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_D, existT _ _s6937_ _) =>
+ (match (string_drop _s6936_ _s6937_) with
+ | _s6938_ =>
+ (spc_matches_prefix _s6938_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6674_ _) =>
- (match (string_drop _s6673_ _s6674_) with
- | _s6675_ =>
- (reg_name_matches_prefix _s6675_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6939_ _) =>
+ (match (string_drop _s6938_ _s6939_) with
+ | _s6940_ =>
+ (reg_name_matches_prefix _s6940_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6676_ _) =>
- (match (string_drop _s6675_ _s6676_) with
- | _s6677_ =>
- (sep_matches_prefix _s6677_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6941_ _) =>
+ (match (string_drop _s6940_ _s6941_) with
+ | _s6942_ =>
+ (sep_matches_prefix _s6942_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6678_ _) =>
- (match (string_drop _s6677_ _s6678_) with
- | _s6679_ =>
- (freg_name_matches_prefix _s6679_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6943_ _) =>
+ (match (string_drop _s6942_ _s6943_) with
+ | _s6944_ =>
+ (freg_name_matches_prefix _s6944_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6680_ _) =>
- (match (string_drop _s6679_ _s6680_) with
- | _s6681_ =>
- (sep_matches_prefix _s6681_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6945_ _) =>
+ (match (string_drop _s6944_ _s6945_) with
+ | _s6946_ =>
+ (sep_matches_prefix _s6946_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6682_ _) =>
- (match (string_drop _s6681_ _s6682_) with
- | _s6683_ =>
- (freg_name_matches_prefix _s6683_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6947_ _) =>
+ (match (string_drop _s6946_ _s6947_) with
+ | _s6948_ =>
+ (freg_name_matches_prefix _s6948_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6684_ _) =>
- match (string_drop _s6683_
- _s6684_) with
+ | Some (rs2, existT _ _s6949_ _) =>
+ match (string_drop _s6948_
+ _s6949_) with
| s_ =>
Some (FLT_D, rd, rs1, rs2, s_)
end
@@ -55036,52 +55930,52 @@ Definition _s6669_ (_s6670_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6652_ (_s6653_ : string)
+Definition _s6917_ (_s6918_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6653_ with
- | _s6654_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6654_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6918_ with
+ | _s6919_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6919_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_D, existT _ _s6655_ _) =>
- (match (string_drop _s6654_ _s6655_) with
- | _s6656_ =>
- (spc_matches_prefix _s6656_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_D, existT _ _s6920_ _) =>
+ (match (string_drop _s6919_ _s6920_) with
+ | _s6921_ =>
+ (spc_matches_prefix _s6921_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6657_ _) =>
- (match (string_drop _s6656_ _s6657_) with
- | _s6658_ =>
- (reg_name_matches_prefix _s6658_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6922_ _) =>
+ (match (string_drop _s6921_ _s6922_) with
+ | _s6923_ =>
+ (reg_name_matches_prefix _s6923_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6659_ _) =>
- (match (string_drop _s6658_ _s6659_) with
- | _s6660_ =>
- (sep_matches_prefix _s6660_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6924_ _) =>
+ (match (string_drop _s6923_ _s6924_) with
+ | _s6925_ =>
+ (sep_matches_prefix _s6925_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6661_ _) =>
- (match (string_drop _s6660_ _s6661_) with
- | _s6662_ =>
- (freg_name_matches_prefix _s6662_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6926_ _) =>
+ (match (string_drop _s6925_ _s6926_) with
+ | _s6927_ =>
+ (freg_name_matches_prefix _s6927_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6663_ _) =>
- (match (string_drop _s6662_ _s6663_) with
- | _s6664_ =>
- (sep_matches_prefix _s6664_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6928_ _) =>
+ (match (string_drop _s6927_ _s6928_) with
+ | _s6929_ =>
+ (sep_matches_prefix _s6929_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6665_ _) =>
- (match (string_drop _s6664_ _s6665_) with
- | _s6666_ =>
- (freg_name_matches_prefix _s6666_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6930_ _) =>
+ (match (string_drop _s6929_ _s6930_) with
+ | _s6931_ =>
+ (freg_name_matches_prefix _s6931_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6667_ _) =>
- match (string_drop _s6666_
- _s6667_) with
+ | Some (rs2, existT _ _s6932_ _) =>
+ match (string_drop _s6931_
+ _s6932_) with
| s_ =>
Some (FEQ_D, rd, rs1, rs2, s_)
end
@@ -55120,52 +56014,52 @@ Definition _s6652_ (_s6653_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6635_ (_s6636_ : string)
+Definition _s6900_ (_s6901_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6636_ with
- | _s6637_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6637_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6901_ with
+ | _s6902_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6902_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_D, existT _ _s6638_ _) =>
- (match (string_drop _s6637_ _s6638_) with
- | _s6639_ =>
- (spc_matches_prefix _s6639_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_D, existT _ _s6903_ _) =>
+ (match (string_drop _s6902_ _s6903_) with
+ | _s6904_ =>
+ (spc_matches_prefix _s6904_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6640_ _) =>
- (match (string_drop _s6639_ _s6640_) with
- | _s6641_ =>
- (freg_name_matches_prefix _s6641_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6905_ _) =>
+ (match (string_drop _s6904_ _s6905_) with
+ | _s6906_ =>
+ (freg_name_matches_prefix _s6906_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6642_ _) =>
- (match (string_drop _s6641_ _s6642_) with
- | _s6643_ =>
- (sep_matches_prefix _s6643_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6907_ _) =>
+ (match (string_drop _s6906_ _s6907_) with
+ | _s6908_ =>
+ (sep_matches_prefix _s6908_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6644_ _) =>
- (match (string_drop _s6643_ _s6644_) with
- | _s6645_ =>
- (freg_name_matches_prefix _s6645_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6909_ _) =>
+ (match (string_drop _s6908_ _s6909_) with
+ | _s6910_ =>
+ (freg_name_matches_prefix _s6910_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6646_ _) =>
- (match (string_drop _s6645_ _s6646_) with
- | _s6647_ =>
- (sep_matches_prefix _s6647_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6911_ _) =>
+ (match (string_drop _s6910_ _s6911_) with
+ | _s6912_ =>
+ (sep_matches_prefix _s6912_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6648_ _) =>
- (match (string_drop _s6647_ _s6648_) with
- | _s6649_ =>
- (freg_name_matches_prefix _s6649_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6913_ _) =>
+ (match (string_drop _s6912_ _s6913_) with
+ | _s6914_ =>
+ (freg_name_matches_prefix _s6914_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6650_ _) =>
- match (string_drop _s6649_
- _s6650_) with
+ | Some (rs2, existT _ _s6915_ _) =>
+ match (string_drop _s6914_
+ _s6915_) with
| s_ =>
Some
(FMAX_D, rd, rs1, rs2, s_)
@@ -55205,52 +56099,52 @@ Definition _s6635_ (_s6636_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6618_ (_s6619_ : string)
+Definition _s6883_ (_s6884_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6619_ with
- | _s6620_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6620_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6884_ with
+ | _s6885_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6885_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_D, existT _ _s6621_ _) =>
- (match (string_drop _s6620_ _s6621_) with
- | _s6622_ =>
- (spc_matches_prefix _s6622_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_D, existT _ _s6886_ _) =>
+ (match (string_drop _s6885_ _s6886_) with
+ | _s6887_ =>
+ (spc_matches_prefix _s6887_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6623_ _) =>
- (match (string_drop _s6622_ _s6623_) with
- | _s6624_ =>
- (freg_name_matches_prefix _s6624_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6888_ _) =>
+ (match (string_drop _s6887_ _s6888_) with
+ | _s6889_ =>
+ (freg_name_matches_prefix _s6889_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6625_ _) =>
- (match (string_drop _s6624_ _s6625_) with
- | _s6626_ =>
- (sep_matches_prefix _s6626_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6890_ _) =>
+ (match (string_drop _s6889_ _s6890_) with
+ | _s6891_ =>
+ (sep_matches_prefix _s6891_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6627_ _) =>
- (match (string_drop _s6626_ _s6627_) with
- | _s6628_ =>
- (freg_name_matches_prefix _s6628_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6892_ _) =>
+ (match (string_drop _s6891_ _s6892_) with
+ | _s6893_ =>
+ (freg_name_matches_prefix _s6893_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6629_ _) =>
- (match (string_drop _s6628_ _s6629_) with
- | _s6630_ =>
- (sep_matches_prefix _s6630_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6894_ _) =>
+ (match (string_drop _s6893_ _s6894_) with
+ | _s6895_ =>
+ (sep_matches_prefix _s6895_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6631_ _) =>
- (match (string_drop _s6630_ _s6631_) with
- | _s6632_ =>
- (freg_name_matches_prefix _s6632_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6896_ _) =>
+ (match (string_drop _s6895_ _s6896_) with
+ | _s6897_ =>
+ (freg_name_matches_prefix _s6897_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6633_ _) =>
- match (string_drop _s6632_
- _s6633_) with
+ | Some (rs2, existT _ _s6898_ _) =>
+ match (string_drop _s6897_
+ _s6898_) with
| s_ =>
Some
(FMIN_D, rd, rs1, rs2, s_)
@@ -55290,52 +56184,52 @@ Definition _s6618_ (_s6619_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6601_ (_s6602_ : string)
+Definition _s6866_ (_s6867_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6602_ with
- | _s6603_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6603_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6867_ with
+ | _s6868_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6868_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_D, existT _ _s6604_ _) =>
- (match (string_drop _s6603_ _s6604_) with
- | _s6605_ =>
- (spc_matches_prefix _s6605_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_D, existT _ _s6869_ _) =>
+ (match (string_drop _s6868_ _s6869_) with
+ | _s6870_ =>
+ (spc_matches_prefix _s6870_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6606_ _) =>
- (match (string_drop _s6605_ _s6606_) with
- | _s6607_ =>
- (freg_name_matches_prefix _s6607_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6871_ _) =>
+ (match (string_drop _s6870_ _s6871_) with
+ | _s6872_ =>
+ (freg_name_matches_prefix _s6872_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6608_ _) =>
- (match (string_drop _s6607_ _s6608_) with
- | _s6609_ =>
- (sep_matches_prefix _s6609_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6873_ _) =>
+ (match (string_drop _s6872_ _s6873_) with
+ | _s6874_ =>
+ (sep_matches_prefix _s6874_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6610_ _) =>
- (match (string_drop _s6609_ _s6610_) with
- | _s6611_ =>
- (freg_name_matches_prefix _s6611_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6875_ _) =>
+ (match (string_drop _s6874_ _s6875_) with
+ | _s6876_ =>
+ (freg_name_matches_prefix _s6876_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6612_ _) =>
- (match (string_drop _s6611_ _s6612_) with
- | _s6613_ =>
- (sep_matches_prefix _s6613_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6877_ _) =>
+ (match (string_drop _s6876_ _s6877_) with
+ | _s6878_ =>
+ (sep_matches_prefix _s6878_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6614_ _) =>
- (match (string_drop _s6613_ _s6614_) with
- | _s6615_ =>
- (freg_name_matches_prefix _s6615_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6879_ _) =>
+ (match (string_drop _s6878_ _s6879_) with
+ | _s6880_ =>
+ (freg_name_matches_prefix _s6880_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6616_ _) =>
- match (string_drop _s6615_
- _s6616_) with
+ | Some (rs2, existT _ _s6881_ _) =>
+ match (string_drop _s6880_
+ _s6881_) with
| s_ =>
Some
(FSGNJX_D, rd, rs1, rs2, s_)
@@ -55375,52 +56269,52 @@ Definition _s6601_ (_s6602_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6584_ (_s6585_ : string)
+Definition _s6849_ (_s6850_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6585_ with
- | _s6586_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6586_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6850_ with
+ | _s6851_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6851_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_D, existT _ _s6587_ _) =>
- (match (string_drop _s6586_ _s6587_) with
- | _s6588_ =>
- (spc_matches_prefix _s6588_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_D, existT _ _s6852_ _) =>
+ (match (string_drop _s6851_ _s6852_) with
+ | _s6853_ =>
+ (spc_matches_prefix _s6853_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6589_ _) =>
- (match (string_drop _s6588_ _s6589_) with
- | _s6590_ =>
- (freg_name_matches_prefix _s6590_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6854_ _) =>
+ (match (string_drop _s6853_ _s6854_) with
+ | _s6855_ =>
+ (freg_name_matches_prefix _s6855_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6591_ _) =>
- (match (string_drop _s6590_ _s6591_) with
- | _s6592_ =>
- (sep_matches_prefix _s6592_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6856_ _) =>
+ (match (string_drop _s6855_ _s6856_) with
+ | _s6857_ =>
+ (sep_matches_prefix _s6857_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6593_ _) =>
- (match (string_drop _s6592_ _s6593_) with
- | _s6594_ =>
- (freg_name_matches_prefix _s6594_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6858_ _) =>
+ (match (string_drop _s6857_ _s6858_) with
+ | _s6859_ =>
+ (freg_name_matches_prefix _s6859_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6595_ _) =>
- (match (string_drop _s6594_ _s6595_) with
- | _s6596_ =>
- (sep_matches_prefix _s6596_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6860_ _) =>
+ (match (string_drop _s6859_ _s6860_) with
+ | _s6861_ =>
+ (sep_matches_prefix _s6861_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6597_ _) =>
- (match (string_drop _s6596_ _s6597_) with
- | _s6598_ =>
- (freg_name_matches_prefix _s6598_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6862_ _) =>
+ (match (string_drop _s6861_ _s6862_) with
+ | _s6863_ =>
+ (freg_name_matches_prefix _s6863_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6599_ _) =>
- match (string_drop _s6598_
- _s6599_) with
+ | Some (rs2, existT _ _s6864_ _) =>
+ match (string_drop _s6863_
+ _s6864_) with
| s_ =>
Some
(FSGNJN_D, rd, rs1, rs2, s_)
@@ -55460,52 +56354,52 @@ Definition _s6584_ (_s6585_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6567_ (_s6568_ : string)
+Definition _s6832_ (_s6833_ : string)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6568_ with
- | _s6569_ =>
- (f_bin_type_mnemonic_D_matches_prefix _s6569_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
+ (match _s6833_ with
+ | _s6834_ =>
+ (f_bin_type_mnemonic_D_matches_prefix _s6834_) >>= fun w__0 : option ((f_bin_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_D, existT _ _s6570_ _) =>
- (match (string_drop _s6569_ _s6570_) with
- | _s6571_ =>
- (spc_matches_prefix _s6571_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_D, existT _ _s6835_ _) =>
+ (match (string_drop _s6834_ _s6835_) with
+ | _s6836_ =>
+ (spc_matches_prefix _s6836_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6572_ _) =>
- (match (string_drop _s6571_ _s6572_) with
- | _s6573_ =>
- (freg_name_matches_prefix _s6573_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6837_ _) =>
+ (match (string_drop _s6836_ _s6837_) with
+ | _s6838_ =>
+ (freg_name_matches_prefix _s6838_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6574_ _) =>
- (match (string_drop _s6573_ _s6574_) with
- | _s6575_ =>
- (sep_matches_prefix _s6575_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6839_ _) =>
+ (match (string_drop _s6838_ _s6839_) with
+ | _s6840_ =>
+ (sep_matches_prefix _s6840_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6576_ _) =>
- (match (string_drop _s6575_ _s6576_) with
- | _s6577_ =>
- (freg_name_matches_prefix _s6577_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6841_ _) =>
+ (match (string_drop _s6840_ _s6841_) with
+ | _s6842_ =>
+ (freg_name_matches_prefix _s6842_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6578_ _) =>
- (match (string_drop _s6577_ _s6578_) with
- | _s6579_ =>
- (sep_matches_prefix _s6579_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6843_ _) =>
+ (match (string_drop _s6842_ _s6843_) with
+ | _s6844_ =>
+ (sep_matches_prefix _s6844_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6580_ _) =>
- (match (string_drop _s6579_ _s6580_) with
- | _s6581_ =>
- (freg_name_matches_prefix _s6581_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6845_ _) =>
+ (match (string_drop _s6844_ _s6845_) with
+ | _s6846_ =>
+ (freg_name_matches_prefix _s6846_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6582_ _) =>
- match (string_drop _s6581_
- _s6582_) with
+ | Some (rs2, existT _ _s6847_ _) =>
+ match (string_drop _s6846_
+ _s6847_) with
| s_ =>
Some
(FSGNJ_D, rd, rs1, rs2, s_)
@@ -55545,52 +56439,52 @@ Definition _s6567_ (_s6568_ : string)
end)
: M (option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6550_ (_s6551_ : string)
+Definition _s6815_ (_s6816_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6551_ with
- | _s6552_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6552_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6816_ with
+ | _s6817_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6817_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_S, existT _ _s6553_ _) =>
- (match (string_drop _s6552_ _s6553_) with
- | _s6554_ =>
- (spc_matches_prefix _s6554_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_S, existT _ _s6818_ _) =>
+ (match (string_drop _s6817_ _s6818_) with
+ | _s6819_ =>
+ (spc_matches_prefix _s6819_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6555_ _) =>
- (match (string_drop _s6554_ _s6555_) with
- | _s6556_ =>
- (freg_name_matches_prefix _s6556_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6820_ _) =>
+ (match (string_drop _s6819_ _s6820_) with
+ | _s6821_ =>
+ (freg_name_matches_prefix _s6821_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6557_ _) =>
- (match (string_drop _s6556_ _s6557_) with
- | _s6558_ =>
- (sep_matches_prefix _s6558_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6822_ _) =>
+ (match (string_drop _s6821_ _s6822_) with
+ | _s6823_ =>
+ (sep_matches_prefix _s6823_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6559_ _) =>
- (match (string_drop _s6558_ _s6559_) with
- | _s6560_ =>
- (freg_name_matches_prefix _s6560_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6824_ _) =>
+ (match (string_drop _s6823_ _s6824_) with
+ | _s6825_ =>
+ (freg_name_matches_prefix _s6825_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6561_ _) =>
- (match (string_drop _s6560_ _s6561_) with
- | _s6562_ =>
- (sep_matches_prefix _s6562_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6826_ _) =>
+ (match (string_drop _s6825_ _s6826_) with
+ | _s6827_ =>
+ (sep_matches_prefix _s6827_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6563_ _) =>
- (match (string_drop _s6562_ _s6563_) with
- | _s6564_ =>
- (frm_mnemonic_matches_prefix _s6564_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6828_ _) =>
+ (match (string_drop _s6827_ _s6828_) with
+ | _s6829_ =>
+ (frm_mnemonic_matches_prefix _s6829_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6565_ _) =>
- match (string_drop _s6564_
- _s6565_) with
+ | Some (rm, existT _ _s6830_ _) =>
+ match (string_drop _s6829_
+ _s6830_) with
| s_ =>
Some
(FCVT_D_S, rd, rs1, rm, s_)
@@ -55630,52 +56524,52 @@ Definition _s6550_ (_s6551_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6533_ (_s6534_ : string)
+Definition _s6798_ (_s6799_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6534_ with
- | _s6535_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6535_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6799_ with
+ | _s6800_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6800_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_D, existT _ _s6536_ _) =>
- (match (string_drop _s6535_ _s6536_) with
- | _s6537_ =>
- (spc_matches_prefix _s6537_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_D, existT _ _s6801_ _) =>
+ (match (string_drop _s6800_ _s6801_) with
+ | _s6802_ =>
+ (spc_matches_prefix _s6802_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6538_ _) =>
- (match (string_drop _s6537_ _s6538_) with
- | _s6539_ =>
- (freg_name_matches_prefix _s6539_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6803_ _) =>
+ (match (string_drop _s6802_ _s6803_) with
+ | _s6804_ =>
+ (freg_name_matches_prefix _s6804_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6540_ _) =>
- (match (string_drop _s6539_ _s6540_) with
- | _s6541_ =>
- (sep_matches_prefix _s6541_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6805_ _) =>
+ (match (string_drop _s6804_ _s6805_) with
+ | _s6806_ =>
+ (sep_matches_prefix _s6806_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6542_ _) =>
- (match (string_drop _s6541_ _s6542_) with
- | _s6543_ =>
- (freg_name_matches_prefix _s6543_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6807_ _) =>
+ (match (string_drop _s6806_ _s6807_) with
+ | _s6808_ =>
+ (freg_name_matches_prefix _s6808_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6544_ _) =>
- (match (string_drop _s6543_ _s6544_) with
- | _s6545_ =>
- (sep_matches_prefix _s6545_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6809_ _) =>
+ (match (string_drop _s6808_ _s6809_) with
+ | _s6810_ =>
+ (sep_matches_prefix _s6810_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6546_ _) =>
- (match (string_drop _s6545_ _s6546_) with
- | _s6547_ =>
- (frm_mnemonic_matches_prefix _s6547_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6811_ _) =>
+ (match (string_drop _s6810_ _s6811_) with
+ | _s6812_ =>
+ (frm_mnemonic_matches_prefix _s6812_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6548_ _) =>
- match (string_drop _s6547_
- _s6548_) with
+ | Some (rm, existT _ _s6813_ _) =>
+ match (string_drop _s6812_
+ _s6813_) with
| s_ =>
Some
(FCVT_S_D, rd, rs1, rm, s_)
@@ -55715,52 +56609,52 @@ Definition _s6533_ (_s6534_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6516_ (_s6517_ : string)
+Definition _s6781_ (_s6782_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6517_ with
- | _s6518_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6518_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6782_ with
+ | _s6783_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6783_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_LU, existT _ _s6519_ _) =>
- (match (string_drop _s6518_ _s6519_) with
- | _s6520_ =>
- (spc_matches_prefix _s6520_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_LU, existT _ _s6784_ _) =>
+ (match (string_drop _s6783_ _s6784_) with
+ | _s6785_ =>
+ (spc_matches_prefix _s6785_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6521_ _) =>
- (match (string_drop _s6520_ _s6521_) with
- | _s6522_ =>
- (freg_name_matches_prefix _s6522_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6786_ _) =>
+ (match (string_drop _s6785_ _s6786_) with
+ | _s6787_ =>
+ (freg_name_matches_prefix _s6787_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6523_ _) =>
- (match (string_drop _s6522_ _s6523_) with
- | _s6524_ =>
- (sep_matches_prefix _s6524_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6788_ _) =>
+ (match (string_drop _s6787_ _s6788_) with
+ | _s6789_ =>
+ (sep_matches_prefix _s6789_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6525_ _) =>
- (match (string_drop _s6524_ _s6525_) with
- | _s6526_ =>
- (reg_name_matches_prefix _s6526_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6790_ _) =>
+ (match (string_drop _s6789_ _s6790_) with
+ | _s6791_ =>
+ (reg_name_matches_prefix _s6791_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6527_ _) =>
- (match (string_drop _s6526_ _s6527_) with
- | _s6528_ =>
- (sep_matches_prefix _s6528_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6792_ _) =>
+ (match (string_drop _s6791_ _s6792_) with
+ | _s6793_ =>
+ (sep_matches_prefix _s6793_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6529_ _) =>
- (match (string_drop _s6528_ _s6529_) with
- | _s6530_ =>
- (frm_mnemonic_matches_prefix _s6530_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6794_ _) =>
+ (match (string_drop _s6793_ _s6794_) with
+ | _s6795_ =>
+ (frm_mnemonic_matches_prefix _s6795_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6531_ _) =>
- match (string_drop _s6530_
- _s6531_) with
+ | Some (rm, existT _ _s6796_ _) =>
+ match (string_drop _s6795_
+ _s6796_) with
| s_ =>
Some
(FCVT_D_LU, rd, rs1, rm, s_)
@@ -55800,52 +56694,52 @@ Definition _s6516_ (_s6517_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6499_ (_s6500_ : string)
+Definition _s6764_ (_s6765_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6500_ with
- | _s6501_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6501_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6765_ with
+ | _s6766_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6766_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_L, existT _ _s6502_ _) =>
- (match (string_drop _s6501_ _s6502_) with
- | _s6503_ =>
- (spc_matches_prefix _s6503_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_L, existT _ _s6767_ _) =>
+ (match (string_drop _s6766_ _s6767_) with
+ | _s6768_ =>
+ (spc_matches_prefix _s6768_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6504_ _) =>
- (match (string_drop _s6503_ _s6504_) with
- | _s6505_ =>
- (freg_name_matches_prefix _s6505_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6769_ _) =>
+ (match (string_drop _s6768_ _s6769_) with
+ | _s6770_ =>
+ (freg_name_matches_prefix _s6770_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6506_ _) =>
- (match (string_drop _s6505_ _s6506_) with
- | _s6507_ =>
- (sep_matches_prefix _s6507_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6771_ _) =>
+ (match (string_drop _s6770_ _s6771_) with
+ | _s6772_ =>
+ (sep_matches_prefix _s6772_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6508_ _) =>
- (match (string_drop _s6507_ _s6508_) with
- | _s6509_ =>
- (reg_name_matches_prefix _s6509_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6773_ _) =>
+ (match (string_drop _s6772_ _s6773_) with
+ | _s6774_ =>
+ (reg_name_matches_prefix _s6774_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6510_ _) =>
- (match (string_drop _s6509_ _s6510_) with
- | _s6511_ =>
- (sep_matches_prefix _s6511_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6775_ _) =>
+ (match (string_drop _s6774_ _s6775_) with
+ | _s6776_ =>
+ (sep_matches_prefix _s6776_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6512_ _) =>
- (match (string_drop _s6511_ _s6512_) with
- | _s6513_ =>
- (frm_mnemonic_matches_prefix _s6513_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6777_ _) =>
+ (match (string_drop _s6776_ _s6777_) with
+ | _s6778_ =>
+ (frm_mnemonic_matches_prefix _s6778_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6514_ _) =>
- match (string_drop _s6513_
- _s6514_) with
+ | Some (rm, existT _ _s6779_ _) =>
+ match (string_drop _s6778_
+ _s6779_) with
| s_ =>
Some
(FCVT_D_L, rd, rs1, rm, s_)
@@ -55885,52 +56779,52 @@ Definition _s6499_ (_s6500_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6482_ (_s6483_ : string)
+Definition _s6747_ (_s6748_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6483_ with
- | _s6484_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6484_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6748_ with
+ | _s6749_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6749_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_D, existT _ _s6485_ _) =>
- (match (string_drop _s6484_ _s6485_) with
- | _s6486_ =>
- (spc_matches_prefix _s6486_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_D, existT _ _s6750_ _) =>
+ (match (string_drop _s6749_ _s6750_) with
+ | _s6751_ =>
+ (spc_matches_prefix _s6751_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6487_ _) =>
- (match (string_drop _s6486_ _s6487_) with
- | _s6488_ =>
- (reg_name_matches_prefix _s6488_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6752_ _) =>
+ (match (string_drop _s6751_ _s6752_) with
+ | _s6753_ =>
+ (reg_name_matches_prefix _s6753_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6489_ _) =>
- (match (string_drop _s6488_ _s6489_) with
- | _s6490_ =>
- (sep_matches_prefix _s6490_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6754_ _) =>
+ (match (string_drop _s6753_ _s6754_) with
+ | _s6755_ =>
+ (sep_matches_prefix _s6755_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6491_ _) =>
- (match (string_drop _s6490_ _s6491_) with
- | _s6492_ =>
- (freg_name_matches_prefix _s6492_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6756_ _) =>
+ (match (string_drop _s6755_ _s6756_) with
+ | _s6757_ =>
+ (freg_name_matches_prefix _s6757_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6493_ _) =>
- (match (string_drop _s6492_ _s6493_) with
- | _s6494_ =>
- (sep_matches_prefix _s6494_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6758_ _) =>
+ (match (string_drop _s6757_ _s6758_) with
+ | _s6759_ =>
+ (sep_matches_prefix _s6759_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6495_ _) =>
- (match (string_drop _s6494_ _s6495_) with
- | _s6496_ =>
- (frm_mnemonic_matches_prefix _s6496_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6760_ _) =>
+ (match (string_drop _s6759_ _s6760_) with
+ | _s6761_ =>
+ (frm_mnemonic_matches_prefix _s6761_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6497_ _) =>
- match (string_drop _s6496_
- _s6497_) with
+ | Some (rm, existT _ _s6762_ _) =>
+ match (string_drop _s6761_
+ _s6762_) with
| s_ =>
Some
(FCVT_LU_D, rd, rs1, rm, s_)
@@ -55970,52 +56864,52 @@ Definition _s6482_ (_s6483_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6465_ (_s6466_ : string)
+Definition _s6730_ (_s6731_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6466_ with
- | _s6467_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6467_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6731_ with
+ | _s6732_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6732_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_D, existT _ _s6468_ _) =>
- (match (string_drop _s6467_ _s6468_) with
- | _s6469_ =>
- (spc_matches_prefix _s6469_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_D, existT _ _s6733_ _) =>
+ (match (string_drop _s6732_ _s6733_) with
+ | _s6734_ =>
+ (spc_matches_prefix _s6734_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6470_ _) =>
- (match (string_drop _s6469_ _s6470_) with
- | _s6471_ =>
- (reg_name_matches_prefix _s6471_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6735_ _) =>
+ (match (string_drop _s6734_ _s6735_) with
+ | _s6736_ =>
+ (reg_name_matches_prefix _s6736_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6472_ _) =>
- (match (string_drop _s6471_ _s6472_) with
- | _s6473_ =>
- (sep_matches_prefix _s6473_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6737_ _) =>
+ (match (string_drop _s6736_ _s6737_) with
+ | _s6738_ =>
+ (sep_matches_prefix _s6738_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6474_ _) =>
- (match (string_drop _s6473_ _s6474_) with
- | _s6475_ =>
- (freg_name_matches_prefix _s6475_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6739_ _) =>
+ (match (string_drop _s6738_ _s6739_) with
+ | _s6740_ =>
+ (freg_name_matches_prefix _s6740_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6476_ _) =>
- (match (string_drop _s6475_ _s6476_) with
- | _s6477_ =>
- (sep_matches_prefix _s6477_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6741_ _) =>
+ (match (string_drop _s6740_ _s6741_) with
+ | _s6742_ =>
+ (sep_matches_prefix _s6742_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6478_ _) =>
- (match (string_drop _s6477_ _s6478_) with
- | _s6479_ =>
- (frm_mnemonic_matches_prefix _s6479_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6743_ _) =>
+ (match (string_drop _s6742_ _s6743_) with
+ | _s6744_ =>
+ (frm_mnemonic_matches_prefix _s6744_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6480_ _) =>
- match (string_drop _s6479_
- _s6480_) with
+ | Some (rm, existT _ _s6745_ _) =>
+ match (string_drop _s6744_
+ _s6745_) with
| s_ =>
Some
(FCVT_L_D, rd, rs1, rm, s_)
@@ -56055,52 +56949,52 @@ Definition _s6465_ (_s6466_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6448_ (_s6449_ : string)
+Definition _s6713_ (_s6714_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6449_ with
- | _s6450_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6450_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6714_ with
+ | _s6715_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6715_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_WU, existT _ _s6451_ _) =>
- (match (string_drop _s6450_ _s6451_) with
- | _s6452_ =>
- (spc_matches_prefix _s6452_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_WU, existT _ _s6716_ _) =>
+ (match (string_drop _s6715_ _s6716_) with
+ | _s6717_ =>
+ (spc_matches_prefix _s6717_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6453_ _) =>
- (match (string_drop _s6452_ _s6453_) with
- | _s6454_ =>
- (freg_name_matches_prefix _s6454_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6718_ _) =>
+ (match (string_drop _s6717_ _s6718_) with
+ | _s6719_ =>
+ (freg_name_matches_prefix _s6719_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6455_ _) =>
- (match (string_drop _s6454_ _s6455_) with
- | _s6456_ =>
- (sep_matches_prefix _s6456_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6720_ _) =>
+ (match (string_drop _s6719_ _s6720_) with
+ | _s6721_ =>
+ (sep_matches_prefix _s6721_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6457_ _) =>
- (match (string_drop _s6456_ _s6457_) with
- | _s6458_ =>
- (reg_name_matches_prefix _s6458_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6722_ _) =>
+ (match (string_drop _s6721_ _s6722_) with
+ | _s6723_ =>
+ (reg_name_matches_prefix _s6723_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6459_ _) =>
- (match (string_drop _s6458_ _s6459_) with
- | _s6460_ =>
- (sep_matches_prefix _s6460_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6724_ _) =>
+ (match (string_drop _s6723_ _s6724_) with
+ | _s6725_ =>
+ (sep_matches_prefix _s6725_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6461_ _) =>
- (match (string_drop _s6460_ _s6461_) with
- | _s6462_ =>
- (frm_mnemonic_matches_prefix _s6462_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6726_ _) =>
+ (match (string_drop _s6725_ _s6726_) with
+ | _s6727_ =>
+ (frm_mnemonic_matches_prefix _s6727_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6463_ _) =>
- match (string_drop _s6462_
- _s6463_) with
+ | Some (rm, existT _ _s6728_ _) =>
+ match (string_drop _s6727_
+ _s6728_) with
| s_ =>
Some
(FCVT_D_WU, rd, rs1, rm, s_)
@@ -56140,52 +57034,52 @@ Definition _s6448_ (_s6449_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6431_ (_s6432_ : string)
+Definition _s6696_ (_s6697_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6432_ with
- | _s6433_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6433_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6697_ with
+ | _s6698_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6698_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_D_W, existT _ _s6434_ _) =>
- (match (string_drop _s6433_ _s6434_) with
- | _s6435_ =>
- (spc_matches_prefix _s6435_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_D_W, existT _ _s6699_ _) =>
+ (match (string_drop _s6698_ _s6699_) with
+ | _s6700_ =>
+ (spc_matches_prefix _s6700_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6436_ _) =>
- (match (string_drop _s6435_ _s6436_) with
- | _s6437_ =>
- (freg_name_matches_prefix _s6437_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6701_ _) =>
+ (match (string_drop _s6700_ _s6701_) with
+ | _s6702_ =>
+ (freg_name_matches_prefix _s6702_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6438_ _) =>
- (match (string_drop _s6437_ _s6438_) with
- | _s6439_ =>
- (sep_matches_prefix _s6439_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6703_ _) =>
+ (match (string_drop _s6702_ _s6703_) with
+ | _s6704_ =>
+ (sep_matches_prefix _s6704_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6440_ _) =>
- (match (string_drop _s6439_ _s6440_) with
- | _s6441_ =>
- (reg_name_matches_prefix _s6441_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6705_ _) =>
+ (match (string_drop _s6704_ _s6705_) with
+ | _s6706_ =>
+ (reg_name_matches_prefix _s6706_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6442_ _) =>
- (match (string_drop _s6441_ _s6442_) with
- | _s6443_ =>
- (sep_matches_prefix _s6443_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6707_ _) =>
+ (match (string_drop _s6706_ _s6707_) with
+ | _s6708_ =>
+ (sep_matches_prefix _s6708_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6444_ _) =>
- (match (string_drop _s6443_ _s6444_) with
- | _s6445_ =>
- (frm_mnemonic_matches_prefix _s6445_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6709_ _) =>
+ (match (string_drop _s6708_ _s6709_) with
+ | _s6710_ =>
+ (frm_mnemonic_matches_prefix _s6710_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6446_ _) =>
- match (string_drop _s6445_
- _s6446_) with
+ | Some (rm, existT _ _s6711_ _) =>
+ match (string_drop _s6710_
+ _s6711_) with
| s_ =>
Some
(FCVT_D_W, rd, rs1, rm, s_)
@@ -56225,52 +57119,52 @@ Definition _s6431_ (_s6432_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6414_ (_s6415_ : string)
+Definition _s6679_ (_s6680_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6415_ with
- | _s6416_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6416_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6680_ with
+ | _s6681_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6681_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_D, existT _ _s6417_ _) =>
- (match (string_drop _s6416_ _s6417_) with
- | _s6418_ =>
- (spc_matches_prefix _s6418_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_D, existT _ _s6682_ _) =>
+ (match (string_drop _s6681_ _s6682_) with
+ | _s6683_ =>
+ (spc_matches_prefix _s6683_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6419_ _) =>
- (match (string_drop _s6418_ _s6419_) with
- | _s6420_ =>
- (reg_name_matches_prefix _s6420_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6684_ _) =>
+ (match (string_drop _s6683_ _s6684_) with
+ | _s6685_ =>
+ (reg_name_matches_prefix _s6685_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6421_ _) =>
- (match (string_drop _s6420_ _s6421_) with
- | _s6422_ =>
- (sep_matches_prefix _s6422_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6686_ _) =>
+ (match (string_drop _s6685_ _s6686_) with
+ | _s6687_ =>
+ (sep_matches_prefix _s6687_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6423_ _) =>
- (match (string_drop _s6422_ _s6423_) with
- | _s6424_ =>
- (freg_name_matches_prefix _s6424_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6688_ _) =>
+ (match (string_drop _s6687_ _s6688_) with
+ | _s6689_ =>
+ (freg_name_matches_prefix _s6689_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6425_ _) =>
- (match (string_drop _s6424_ _s6425_) with
- | _s6426_ =>
- (sep_matches_prefix _s6426_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6690_ _) =>
+ (match (string_drop _s6689_ _s6690_) with
+ | _s6691_ =>
+ (sep_matches_prefix _s6691_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6427_ _) =>
- (match (string_drop _s6426_ _s6427_) with
- | _s6428_ =>
- (frm_mnemonic_matches_prefix _s6428_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6692_ _) =>
+ (match (string_drop _s6691_ _s6692_) with
+ | _s6693_ =>
+ (frm_mnemonic_matches_prefix _s6693_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6429_ _) =>
- match (string_drop _s6428_
- _s6429_) with
+ | Some (rm, existT _ _s6694_ _) =>
+ match (string_drop _s6693_
+ _s6694_) with
| s_ =>
Some
(FCVT_WU_D, rd, rs1, rm, s_)
@@ -56310,52 +57204,52 @@ Definition _s6414_ (_s6415_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6397_ (_s6398_ : string)
+Definition _s6662_ (_s6663_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6398_ with
- | _s6399_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6399_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6663_ with
+ | _s6664_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6664_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_D, existT _ _s6400_ _) =>
- (match (string_drop _s6399_ _s6400_) with
- | _s6401_ =>
- (spc_matches_prefix _s6401_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_D, existT _ _s6665_ _) =>
+ (match (string_drop _s6664_ _s6665_) with
+ | _s6666_ =>
+ (spc_matches_prefix _s6666_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6402_ _) =>
- (match (string_drop _s6401_ _s6402_) with
- | _s6403_ =>
- (reg_name_matches_prefix _s6403_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6667_ _) =>
+ (match (string_drop _s6666_ _s6667_) with
+ | _s6668_ =>
+ (reg_name_matches_prefix _s6668_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6404_ _) =>
- (match (string_drop _s6403_ _s6404_) with
- | _s6405_ =>
- (sep_matches_prefix _s6405_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6669_ _) =>
+ (match (string_drop _s6668_ _s6669_) with
+ | _s6670_ =>
+ (sep_matches_prefix _s6670_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6406_ _) =>
- (match (string_drop _s6405_ _s6406_) with
- | _s6407_ =>
- (freg_name_matches_prefix _s6407_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6671_ _) =>
+ (match (string_drop _s6670_ _s6671_) with
+ | _s6672_ =>
+ (freg_name_matches_prefix _s6672_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6408_ _) =>
- (match (string_drop _s6407_ _s6408_) with
- | _s6409_ =>
- (sep_matches_prefix _s6409_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6673_ _) =>
+ (match (string_drop _s6672_ _s6673_) with
+ | _s6674_ =>
+ (sep_matches_prefix _s6674_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6410_ _) =>
- (match (string_drop _s6409_ _s6410_) with
- | _s6411_ =>
- (frm_mnemonic_matches_prefix _s6411_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6675_ _) =>
+ (match (string_drop _s6674_ _s6675_) with
+ | _s6676_ =>
+ (frm_mnemonic_matches_prefix _s6676_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6412_ _) =>
- match (string_drop _s6411_
- _s6412_) with
+ | Some (rm, existT _ _s6677_ _) =>
+ match (string_drop _s6676_
+ _s6677_) with
| s_ =>
Some
(FCVT_W_D, rd, rs1, rm, s_)
@@ -56395,52 +57289,52 @@ Definition _s6397_ (_s6398_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6380_ (_s6381_ : string)
+Definition _s6645_ (_s6646_ : string)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6381_ with
- | _s6382_ =>
- (f_un_rm_type_mnemonic_D_matches_prefix _s6382_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6646_ with
+ | _s6647_ =>
+ (f_un_rm_type_mnemonic_D_matches_prefix _s6647_) >>= fun w__0 : option ((f_un_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_D, existT _ _s6383_ _) =>
- (match (string_drop _s6382_ _s6383_) with
- | _s6384_ =>
- (spc_matches_prefix _s6384_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_D, existT _ _s6648_ _) =>
+ (match (string_drop _s6647_ _s6648_) with
+ | _s6649_ =>
+ (spc_matches_prefix _s6649_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6385_ _) =>
- (match (string_drop _s6384_ _s6385_) with
- | _s6386_ =>
- (freg_name_matches_prefix _s6386_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6650_ _) =>
+ (match (string_drop _s6649_ _s6650_) with
+ | _s6651_ =>
+ (freg_name_matches_prefix _s6651_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6387_ _) =>
- (match (string_drop _s6386_ _s6387_) with
- | _s6388_ =>
- (sep_matches_prefix _s6388_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6652_ _) =>
+ (match (string_drop _s6651_ _s6652_) with
+ | _s6653_ =>
+ (sep_matches_prefix _s6653_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6389_ _) =>
- (match (string_drop _s6388_ _s6389_) with
- | _s6390_ =>
- (freg_name_matches_prefix _s6390_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6654_ _) =>
+ (match (string_drop _s6653_ _s6654_) with
+ | _s6655_ =>
+ (freg_name_matches_prefix _s6655_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6391_ _) =>
- (match (string_drop _s6390_ _s6391_) with
- | _s6392_ =>
- (sep_matches_prefix _s6392_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6656_ _) =>
+ (match (string_drop _s6655_ _s6656_) with
+ | _s6657_ =>
+ (sep_matches_prefix _s6657_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6393_ _) =>
- (match (string_drop _s6392_ _s6393_) with
- | _s6394_ =>
- (frm_mnemonic_matches_prefix _s6394_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6658_ _) =>
+ (match (string_drop _s6657_ _s6658_) with
+ | _s6659_ =>
+ (frm_mnemonic_matches_prefix _s6659_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6395_ _) =>
- match (string_drop _s6394_
- _s6395_) with
+ | Some (rm, existT _ _s6660_ _) =>
+ match (string_drop _s6659_
+ _s6660_) with
| s_ =>
Some
(FSQRT_D, rd, rs1, rm, s_)
@@ -56480,68 +57374,68 @@ Definition _s6380_ (_s6381_ : string)
end)
: M (option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6359_ (_s6360_ : string)
+Definition _s6624_ (_s6625_ : string)
: M (option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6360_ with
- | _s6361_ =>
- (f_bin_rm_type_mnemonic_D_matches_prefix _s6361_) >>= fun w__0 : option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=?
+ (match _s6625_ with
+ | _s6626_ =>
+ (f_bin_rm_type_mnemonic_D_matches_prefix _s6626_) >>= fun w__0 : option ((f_bin_rm_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s6362_ _) =>
- (match (string_drop _s6361_ _s6362_) with
- | _s6363_ =>
- (spc_matches_prefix _s6363_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s6627_ _) =>
+ (match (string_drop _s6626_ _s6627_) with
+ | _s6628_ =>
+ (spc_matches_prefix _s6628_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6364_ _) =>
- (match (string_drop _s6363_ _s6364_) with
- | _s6365_ =>
- (freg_name_matches_prefix _s6365_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6629_ _) =>
+ (match (string_drop _s6628_ _s6629_) with
+ | _s6630_ =>
+ (freg_name_matches_prefix _s6630_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6366_ _) =>
- (match (string_drop _s6365_ _s6366_) with
- | _s6367_ =>
- (sep_matches_prefix _s6367_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6631_ _) =>
+ (match (string_drop _s6630_ _s6631_) with
+ | _s6632_ =>
+ (sep_matches_prefix _s6632_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6368_ _) =>
- (match (string_drop _s6367_ _s6368_) with
- | _s6369_ =>
- (freg_name_matches_prefix _s6369_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6633_ _) =>
+ (match (string_drop _s6632_ _s6633_) with
+ | _s6634_ =>
+ (freg_name_matches_prefix _s6634_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6370_ _) =>
- (match (string_drop _s6369_ _s6370_) with
- | _s6371_ =>
- (sep_matches_prefix _s6371_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6635_ _) =>
+ (match (string_drop _s6634_ _s6635_) with
+ | _s6636_ =>
+ (sep_matches_prefix _s6636_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6372_ _) =>
- (match (string_drop _s6371_ _s6372_) with
- | _s6373_ =>
- (freg_name_matches_prefix _s6373_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6637_ _) =>
+ (match (string_drop _s6636_ _s6637_) with
+ | _s6638_ =>
+ (freg_name_matches_prefix _s6638_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s6374_ _) =>
- (match (string_drop _s6373_ _s6374_) with
- | _s6375_ =>
- (sep_matches_prefix _s6375_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s6639_ _) =>
+ (match (string_drop _s6638_ _s6639_) with
+ | _s6640_ =>
+ (sep_matches_prefix _s6640_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s6376_ _) =>
- (match (string_drop _s6375_
- _s6376_) with
- | _s6377_ =>
+ | Some (tt, existT _ _s6641_ _) =>
+ (match (string_drop _s6640_
+ _s6641_) with
+ | _s6642_ =>
(frm_mnemonic_matches_prefix
- _s6377_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s6642_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s6378_ _) =>
+ (rm, existT _ _s6643_ _) =>
match (string_drop
- _s6377_
- _s6378_) with
+ _s6642_
+ _s6643_) with
| s_ =>
Some
(op, rd, rs1, rs2, rm, s_)
@@ -56591,87 +57485,87 @@ Definition _s6359_ (_s6360_ : string)
end)
: M (option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6334_ (_s6335_ : string)
+Definition _s6599_ (_s6600_ : string)
: M (option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6335_ with
- | _s6336_ =>
- (f_madd_type_mnemonic_D_matches_prefix _s6336_) >>= fun w__0 : option ((f_madd_op_D * {n : Z & ArithFact (n >=?
+ (match _s6600_ with
+ | _s6601_ =>
+ (f_madd_type_mnemonic_D_matches_prefix _s6601_) >>= fun w__0 : option ((f_madd_op_D * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s6337_ _) =>
- (match (string_drop _s6336_ _s6337_) with
- | _s6338_ =>
- (spc_matches_prefix _s6338_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s6602_ _) =>
+ (match (string_drop _s6601_ _s6602_) with
+ | _s6603_ =>
+ (spc_matches_prefix _s6603_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6339_ _) =>
- (match (string_drop _s6338_ _s6339_) with
- | _s6340_ =>
- (freg_name_matches_prefix _s6340_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6604_ _) =>
+ (match (string_drop _s6603_ _s6604_) with
+ | _s6605_ =>
+ (freg_name_matches_prefix _s6605_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6341_ _) =>
- (match (string_drop _s6340_ _s6341_) with
- | _s6342_ =>
- (sep_matches_prefix _s6342_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6606_ _) =>
+ (match (string_drop _s6605_ _s6606_) with
+ | _s6607_ =>
+ (sep_matches_prefix _s6607_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6343_ _) =>
- (match (string_drop _s6342_ _s6343_) with
- | _s6344_ =>
- (freg_name_matches_prefix _s6344_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6608_ _) =>
+ (match (string_drop _s6607_ _s6608_) with
+ | _s6609_ =>
+ (freg_name_matches_prefix _s6609_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6345_ _) =>
- (match (string_drop _s6344_ _s6345_) with
- | _s6346_ =>
- (sep_matches_prefix _s6346_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6610_ _) =>
+ (match (string_drop _s6609_ _s6610_) with
+ | _s6611_ =>
+ (sep_matches_prefix _s6611_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6347_ _) =>
- (match (string_drop _s6346_ _s6347_) with
- | _s6348_ =>
- (freg_name_matches_prefix _s6348_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6612_ _) =>
+ (match (string_drop _s6611_ _s6612_) with
+ | _s6613_ =>
+ (freg_name_matches_prefix _s6613_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s6349_ _) =>
- (match (string_drop _s6348_ _s6349_) with
- | _s6350_ =>
- (sep_matches_prefix _s6350_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s6614_ _) =>
+ (match (string_drop _s6613_ _s6614_) with
+ | _s6615_ =>
+ (sep_matches_prefix _s6615_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s6351_ _) =>
- (match (string_drop _s6350_
- _s6351_) with
- | _s6352_ =>
+ | Some (tt, existT _ _s6616_ _) =>
+ (match (string_drop _s6615_
+ _s6616_) with
+ | _s6617_ =>
(freg_name_matches_prefix
- _s6352_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s6617_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s6353_ _) =>
+ (rs3, existT _ _s6618_ _) =>
(match (string_drop
- _s6352_ _s6353_) with
- | _s6354_ =>
+ _s6617_ _s6618_) with
+ | _s6619_ =>
(sep_matches_prefix
- _s6354_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s6619_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s6355_ _) =>
+ (tt, existT _ _s6620_ _) =>
(match (string_drop
- _s6354_
- _s6355_) with
- | _s6356_ =>
+ _s6619_
+ _s6620_) with
+ | _s6621_ =>
(frm_mnemonic_matches_prefix
- _s6356_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s6621_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s6357_ _) =>
+ (rm, existT _ _s6622_ _) =>
match (string_drop
- _s6356_
- _s6357_) with
+ _s6621_
+ _s6622_) with
| s_ =>
Some
(op, rd, rs1, rs2, rs3, rm, s_)
@@ -56732,50 +57626,50 @@ Definition _s6334_ (_s6335_ : string)
end)
: M (option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6318_ (_s6319_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s6320_ := _s6319_ in
- (if string_startswith _s6320_ "c.fsw" then
- (match (string_drop _s6320_ (projT1 (string_length "c.fsw"))) with
- | _s6321_ =>
- (spc_matches_prefix _s6321_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s6583_ (_s6584_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s6585_ := _s6584_ in
+ (if string_startswith _s6585_ "c.fsw" then
+ (match (string_drop _s6585_ (projT1 (string_length "c.fsw"))) with
+ | _s6586_ =>
+ (spc_matches_prefix _s6586_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6322_ _) =>
- (match (string_drop _s6321_ _s6322_) with
- | _s6323_ =>
- (creg_name_matches_prefix _s6323_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6587_ _) =>
+ (match (string_drop _s6586_ _s6587_) with
+ | _s6588_ =>
+ (creg_name_matches_prefix _s6588_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s6324_ _) =>
- (match (string_drop _s6323_ _s6324_) with
- | _s6325_ =>
- (sep_matches_prefix _s6325_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s6589_ _) =>
+ (match (string_drop _s6588_ _s6589_) with
+ | _s6590_ =>
+ (sep_matches_prefix _s6590_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s6326_ _) =>
- (match (string_drop _s6325_ _s6326_) with
- | _s6327_ =>
- (creg_name_matches_prefix _s6327_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6591_ _) =>
+ (match (string_drop _s6590_ _s6591_) with
+ | _s6592_ =>
+ (creg_name_matches_prefix _s6592_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s6328_ _) =>
- (match (string_drop _s6327_ _s6328_) with
- | _s6329_ =>
- (sep_matches_prefix _s6329_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s6593_ _) =>
+ (match (string_drop _s6592_ _s6593_) with
+ | _s6594_ =>
+ (sep_matches_prefix _s6594_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s6330_ _) =>
- match (string_drop _s6329_ _s6330_) with
- | _s6331_ =>
- match (hex_bits_7_matches_prefix _s6331_) with
- | Some (v__1382, existT _ _s6332_ _) =>
- if eq_vec (subrange_vec_dec v__1382 1 0)
+ | Some (tt, existT _ _s6595_ _) =>
+ match (string_drop _s6594_ _s6595_) with
+ | _s6596_ =>
+ match (hex_bits_7_matches_prefix _s6596_) with
+ | Some (v__1486, existT _ _s6597_ _) =>
+ if eq_vec (subrange_vec_dec v__1486 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1382 6 2 in
+ subrange_vec_dec v__1486 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1382 6 2 in
- match (string_drop _s6331_ _s6332_) with
+ subrange_vec_dec v__1486 6 2 in
+ match (string_drop _s6596_ _s6597_) with
| s_ => Some (rsc1, rsc2, uimm, s_)
end
else None
@@ -56809,50 +57703,50 @@ Definition _s6318_ (_s6319_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s6302_ (_s6303_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s6304_ := _s6303_ in
- (if string_startswith _s6304_ "c.flw" then
- (match (string_drop _s6304_ (projT1 (string_length "c.flw"))) with
- | _s6305_ =>
- (spc_matches_prefix _s6305_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s6567_ (_s6568_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s6569_ := _s6568_ in
+ (if string_startswith _s6569_ "c.flw" then
+ (match (string_drop _s6569_ (projT1 (string_length "c.flw"))) with
+ | _s6570_ =>
+ (spc_matches_prefix _s6570_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6306_ _) =>
- (match (string_drop _s6305_ _s6306_) with
- | _s6307_ =>
- (creg_name_matches_prefix _s6307_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6571_ _) =>
+ (match (string_drop _s6570_ _s6571_) with
+ | _s6572_ =>
+ (creg_name_matches_prefix _s6572_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s6308_ _) =>
- (match (string_drop _s6307_ _s6308_) with
- | _s6309_ =>
- (sep_matches_prefix _s6309_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s6573_ _) =>
+ (match (string_drop _s6572_ _s6573_) with
+ | _s6574_ =>
+ (sep_matches_prefix _s6574_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s6310_ _) =>
- (match (string_drop _s6309_ _s6310_) with
- | _s6311_ =>
- (creg_name_matches_prefix _s6311_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6575_ _) =>
+ (match (string_drop _s6574_ _s6575_) with
+ | _s6576_ =>
+ (creg_name_matches_prefix _s6576_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s6312_ _) =>
- (match (string_drop _s6311_ _s6312_) with
- | _s6313_ =>
- (sep_matches_prefix _s6313_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s6577_ _) =>
+ (match (string_drop _s6576_ _s6577_) with
+ | _s6578_ =>
+ (sep_matches_prefix _s6578_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s6314_ _) =>
- match (string_drop _s6313_ _s6314_) with
- | _s6315_ =>
- match (hex_bits_7_matches_prefix _s6315_) with
- | Some (v__1384, existT _ _s6316_ _) =>
- if eq_vec (subrange_vec_dec v__1384 1 0)
+ | Some (tt, existT _ _s6579_ _) =>
+ match (string_drop _s6578_ _s6579_) with
+ | _s6580_ =>
+ match (hex_bits_7_matches_prefix _s6580_) with
+ | Some (v__1488, existT _ _s6581_ _) =>
+ if eq_vec (subrange_vec_dec v__1488 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1384 6 2 in
+ subrange_vec_dec v__1488 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1384 6 2 in
- match (string_drop _s6315_ _s6316_) with
+ subrange_vec_dec v__1488 6 2 in
+ match (string_drop _s6580_ _s6581_) with
| s_ => Some (rdc, rsc, uimm, s_)
end
else None
@@ -56886,31 +57780,31 @@ Definition _s6302_ (_s6303_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s6290_ (_s6291_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s6292_ := _s6291_ in
- (if string_startswith _s6292_ "c.fswsp" then
- (match (string_drop _s6292_ (projT1 (string_length "c.fswsp"))) with
- | _s6293_ =>
- (spc_matches_prefix _s6293_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s6555_ (_s6556_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s6557_ := _s6556_ in
+ (if string_startswith _s6557_ "c.fswsp" then
+ (match (string_drop _s6557_ (projT1 (string_length "c.fswsp"))) with
+ | _s6558_ =>
+ (spc_matches_prefix _s6558_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6294_ _) =>
- (match (string_drop _s6293_ _s6294_) with
- | _s6295_ =>
- (reg_name_matches_prefix _s6295_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6559_ _) =>
+ (match (string_drop _s6558_ _s6559_) with
+ | _s6560_ =>
+ (reg_name_matches_prefix _s6560_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s6296_ _) =>
- (match (string_drop _s6295_ _s6296_) with
- | _s6297_ =>
- (sep_matches_prefix _s6297_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6561_ _) =>
+ (match (string_drop _s6560_ _s6561_) with
+ | _s6562_ =>
+ (sep_matches_prefix _s6562_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s6298_ _) =>
- match (string_drop _s6297_ _s6298_) with
- | _s6299_ =>
- match (hex_bits_6_matches_prefix _s6299_) with
- | Some (uimm, existT _ _s6300_ _) =>
- match (string_drop _s6299_ _s6300_) with
+ | Some (tt, existT _ _s6563_ _) =>
+ match (string_drop _s6562_ _s6563_) with
+ | _s6564_ =>
+ match (hex_bits_6_matches_prefix _s6564_) with
+ | Some (uimm, existT _ _s6565_ _) =>
+ match (string_drop _s6564_ _s6565_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -56933,31 +57827,31 @@ Definition _s6290_ (_s6291_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s6278_ (_s6279_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s6280_ := _s6279_ in
- (if string_startswith _s6280_ "c.flwsp" then
- (match (string_drop _s6280_ (projT1 (string_length "c.flwsp"))) with
- | _s6281_ =>
- (spc_matches_prefix _s6281_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s6543_ (_s6544_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s6545_ := _s6544_ in
+ (if string_startswith _s6545_ "c.flwsp" then
+ (match (string_drop _s6545_ (projT1 (string_length "c.flwsp"))) with
+ | _s6546_ =>
+ (spc_matches_prefix _s6546_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s6282_ _) =>
- (match (string_drop _s6281_ _s6282_) with
- | _s6283_ =>
- (reg_name_matches_prefix _s6283_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6547_ _) =>
+ (match (string_drop _s6546_ _s6547_) with
+ | _s6548_ =>
+ (reg_name_matches_prefix _s6548_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s6284_ _) =>
- (match (string_drop _s6283_ _s6284_) with
- | _s6285_ =>
- (sep_matches_prefix _s6285_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6549_ _) =>
+ (match (string_drop _s6548_ _s6549_) with
+ | _s6550_ =>
+ (sep_matches_prefix _s6550_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s6286_ _) =>
- match (string_drop _s6285_ _s6286_) with
- | _s6287_ =>
- match (hex_bits_6_matches_prefix _s6287_) with
- | Some (imm, existT _ _s6288_ _) =>
- match (string_drop _s6287_ _s6288_) with
+ | Some (tt, existT _ _s6551_ _) =>
+ match (string_drop _s6550_ _s6551_) with
+ | _s6552_ =>
+ match (hex_bits_6_matches_prefix _s6552_) with
+ | Some (imm, existT _ _s6553_ _) =>
+ match (string_drop _s6552_ _s6553_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -56980,38 +57874,38 @@ Definition _s6278_ (_s6279_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s6265_ (_s6266_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
- (match _s6266_ with
- | _s6267_ =>
- (f_un_type_mnemonic_S_matches_prefix _s6267_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s6530_ (_s6531_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
+ (match _s6531_ with
+ | _s6532_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s6532_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCLASS_S, existT _ _s6268_ _) =>
- (match (string_drop _s6267_ _s6268_) with
- | _s6269_ =>
- (spc_matches_prefix _s6269_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCLASS_S, existT _ _s6533_ _) =>
+ (match (string_drop _s6532_ _s6533_) with
+ | _s6534_ =>
+ (spc_matches_prefix _s6534_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6270_ _) =>
- (match (string_drop _s6269_ _s6270_) with
- | _s6271_ =>
- (reg_name_matches_prefix _s6271_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6535_ _) =>
+ (match (string_drop _s6534_ _s6535_) with
+ | _s6536_ =>
+ (reg_name_matches_prefix _s6536_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6272_ _) =>
- (match (string_drop _s6271_ _s6272_) with
- | _s6273_ =>
- (sep_matches_prefix _s6273_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6537_ _) =>
+ (match (string_drop _s6536_ _s6537_) with
+ | _s6538_ =>
+ (sep_matches_prefix _s6538_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6274_ _) =>
- (match (string_drop _s6273_ _s6274_) with
- | _s6275_ =>
- (freg_name_matches_prefix _s6275_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6539_ _) =>
+ (match (string_drop _s6538_ _s6539_) with
+ | _s6540_ =>
+ (freg_name_matches_prefix _s6540_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s6276_ _) =>
- match (string_drop _s6275_ _s6276_) with
+ | Some (rs1, existT _ _s6541_ _) =>
+ match (string_drop _s6540_ _s6541_) with
| s_ => Some (FCLASS_S, rd, rs1, s_)
end
| _ => None
@@ -57039,38 +57933,38 @@ Definition _s6265_ (_s6266_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5 * string))).
-Definition _s6252_ (_s6253_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
- (match _s6253_ with
- | _s6254_ =>
- (f_un_type_mnemonic_S_matches_prefix _s6254_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s6517_ (_s6518_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
+ (match _s6518_ with
+ | _s6519_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s6519_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_W_X, existT _ _s6255_ _) =>
- (match (string_drop _s6254_ _s6255_) with
- | _s6256_ =>
- (spc_matches_prefix _s6256_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_W_X, existT _ _s6520_ _) =>
+ (match (string_drop _s6519_ _s6520_) with
+ | _s6521_ =>
+ (spc_matches_prefix _s6521_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6257_ _) =>
- (match (string_drop _s6256_ _s6257_) with
- | _s6258_ =>
- (freg_name_matches_prefix _s6258_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6522_ _) =>
+ (match (string_drop _s6521_ _s6522_) with
+ | _s6523_ =>
+ (freg_name_matches_prefix _s6523_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6259_ _) =>
- (match (string_drop _s6258_ _s6259_) with
- | _s6260_ =>
- (sep_matches_prefix _s6260_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6524_ _) =>
+ (match (string_drop _s6523_ _s6524_) with
+ | _s6525_ =>
+ (sep_matches_prefix _s6525_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6261_ _) =>
- (match (string_drop _s6260_ _s6261_) with
- | _s6262_ =>
- (reg_name_matches_prefix _s6262_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6526_ _) =>
+ (match (string_drop _s6525_ _s6526_) with
+ | _s6527_ =>
+ (reg_name_matches_prefix _s6527_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s6263_ _) =>
- match (string_drop _s6262_ _s6263_) with
+ | Some (rs1, existT _ _s6528_ _) =>
+ match (string_drop _s6527_ _s6528_) with
| s_ => Some (FMV_W_X, rd, rs1, s_)
end
| _ => None
@@ -57098,38 +57992,38 @@ Definition _s6252_ (_s6253_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5 * string))).
-Definition _s6239_ (_s6240_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
- (match _s6240_ with
- | _s6241_ =>
- (f_un_type_mnemonic_S_matches_prefix _s6241_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
+Definition _s6504_ (_s6505_ : string) : M (option ((f_un_op_S * mword 5 * mword 5 * string))) :=
+ (match _s6505_ with
+ | _s6506_ =>
+ (f_un_type_mnemonic_S_matches_prefix _s6506_) >>= fun w__0 : option ((f_un_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMV_X_W, existT _ _s6242_ _) =>
- (match (string_drop _s6241_ _s6242_) with
- | _s6243_ =>
- (spc_matches_prefix _s6243_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMV_X_W, existT _ _s6507_ _) =>
+ (match (string_drop _s6506_ _s6507_) with
+ | _s6508_ =>
+ (spc_matches_prefix _s6508_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6244_ _) =>
- (match (string_drop _s6243_ _s6244_) with
- | _s6245_ =>
- (reg_name_matches_prefix _s6245_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6509_ _) =>
+ (match (string_drop _s6508_ _s6509_) with
+ | _s6510_ =>
+ (reg_name_matches_prefix _s6510_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6246_ _) =>
- (match (string_drop _s6245_ _s6246_) with
- | _s6247_ =>
- (sep_matches_prefix _s6247_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6511_ _) =>
+ (match (string_drop _s6510_ _s6511_) with
+ | _s6512_ =>
+ (sep_matches_prefix _s6512_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6248_ _) =>
- (match (string_drop _s6247_ _s6248_) with
- | _s6249_ =>
- (freg_name_matches_prefix _s6249_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6513_ _) =>
+ (match (string_drop _s6512_ _s6513_) with
+ | _s6514_ =>
+ (freg_name_matches_prefix _s6514_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (rs1, existT _ _s6250_ _) =>
- match (string_drop _s6249_ _s6250_) with
+ | Some (rs1, existT _ _s6515_ _) =>
+ match (string_drop _s6514_ _s6515_) with
| s_ => Some (FMV_X_W, rd, rs1, s_)
end
| _ => None
@@ -57157,52 +58051,52 @@ Definition _s6239_ (_s6240_ : string) : M (option ((f_un_op_S * mword 5 * mword
end)
: M (option ((f_un_op_S * mword 5 * mword 5 * string))).
-Definition _s6222_ (_s6223_ : string)
+Definition _s6487_ (_s6488_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6223_ with
- | _s6224_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6224_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6488_ with
+ | _s6489_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6489_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLE_S, existT _ _s6225_ _) =>
- (match (string_drop _s6224_ _s6225_) with
- | _s6226_ =>
- (spc_matches_prefix _s6226_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLE_S, existT _ _s6490_ _) =>
+ (match (string_drop _s6489_ _s6490_) with
+ | _s6491_ =>
+ (spc_matches_prefix _s6491_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6227_ _) =>
- (match (string_drop _s6226_ _s6227_) with
- | _s6228_ =>
- (reg_name_matches_prefix _s6228_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6492_ _) =>
+ (match (string_drop _s6491_ _s6492_) with
+ | _s6493_ =>
+ (reg_name_matches_prefix _s6493_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6229_ _) =>
- (match (string_drop _s6228_ _s6229_) with
- | _s6230_ =>
- (sep_matches_prefix _s6230_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6494_ _) =>
+ (match (string_drop _s6493_ _s6494_) with
+ | _s6495_ =>
+ (sep_matches_prefix _s6495_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6231_ _) =>
- (match (string_drop _s6230_ _s6231_) with
- | _s6232_ =>
- (freg_name_matches_prefix _s6232_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6496_ _) =>
+ (match (string_drop _s6495_ _s6496_) with
+ | _s6497_ =>
+ (freg_name_matches_prefix _s6497_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6233_ _) =>
- (match (string_drop _s6232_ _s6233_) with
- | _s6234_ =>
- (sep_matches_prefix _s6234_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6498_ _) =>
+ (match (string_drop _s6497_ _s6498_) with
+ | _s6499_ =>
+ (sep_matches_prefix _s6499_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6235_ _) =>
- (match (string_drop _s6234_ _s6235_) with
- | _s6236_ =>
- (freg_name_matches_prefix _s6236_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6500_ _) =>
+ (match (string_drop _s6499_ _s6500_) with
+ | _s6501_ =>
+ (freg_name_matches_prefix _s6501_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6237_ _) =>
- match (string_drop _s6236_
- _s6237_) with
+ | Some (rs2, existT _ _s6502_ _) =>
+ match (string_drop _s6501_
+ _s6502_) with
| s_ =>
Some (FLE_S, rd, rs1, rs2, s_)
end
@@ -57241,52 +58135,52 @@ Definition _s6222_ (_s6223_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6205_ (_s6206_ : string)
+Definition _s6470_ (_s6471_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6206_ with
- | _s6207_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6207_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6471_ with
+ | _s6472_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6472_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FLT_S, existT _ _s6208_ _) =>
- (match (string_drop _s6207_ _s6208_) with
- | _s6209_ =>
- (spc_matches_prefix _s6209_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FLT_S, existT _ _s6473_ _) =>
+ (match (string_drop _s6472_ _s6473_) with
+ | _s6474_ =>
+ (spc_matches_prefix _s6474_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6210_ _) =>
- (match (string_drop _s6209_ _s6210_) with
- | _s6211_ =>
- (reg_name_matches_prefix _s6211_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6475_ _) =>
+ (match (string_drop _s6474_ _s6475_) with
+ | _s6476_ =>
+ (reg_name_matches_prefix _s6476_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6212_ _) =>
- (match (string_drop _s6211_ _s6212_) with
- | _s6213_ =>
- (sep_matches_prefix _s6213_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6477_ _) =>
+ (match (string_drop _s6476_ _s6477_) with
+ | _s6478_ =>
+ (sep_matches_prefix _s6478_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6214_ _) =>
- (match (string_drop _s6213_ _s6214_) with
- | _s6215_ =>
- (freg_name_matches_prefix _s6215_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6479_ _) =>
+ (match (string_drop _s6478_ _s6479_) with
+ | _s6480_ =>
+ (freg_name_matches_prefix _s6480_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6216_ _) =>
- (match (string_drop _s6215_ _s6216_) with
- | _s6217_ =>
- (sep_matches_prefix _s6217_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6481_ _) =>
+ (match (string_drop _s6480_ _s6481_) with
+ | _s6482_ =>
+ (sep_matches_prefix _s6482_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6218_ _) =>
- (match (string_drop _s6217_ _s6218_) with
- | _s6219_ =>
- (freg_name_matches_prefix _s6219_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6483_ _) =>
+ (match (string_drop _s6482_ _s6483_) with
+ | _s6484_ =>
+ (freg_name_matches_prefix _s6484_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6220_ _) =>
- match (string_drop _s6219_
- _s6220_) with
+ | Some (rs2, existT _ _s6485_ _) =>
+ match (string_drop _s6484_
+ _s6485_) with
| s_ =>
Some (FLT_S, rd, rs1, rs2, s_)
end
@@ -57325,52 +58219,52 @@ Definition _s6205_ (_s6206_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6188_ (_s6189_ : string)
+Definition _s6453_ (_s6454_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6189_ with
- | _s6190_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6190_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6454_ with
+ | _s6455_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6455_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FEQ_S, existT _ _s6191_ _) =>
- (match (string_drop _s6190_ _s6191_) with
- | _s6192_ =>
- (spc_matches_prefix _s6192_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FEQ_S, existT _ _s6456_ _) =>
+ (match (string_drop _s6455_ _s6456_) with
+ | _s6457_ =>
+ (spc_matches_prefix _s6457_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6193_ _) =>
- (match (string_drop _s6192_ _s6193_) with
- | _s6194_ =>
- (reg_name_matches_prefix _s6194_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6458_ _) =>
+ (match (string_drop _s6457_ _s6458_) with
+ | _s6459_ =>
+ (reg_name_matches_prefix _s6459_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6195_ _) =>
- (match (string_drop _s6194_ _s6195_) with
- | _s6196_ =>
- (sep_matches_prefix _s6196_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6460_ _) =>
+ (match (string_drop _s6459_ _s6460_) with
+ | _s6461_ =>
+ (sep_matches_prefix _s6461_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6197_ _) =>
- (match (string_drop _s6196_ _s6197_) with
- | _s6198_ =>
- (freg_name_matches_prefix _s6198_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6462_ _) =>
+ (match (string_drop _s6461_ _s6462_) with
+ | _s6463_ =>
+ (freg_name_matches_prefix _s6463_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6199_ _) =>
- (match (string_drop _s6198_ _s6199_) with
- | _s6200_ =>
- (sep_matches_prefix _s6200_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6464_ _) =>
+ (match (string_drop _s6463_ _s6464_) with
+ | _s6465_ =>
+ (sep_matches_prefix _s6465_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6201_ _) =>
- (match (string_drop _s6200_ _s6201_) with
- | _s6202_ =>
- (freg_name_matches_prefix _s6202_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6466_ _) =>
+ (match (string_drop _s6465_ _s6466_) with
+ | _s6467_ =>
+ (freg_name_matches_prefix _s6467_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6203_ _) =>
- match (string_drop _s6202_
- _s6203_) with
+ | Some (rs2, existT _ _s6468_ _) =>
+ match (string_drop _s6467_
+ _s6468_) with
| s_ =>
Some (FEQ_S, rd, rs1, rs2, s_)
end
@@ -57409,52 +58303,52 @@ Definition _s6188_ (_s6189_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6171_ (_s6172_ : string)
+Definition _s6436_ (_s6437_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6172_ with
- | _s6173_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6173_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6437_ with
+ | _s6438_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6438_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMAX_S, existT _ _s6174_ _) =>
- (match (string_drop _s6173_ _s6174_) with
- | _s6175_ =>
- (spc_matches_prefix _s6175_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMAX_S, existT _ _s6439_ _) =>
+ (match (string_drop _s6438_ _s6439_) with
+ | _s6440_ =>
+ (spc_matches_prefix _s6440_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6176_ _) =>
- (match (string_drop _s6175_ _s6176_) with
- | _s6177_ =>
- (freg_name_matches_prefix _s6177_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6441_ _) =>
+ (match (string_drop _s6440_ _s6441_) with
+ | _s6442_ =>
+ (freg_name_matches_prefix _s6442_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6178_ _) =>
- (match (string_drop _s6177_ _s6178_) with
- | _s6179_ =>
- (sep_matches_prefix _s6179_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6443_ _) =>
+ (match (string_drop _s6442_ _s6443_) with
+ | _s6444_ =>
+ (sep_matches_prefix _s6444_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6180_ _) =>
- (match (string_drop _s6179_ _s6180_) with
- | _s6181_ =>
- (freg_name_matches_prefix _s6181_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6445_ _) =>
+ (match (string_drop _s6444_ _s6445_) with
+ | _s6446_ =>
+ (freg_name_matches_prefix _s6446_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6182_ _) =>
- (match (string_drop _s6181_ _s6182_) with
- | _s6183_ =>
- (sep_matches_prefix _s6183_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6447_ _) =>
+ (match (string_drop _s6446_ _s6447_) with
+ | _s6448_ =>
+ (sep_matches_prefix _s6448_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6184_ _) =>
- (match (string_drop _s6183_ _s6184_) with
- | _s6185_ =>
- (freg_name_matches_prefix _s6185_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6449_ _) =>
+ (match (string_drop _s6448_ _s6449_) with
+ | _s6450_ =>
+ (freg_name_matches_prefix _s6450_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6186_ _) =>
- match (string_drop _s6185_
- _s6186_) with
+ | Some (rs2, existT _ _s6451_ _) =>
+ match (string_drop _s6450_
+ _s6451_) with
| s_ =>
Some
(FMAX_S, rd, rs1, rs2, s_)
@@ -57494,52 +58388,52 @@ Definition _s6171_ (_s6172_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6154_ (_s6155_ : string)
+Definition _s6419_ (_s6420_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6155_ with
- | _s6156_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6156_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6420_ with
+ | _s6421_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6421_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FMIN_S, existT _ _s6157_ _) =>
- (match (string_drop _s6156_ _s6157_) with
- | _s6158_ =>
- (spc_matches_prefix _s6158_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FMIN_S, existT _ _s6422_ _) =>
+ (match (string_drop _s6421_ _s6422_) with
+ | _s6423_ =>
+ (spc_matches_prefix _s6423_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6159_ _) =>
- (match (string_drop _s6158_ _s6159_) with
- | _s6160_ =>
- (freg_name_matches_prefix _s6160_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6424_ _) =>
+ (match (string_drop _s6423_ _s6424_) with
+ | _s6425_ =>
+ (freg_name_matches_prefix _s6425_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6161_ _) =>
- (match (string_drop _s6160_ _s6161_) with
- | _s6162_ =>
- (sep_matches_prefix _s6162_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6426_ _) =>
+ (match (string_drop _s6425_ _s6426_) with
+ | _s6427_ =>
+ (sep_matches_prefix _s6427_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6163_ _) =>
- (match (string_drop _s6162_ _s6163_) with
- | _s6164_ =>
- (freg_name_matches_prefix _s6164_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6428_ _) =>
+ (match (string_drop _s6427_ _s6428_) with
+ | _s6429_ =>
+ (freg_name_matches_prefix _s6429_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6165_ _) =>
- (match (string_drop _s6164_ _s6165_) with
- | _s6166_ =>
- (sep_matches_prefix _s6166_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6430_ _) =>
+ (match (string_drop _s6429_ _s6430_) with
+ | _s6431_ =>
+ (sep_matches_prefix _s6431_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6167_ _) =>
- (match (string_drop _s6166_ _s6167_) with
- | _s6168_ =>
- (freg_name_matches_prefix _s6168_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6432_ _) =>
+ (match (string_drop _s6431_ _s6432_) with
+ | _s6433_ =>
+ (freg_name_matches_prefix _s6433_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6169_ _) =>
- match (string_drop _s6168_
- _s6169_) with
+ | Some (rs2, existT _ _s6434_ _) =>
+ match (string_drop _s6433_
+ _s6434_) with
| s_ =>
Some
(FMIN_S, rd, rs1, rs2, s_)
@@ -57579,52 +58473,52 @@ Definition _s6154_ (_s6155_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6137_ (_s6138_ : string)
+Definition _s6402_ (_s6403_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6138_ with
- | _s6139_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6139_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6403_ with
+ | _s6404_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6404_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJX_S, existT _ _s6140_ _) =>
- (match (string_drop _s6139_ _s6140_) with
- | _s6141_ =>
- (spc_matches_prefix _s6141_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJX_S, existT _ _s6405_ _) =>
+ (match (string_drop _s6404_ _s6405_) with
+ | _s6406_ =>
+ (spc_matches_prefix _s6406_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6142_ _) =>
- (match (string_drop _s6141_ _s6142_) with
- | _s6143_ =>
- (freg_name_matches_prefix _s6143_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6407_ _) =>
+ (match (string_drop _s6406_ _s6407_) with
+ | _s6408_ =>
+ (freg_name_matches_prefix _s6408_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6144_ _) =>
- (match (string_drop _s6143_ _s6144_) with
- | _s6145_ =>
- (sep_matches_prefix _s6145_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6409_ _) =>
+ (match (string_drop _s6408_ _s6409_) with
+ | _s6410_ =>
+ (sep_matches_prefix _s6410_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6146_ _) =>
- (match (string_drop _s6145_ _s6146_) with
- | _s6147_ =>
- (freg_name_matches_prefix _s6147_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6411_ _) =>
+ (match (string_drop _s6410_ _s6411_) with
+ | _s6412_ =>
+ (freg_name_matches_prefix _s6412_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6148_ _) =>
- (match (string_drop _s6147_ _s6148_) with
- | _s6149_ =>
- (sep_matches_prefix _s6149_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6413_ _) =>
+ (match (string_drop _s6412_ _s6413_) with
+ | _s6414_ =>
+ (sep_matches_prefix _s6414_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6150_ _) =>
- (match (string_drop _s6149_ _s6150_) with
- | _s6151_ =>
- (freg_name_matches_prefix _s6151_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6415_ _) =>
+ (match (string_drop _s6414_ _s6415_) with
+ | _s6416_ =>
+ (freg_name_matches_prefix _s6416_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6152_ _) =>
- match (string_drop _s6151_
- _s6152_) with
+ | Some (rs2, existT _ _s6417_ _) =>
+ match (string_drop _s6416_
+ _s6417_) with
| s_ =>
Some
(FSGNJX_S, rd, rs1, rs2, s_)
@@ -57664,52 +58558,52 @@ Definition _s6137_ (_s6138_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6120_ (_s6121_ : string)
+Definition _s6385_ (_s6386_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6121_ with
- | _s6122_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6122_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6386_ with
+ | _s6387_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6387_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJN_S, existT _ _s6123_ _) =>
- (match (string_drop _s6122_ _s6123_) with
- | _s6124_ =>
- (spc_matches_prefix _s6124_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJN_S, existT _ _s6388_ _) =>
+ (match (string_drop _s6387_ _s6388_) with
+ | _s6389_ =>
+ (spc_matches_prefix _s6389_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6125_ _) =>
- (match (string_drop _s6124_ _s6125_) with
- | _s6126_ =>
- (freg_name_matches_prefix _s6126_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6390_ _) =>
+ (match (string_drop _s6389_ _s6390_) with
+ | _s6391_ =>
+ (freg_name_matches_prefix _s6391_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6127_ _) =>
- (match (string_drop _s6126_ _s6127_) with
- | _s6128_ =>
- (sep_matches_prefix _s6128_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6392_ _) =>
+ (match (string_drop _s6391_ _s6392_) with
+ | _s6393_ =>
+ (sep_matches_prefix _s6393_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6129_ _) =>
- (match (string_drop _s6128_ _s6129_) with
- | _s6130_ =>
- (freg_name_matches_prefix _s6130_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6394_ _) =>
+ (match (string_drop _s6393_ _s6394_) with
+ | _s6395_ =>
+ (freg_name_matches_prefix _s6395_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6131_ _) =>
- (match (string_drop _s6130_ _s6131_) with
- | _s6132_ =>
- (sep_matches_prefix _s6132_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6396_ _) =>
+ (match (string_drop _s6395_ _s6396_) with
+ | _s6397_ =>
+ (sep_matches_prefix _s6397_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6133_ _) =>
- (match (string_drop _s6132_ _s6133_) with
- | _s6134_ =>
- (freg_name_matches_prefix _s6134_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6398_ _) =>
+ (match (string_drop _s6397_ _s6398_) with
+ | _s6399_ =>
+ (freg_name_matches_prefix _s6399_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6135_ _) =>
- match (string_drop _s6134_
- _s6135_) with
+ | Some (rs2, existT _ _s6400_ _) =>
+ match (string_drop _s6399_
+ _s6400_) with
| s_ =>
Some
(FSGNJN_S, rd, rs1, rs2, s_)
@@ -57749,52 +58643,52 @@ Definition _s6120_ (_s6121_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6103_ (_s6104_ : string)
+Definition _s6368_ (_s6369_ : string)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s6104_ with
- | _s6105_ =>
- (f_bin_type_mnemonic_S_matches_prefix _s6105_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
+ (match _s6369_ with
+ | _s6370_ =>
+ (f_bin_type_mnemonic_S_matches_prefix _s6370_) >>= fun w__0 : option ((f_bin_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSGNJ_S, existT _ _s6106_ _) =>
- (match (string_drop _s6105_ _s6106_) with
- | _s6107_ =>
- (spc_matches_prefix _s6107_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSGNJ_S, existT _ _s6371_ _) =>
+ (match (string_drop _s6370_ _s6371_) with
+ | _s6372_ =>
+ (spc_matches_prefix _s6372_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6108_ _) =>
- (match (string_drop _s6107_ _s6108_) with
- | _s6109_ =>
- (freg_name_matches_prefix _s6109_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6373_ _) =>
+ (match (string_drop _s6372_ _s6373_) with
+ | _s6374_ =>
+ (freg_name_matches_prefix _s6374_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6110_ _) =>
- (match (string_drop _s6109_ _s6110_) with
- | _s6111_ =>
- (sep_matches_prefix _s6111_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6375_ _) =>
+ (match (string_drop _s6374_ _s6375_) with
+ | _s6376_ =>
+ (sep_matches_prefix _s6376_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6112_ _) =>
- (match (string_drop _s6111_ _s6112_) with
- | _s6113_ =>
- (freg_name_matches_prefix _s6113_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6377_ _) =>
+ (match (string_drop _s6376_ _s6377_) with
+ | _s6378_ =>
+ (freg_name_matches_prefix _s6378_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6114_ _) =>
- (match (string_drop _s6113_ _s6114_) with
- | _s6115_ =>
- (sep_matches_prefix _s6115_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6379_ _) =>
+ (match (string_drop _s6378_ _s6379_) with
+ | _s6380_ =>
+ (sep_matches_prefix _s6380_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6116_ _) =>
- (match (string_drop _s6115_ _s6116_) with
- | _s6117_ =>
- (freg_name_matches_prefix _s6117_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6381_ _) =>
+ (match (string_drop _s6380_ _s6381_) with
+ | _s6382_ =>
+ (freg_name_matches_prefix _s6382_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s6118_ _) =>
- match (string_drop _s6117_
- _s6118_) with
+ | Some (rs2, existT _ _s6383_ _) =>
+ match (string_drop _s6382_
+ _s6383_) with
| s_ =>
Some
(FSGNJ_S, rd, rs1, rs2, s_)
@@ -57834,52 +58728,52 @@ Definition _s6103_ (_s6104_ : string)
end)
: M (option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string))).
-Definition _s6086_ (_s6087_ : string)
+Definition _s6351_ (_s6352_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6087_ with
- | _s6088_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s6088_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6352_ with
+ | _s6353_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6353_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_LU, existT _ _s6089_ _) =>
- (match (string_drop _s6088_ _s6089_) with
- | _s6090_ =>
- (spc_matches_prefix _s6090_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_LU, existT _ _s6354_ _) =>
+ (match (string_drop _s6353_ _s6354_) with
+ | _s6355_ =>
+ (spc_matches_prefix _s6355_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6091_ _) =>
- (match (string_drop _s6090_ _s6091_) with
- | _s6092_ =>
- (freg_name_matches_prefix _s6092_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6356_ _) =>
+ (match (string_drop _s6355_ _s6356_) with
+ | _s6357_ =>
+ (freg_name_matches_prefix _s6357_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6093_ _) =>
- (match (string_drop _s6092_ _s6093_) with
- | _s6094_ =>
- (sep_matches_prefix _s6094_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6358_ _) =>
+ (match (string_drop _s6357_ _s6358_) with
+ | _s6359_ =>
+ (sep_matches_prefix _s6359_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6095_ _) =>
- (match (string_drop _s6094_ _s6095_) with
- | _s6096_ =>
- (reg_name_matches_prefix _s6096_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6360_ _) =>
+ (match (string_drop _s6359_ _s6360_) with
+ | _s6361_ =>
+ (reg_name_matches_prefix _s6361_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6097_ _) =>
- (match (string_drop _s6096_ _s6097_) with
- | _s6098_ =>
- (sep_matches_prefix _s6098_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6362_ _) =>
+ (match (string_drop _s6361_ _s6362_) with
+ | _s6363_ =>
+ (sep_matches_prefix _s6363_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6099_ _) =>
- (match (string_drop _s6098_ _s6099_) with
- | _s6100_ =>
- (frm_mnemonic_matches_prefix _s6100_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6364_ _) =>
+ (match (string_drop _s6363_ _s6364_) with
+ | _s6365_ =>
+ (frm_mnemonic_matches_prefix _s6365_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6101_ _) =>
- match (string_drop _s6100_
- _s6101_) with
+ | Some (rm, existT _ _s6366_ _) =>
+ match (string_drop _s6365_
+ _s6366_) with
| s_ =>
Some
(FCVT_S_LU, rd, rs1, rm, s_)
@@ -57919,52 +58813,52 @@ Definition _s6086_ (_s6087_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6069_ (_s6070_ : string)
+Definition _s6334_ (_s6335_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6070_ with
- | _s6071_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s6071_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6335_ with
+ | _s6336_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6336_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_L, existT _ _s6072_ _) =>
- (match (string_drop _s6071_ _s6072_) with
- | _s6073_ =>
- (spc_matches_prefix _s6073_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_L, existT _ _s6337_ _) =>
+ (match (string_drop _s6336_ _s6337_) with
+ | _s6338_ =>
+ (spc_matches_prefix _s6338_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6074_ _) =>
- (match (string_drop _s6073_ _s6074_) with
- | _s6075_ =>
- (freg_name_matches_prefix _s6075_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6339_ _) =>
+ (match (string_drop _s6338_ _s6339_) with
+ | _s6340_ =>
+ (freg_name_matches_prefix _s6340_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6076_ _) =>
- (match (string_drop _s6075_ _s6076_) with
- | _s6077_ =>
- (sep_matches_prefix _s6077_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6341_ _) =>
+ (match (string_drop _s6340_ _s6341_) with
+ | _s6342_ =>
+ (sep_matches_prefix _s6342_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6078_ _) =>
- (match (string_drop _s6077_ _s6078_) with
- | _s6079_ =>
- (reg_name_matches_prefix _s6079_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6343_ _) =>
+ (match (string_drop _s6342_ _s6343_) with
+ | _s6344_ =>
+ (reg_name_matches_prefix _s6344_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6080_ _) =>
- (match (string_drop _s6079_ _s6080_) with
- | _s6081_ =>
- (sep_matches_prefix _s6081_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6345_ _) =>
+ (match (string_drop _s6344_ _s6345_) with
+ | _s6346_ =>
+ (sep_matches_prefix _s6346_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6082_ _) =>
- (match (string_drop _s6081_ _s6082_) with
- | _s6083_ =>
- (frm_mnemonic_matches_prefix _s6083_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6347_ _) =>
+ (match (string_drop _s6346_ _s6347_) with
+ | _s6348_ =>
+ (frm_mnemonic_matches_prefix _s6348_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6084_ _) =>
- match (string_drop _s6083_
- _s6084_) with
+ | Some (rm, existT _ _s6349_ _) =>
+ match (string_drop _s6348_
+ _s6349_) with
| s_ =>
Some
(FCVT_S_L, rd, rs1, rm, s_)
@@ -58004,52 +58898,52 @@ Definition _s6069_ (_s6070_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6052_ (_s6053_ : string)
+Definition _s6317_ (_s6318_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6053_ with
- | _s6054_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s6054_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6318_ with
+ | _s6319_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6319_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_LU_S, existT _ _s6055_ _) =>
- (match (string_drop _s6054_ _s6055_) with
- | _s6056_ =>
- (spc_matches_prefix _s6056_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_LU_S, existT _ _s6320_ _) =>
+ (match (string_drop _s6319_ _s6320_) with
+ | _s6321_ =>
+ (spc_matches_prefix _s6321_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6057_ _) =>
- (match (string_drop _s6056_ _s6057_) with
- | _s6058_ =>
- (reg_name_matches_prefix _s6058_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6322_ _) =>
+ (match (string_drop _s6321_ _s6322_) with
+ | _s6323_ =>
+ (reg_name_matches_prefix _s6323_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6059_ _) =>
- (match (string_drop _s6058_ _s6059_) with
- | _s6060_ =>
- (sep_matches_prefix _s6060_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6324_ _) =>
+ (match (string_drop _s6323_ _s6324_) with
+ | _s6325_ =>
+ (sep_matches_prefix _s6325_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6061_ _) =>
- (match (string_drop _s6060_ _s6061_) with
- | _s6062_ =>
- (freg_name_matches_prefix _s6062_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6326_ _) =>
+ (match (string_drop _s6325_ _s6326_) with
+ | _s6327_ =>
+ (freg_name_matches_prefix _s6327_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6063_ _) =>
- (match (string_drop _s6062_ _s6063_) with
- | _s6064_ =>
- (sep_matches_prefix _s6064_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6328_ _) =>
+ (match (string_drop _s6327_ _s6328_) with
+ | _s6329_ =>
+ (sep_matches_prefix _s6329_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6065_ _) =>
- (match (string_drop _s6064_ _s6065_) with
- | _s6066_ =>
- (frm_mnemonic_matches_prefix _s6066_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6330_ _) =>
+ (match (string_drop _s6329_ _s6330_) with
+ | _s6331_ =>
+ (frm_mnemonic_matches_prefix _s6331_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6067_ _) =>
- match (string_drop _s6066_
- _s6067_) with
+ | Some (rm, existT _ _s6332_ _) =>
+ match (string_drop _s6331_
+ _s6332_) with
| s_ =>
Some
(FCVT_LU_S, rd, rs1, rm, s_)
@@ -58089,52 +58983,52 @@ Definition _s6052_ (_s6053_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6035_ (_s6036_ : string)
+Definition _s6300_ (_s6301_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6036_ with
- | _s6037_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s6037_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6301_ with
+ | _s6302_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6302_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_L_S, existT _ _s6038_ _) =>
- (match (string_drop _s6037_ _s6038_) with
- | _s6039_ =>
- (spc_matches_prefix _s6039_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_L_S, existT _ _s6303_ _) =>
+ (match (string_drop _s6302_ _s6303_) with
+ | _s6304_ =>
+ (spc_matches_prefix _s6304_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6040_ _) =>
- (match (string_drop _s6039_ _s6040_) with
- | _s6041_ =>
- (reg_name_matches_prefix _s6041_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6305_ _) =>
+ (match (string_drop _s6304_ _s6305_) with
+ | _s6306_ =>
+ (reg_name_matches_prefix _s6306_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6042_ _) =>
- (match (string_drop _s6041_ _s6042_) with
- | _s6043_ =>
- (sep_matches_prefix _s6043_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6307_ _) =>
+ (match (string_drop _s6306_ _s6307_) with
+ | _s6308_ =>
+ (sep_matches_prefix _s6308_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6044_ _) =>
- (match (string_drop _s6043_ _s6044_) with
- | _s6045_ =>
- (freg_name_matches_prefix _s6045_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6309_ _) =>
+ (match (string_drop _s6308_ _s6309_) with
+ | _s6310_ =>
+ (freg_name_matches_prefix _s6310_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6046_ _) =>
- (match (string_drop _s6045_ _s6046_) with
- | _s6047_ =>
- (sep_matches_prefix _s6047_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6311_ _) =>
+ (match (string_drop _s6310_ _s6311_) with
+ | _s6312_ =>
+ (sep_matches_prefix _s6312_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6048_ _) =>
- (match (string_drop _s6047_ _s6048_) with
- | _s6049_ =>
- (frm_mnemonic_matches_prefix _s6049_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6313_ _) =>
+ (match (string_drop _s6312_ _s6313_) with
+ | _s6314_ =>
+ (frm_mnemonic_matches_prefix _s6314_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6050_ _) =>
- match (string_drop _s6049_
- _s6050_) with
+ | Some (rm, existT _ _s6315_ _) =>
+ match (string_drop _s6314_
+ _s6315_) with
| s_ =>
Some
(FCVT_L_S, rd, rs1, rm, s_)
@@ -58174,52 +59068,52 @@ Definition _s6035_ (_s6036_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6018_ (_s6019_ : string)
+Definition _s6283_ (_s6284_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6019_ with
- | _s6020_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s6020_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6284_ with
+ | _s6285_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6285_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_WU, existT _ _s6021_ _) =>
- (match (string_drop _s6020_ _s6021_) with
- | _s6022_ =>
- (spc_matches_prefix _s6022_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_WU, existT _ _s6286_ _) =>
+ (match (string_drop _s6285_ _s6286_) with
+ | _s6287_ =>
+ (spc_matches_prefix _s6287_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6023_ _) =>
- (match (string_drop _s6022_ _s6023_) with
- | _s6024_ =>
- (freg_name_matches_prefix _s6024_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6288_ _) =>
+ (match (string_drop _s6287_ _s6288_) with
+ | _s6289_ =>
+ (freg_name_matches_prefix _s6289_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6025_ _) =>
- (match (string_drop _s6024_ _s6025_) with
- | _s6026_ =>
- (sep_matches_prefix _s6026_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6290_ _) =>
+ (match (string_drop _s6289_ _s6290_) with
+ | _s6291_ =>
+ (sep_matches_prefix _s6291_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6027_ _) =>
- (match (string_drop _s6026_ _s6027_) with
- | _s6028_ =>
- (reg_name_matches_prefix _s6028_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6292_ _) =>
+ (match (string_drop _s6291_ _s6292_) with
+ | _s6293_ =>
+ (reg_name_matches_prefix _s6293_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6029_ _) =>
- (match (string_drop _s6028_ _s6029_) with
- | _s6030_ =>
- (sep_matches_prefix _s6030_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6294_ _) =>
+ (match (string_drop _s6293_ _s6294_) with
+ | _s6295_ =>
+ (sep_matches_prefix _s6295_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6031_ _) =>
- (match (string_drop _s6030_ _s6031_) with
- | _s6032_ =>
- (frm_mnemonic_matches_prefix _s6032_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6296_ _) =>
+ (match (string_drop _s6295_ _s6296_) with
+ | _s6297_ =>
+ (frm_mnemonic_matches_prefix _s6297_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6033_ _) =>
- match (string_drop _s6032_
- _s6033_) with
+ | Some (rm, existT _ _s6298_ _) =>
+ match (string_drop _s6297_
+ _s6298_) with
| s_ =>
Some
(FCVT_S_WU, rd, rs1, rm, s_)
@@ -58259,52 +59153,52 @@ Definition _s6018_ (_s6019_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s6001_ (_s6002_ : string)
+Definition _s6266_ (_s6267_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s6002_ with
- | _s6003_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s6003_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6267_ with
+ | _s6268_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6268_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_S_W, existT _ _s6004_ _) =>
- (match (string_drop _s6003_ _s6004_) with
- | _s6005_ =>
- (spc_matches_prefix _s6005_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_S_W, existT _ _s6269_ _) =>
+ (match (string_drop _s6268_ _s6269_) with
+ | _s6270_ =>
+ (spc_matches_prefix _s6270_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s6006_ _) =>
- (match (string_drop _s6005_ _s6006_) with
- | _s6007_ =>
- (freg_name_matches_prefix _s6007_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6271_ _) =>
+ (match (string_drop _s6270_ _s6271_) with
+ | _s6272_ =>
+ (freg_name_matches_prefix _s6272_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s6008_ _) =>
- (match (string_drop _s6007_ _s6008_) with
- | _s6009_ =>
- (sep_matches_prefix _s6009_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6273_ _) =>
+ (match (string_drop _s6272_ _s6273_) with
+ | _s6274_ =>
+ (sep_matches_prefix _s6274_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s6010_ _) =>
- (match (string_drop _s6009_ _s6010_) with
- | _s6011_ =>
- (reg_name_matches_prefix _s6011_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6275_ _) =>
+ (match (string_drop _s6274_ _s6275_) with
+ | _s6276_ =>
+ (reg_name_matches_prefix _s6276_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s6012_ _) =>
- (match (string_drop _s6011_ _s6012_) with
- | _s6013_ =>
- (sep_matches_prefix _s6013_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6277_ _) =>
+ (match (string_drop _s6276_ _s6277_) with
+ | _s6278_ =>
+ (sep_matches_prefix _s6278_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s6014_ _) =>
- (match (string_drop _s6013_ _s6014_) with
- | _s6015_ =>
- (frm_mnemonic_matches_prefix _s6015_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6279_ _) =>
+ (match (string_drop _s6278_ _s6279_) with
+ | _s6280_ =>
+ (frm_mnemonic_matches_prefix _s6280_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s6016_ _) =>
- match (string_drop _s6015_
- _s6016_) with
+ | Some (rm, existT _ _s6281_ _) =>
+ match (string_drop _s6280_
+ _s6281_) with
| s_ =>
Some
(FCVT_S_W, rd, rs1, rm, s_)
@@ -58344,52 +59238,52 @@ Definition _s6001_ (_s6002_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5984_ (_s5985_ : string)
+Definition _s6249_ (_s6250_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5985_ with
- | _s5986_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s5986_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6250_ with
+ | _s6251_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6251_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_WU_S, existT _ _s5987_ _) =>
- (match (string_drop _s5986_ _s5987_) with
- | _s5988_ =>
- (spc_matches_prefix _s5988_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_WU_S, existT _ _s6252_ _) =>
+ (match (string_drop _s6251_ _s6252_) with
+ | _s6253_ =>
+ (spc_matches_prefix _s6253_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5989_ _) =>
- (match (string_drop _s5988_ _s5989_) with
- | _s5990_ =>
- (reg_name_matches_prefix _s5990_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6254_ _) =>
+ (match (string_drop _s6253_ _s6254_) with
+ | _s6255_ =>
+ (reg_name_matches_prefix _s6255_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5991_ _) =>
- (match (string_drop _s5990_ _s5991_) with
- | _s5992_ =>
- (sep_matches_prefix _s5992_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6256_ _) =>
+ (match (string_drop _s6255_ _s6256_) with
+ | _s6257_ =>
+ (sep_matches_prefix _s6257_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5993_ _) =>
- (match (string_drop _s5992_ _s5993_) with
- | _s5994_ =>
- (freg_name_matches_prefix _s5994_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6258_ _) =>
+ (match (string_drop _s6257_ _s6258_) with
+ | _s6259_ =>
+ (freg_name_matches_prefix _s6259_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5995_ _) =>
- (match (string_drop _s5994_ _s5995_) with
- | _s5996_ =>
- (sep_matches_prefix _s5996_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6260_ _) =>
+ (match (string_drop _s6259_ _s6260_) with
+ | _s6261_ =>
+ (sep_matches_prefix _s6261_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5997_ _) =>
- (match (string_drop _s5996_ _s5997_) with
- | _s5998_ =>
- (frm_mnemonic_matches_prefix _s5998_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6262_ _) =>
+ (match (string_drop _s6261_ _s6262_) with
+ | _s6263_ =>
+ (frm_mnemonic_matches_prefix _s6263_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s5999_ _) =>
- match (string_drop _s5998_
- _s5999_) with
+ | Some (rm, existT _ _s6264_ _) =>
+ match (string_drop _s6263_
+ _s6264_) with
| s_ =>
Some
(FCVT_WU_S, rd, rs1, rm, s_)
@@ -58429,52 +59323,52 @@ Definition _s5984_ (_s5985_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5967_ (_s5968_ : string)
+Definition _s6232_ (_s6233_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5968_ with
- | _s5969_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s5969_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6233_ with
+ | _s6234_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6234_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FCVT_W_S, existT _ _s5970_ _) =>
- (match (string_drop _s5969_ _s5970_) with
- | _s5971_ =>
- (spc_matches_prefix _s5971_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FCVT_W_S, existT _ _s6235_ _) =>
+ (match (string_drop _s6234_ _s6235_) with
+ | _s6236_ =>
+ (spc_matches_prefix _s6236_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5972_ _) =>
- (match (string_drop _s5971_ _s5972_) with
- | _s5973_ =>
- (reg_name_matches_prefix _s5973_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6237_ _) =>
+ (match (string_drop _s6236_ _s6237_) with
+ | _s6238_ =>
+ (reg_name_matches_prefix _s6238_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5974_ _) =>
- (match (string_drop _s5973_ _s5974_) with
- | _s5975_ =>
- (sep_matches_prefix _s5975_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6239_ _) =>
+ (match (string_drop _s6238_ _s6239_) with
+ | _s6240_ =>
+ (sep_matches_prefix _s6240_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5976_ _) =>
- (match (string_drop _s5975_ _s5976_) with
- | _s5977_ =>
- (freg_name_matches_prefix _s5977_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6241_ _) =>
+ (match (string_drop _s6240_ _s6241_) with
+ | _s6242_ =>
+ (freg_name_matches_prefix _s6242_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5978_ _) =>
- (match (string_drop _s5977_ _s5978_) with
- | _s5979_ =>
- (sep_matches_prefix _s5979_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6243_ _) =>
+ (match (string_drop _s6242_ _s6243_) with
+ | _s6244_ =>
+ (sep_matches_prefix _s6244_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5980_ _) =>
- (match (string_drop _s5979_ _s5980_) with
- | _s5981_ =>
- (frm_mnemonic_matches_prefix _s5981_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6245_ _) =>
+ (match (string_drop _s6244_ _s6245_) with
+ | _s6246_ =>
+ (frm_mnemonic_matches_prefix _s6246_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s5982_ _) =>
- match (string_drop _s5981_
- _s5982_) with
+ | Some (rm, existT _ _s6247_ _) =>
+ match (string_drop _s6246_
+ _s6247_) with
| s_ =>
Some
(FCVT_W_S, rd, rs1, rm, s_)
@@ -58514,52 +59408,52 @@ Definition _s5967_ (_s5968_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5950_ (_s5951_ : string)
+Definition _s6215_ (_s6216_ : string)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5951_ with
- | _s5952_ =>
- (f_un_rm_type_mnemonic_S_matches_prefix _s5952_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6216_ with
+ | _s6217_ =>
+ (f_un_rm_type_mnemonic_S_matches_prefix _s6217_) >>= fun w__0 : option ((f_un_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (FSQRT_S, existT _ _s5953_ _) =>
- (match (string_drop _s5952_ _s5953_) with
- | _s5954_ =>
- (spc_matches_prefix _s5954_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (FSQRT_S, existT _ _s6218_ _) =>
+ (match (string_drop _s6217_ _s6218_) with
+ | _s6219_ =>
+ (spc_matches_prefix _s6219_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5955_ _) =>
- (match (string_drop _s5954_ _s5955_) with
- | _s5956_ =>
- (freg_name_matches_prefix _s5956_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6220_ _) =>
+ (match (string_drop _s6219_ _s6220_) with
+ | _s6221_ =>
+ (freg_name_matches_prefix _s6221_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5957_ _) =>
- (match (string_drop _s5956_ _s5957_) with
- | _s5958_ =>
- (sep_matches_prefix _s5958_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6222_ _) =>
+ (match (string_drop _s6221_ _s6222_) with
+ | _s6223_ =>
+ (sep_matches_prefix _s6223_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5959_ _) =>
- (match (string_drop _s5958_ _s5959_) with
- | _s5960_ =>
- (freg_name_matches_prefix _s5960_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6224_ _) =>
+ (match (string_drop _s6223_ _s6224_) with
+ | _s6225_ =>
+ (freg_name_matches_prefix _s6225_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5961_ _) =>
- (match (string_drop _s5960_ _s5961_) with
- | _s5962_ =>
- (sep_matches_prefix _s5962_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6226_ _) =>
+ (match (string_drop _s6225_ _s6226_) with
+ | _s6227_ =>
+ (sep_matches_prefix _s6227_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5963_ _) =>
- (match (string_drop _s5962_ _s5963_) with
- | _s5964_ =>
- (frm_mnemonic_matches_prefix _s5964_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6228_ _) =>
+ (match (string_drop _s6227_ _s6228_) with
+ | _s6229_ =>
+ (frm_mnemonic_matches_prefix _s6229_) >>= fun w__6 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rm, existT _ _s5965_ _) =>
- match (string_drop _s5964_
- _s5965_) with
+ | Some (rm, existT _ _s6230_ _) =>
+ match (string_drop _s6229_
+ _s6230_) with
| s_ =>
Some
(FSQRT_S, rd, rs1, rm, s_)
@@ -58599,68 +59493,68 @@ Definition _s5950_ (_s5951_ : string)
end)
: M (option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5929_ (_s5930_ : string)
+Definition _s6194_ (_s6195_ : string)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5930_ with
- | _s5931_ =>
- (f_bin_rm_type_mnemonic_S_matches_prefix _s5931_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
+ (match _s6195_ with
+ | _s6196_ =>
+ (f_bin_rm_type_mnemonic_S_matches_prefix _s6196_) >>= fun w__0 : option ((f_bin_rm_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5932_ _) =>
- (match (string_drop _s5931_ _s5932_) with
- | _s5933_ =>
- (spc_matches_prefix _s5933_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s6197_ _) =>
+ (match (string_drop _s6196_ _s6197_) with
+ | _s6198_ =>
+ (spc_matches_prefix _s6198_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5934_ _) =>
- (match (string_drop _s5933_ _s5934_) with
- | _s5935_ =>
- (freg_name_matches_prefix _s5935_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6199_ _) =>
+ (match (string_drop _s6198_ _s6199_) with
+ | _s6200_ =>
+ (freg_name_matches_prefix _s6200_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5936_ _) =>
- (match (string_drop _s5935_ _s5936_) with
- | _s5937_ =>
- (sep_matches_prefix _s5937_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6201_ _) =>
+ (match (string_drop _s6200_ _s6201_) with
+ | _s6202_ =>
+ (sep_matches_prefix _s6202_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5938_ _) =>
- (match (string_drop _s5937_ _s5938_) with
- | _s5939_ =>
- (freg_name_matches_prefix _s5939_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6203_ _) =>
+ (match (string_drop _s6202_ _s6203_) with
+ | _s6204_ =>
+ (freg_name_matches_prefix _s6204_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5940_ _) =>
- (match (string_drop _s5939_ _s5940_) with
- | _s5941_ =>
- (sep_matches_prefix _s5941_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6205_ _) =>
+ (match (string_drop _s6204_ _s6205_) with
+ | _s6206_ =>
+ (sep_matches_prefix _s6206_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5942_ _) =>
- (match (string_drop _s5941_ _s5942_) with
- | _s5943_ =>
- (freg_name_matches_prefix _s5943_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6207_ _) =>
+ (match (string_drop _s6206_ _s6207_) with
+ | _s6208_ =>
+ (freg_name_matches_prefix _s6208_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s5944_ _) =>
- (match (string_drop _s5943_ _s5944_) with
- | _s5945_ =>
- (sep_matches_prefix _s5945_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s6209_ _) =>
+ (match (string_drop _s6208_ _s6209_) with
+ | _s6210_ =>
+ (sep_matches_prefix _s6210_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s5946_ _) =>
- (match (string_drop _s5945_
- _s5946_) with
- | _s5947_ =>
+ | Some (tt, existT _ _s6211_ _) =>
+ (match (string_drop _s6210_
+ _s6211_) with
+ | _s6212_ =>
(frm_mnemonic_matches_prefix
- _s5947_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s6212_) >>= fun w__8 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rm, existT _ _s5948_ _) =>
+ (rm, existT _ _s6213_ _) =>
match (string_drop
- _s5947_
- _s5948_) with
+ _s6212_
+ _s6213_) with
| s_ =>
Some
(op, rd, rs1, rs2, rm, s_)
@@ -58710,87 +59604,87 @@ Definition _s5929_ (_s5930_ : string)
end)
: M (option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5904_ (_s5905_ : string)
+Definition _s6169_ (_s6170_ : string)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string))) :=
- (match _s5905_ with
- | _s5906_ =>
- (f_madd_type_mnemonic_S_matches_prefix _s5906_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
+ (match _s6170_ with
+ | _s6171_ =>
+ (f_madd_type_mnemonic_S_matches_prefix _s6171_) >>= fun w__0 : option ((f_madd_op_S * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5907_ _) =>
- (match (string_drop _s5906_ _s5907_) with
- | _s5908_ =>
- (spc_matches_prefix _s5908_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s6172_ _) =>
+ (match (string_drop _s6171_ _s6172_) with
+ | _s6173_ =>
+ (spc_matches_prefix _s6173_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5909_ _) =>
- (match (string_drop _s5908_ _s5909_) with
- | _s5910_ =>
- (freg_name_matches_prefix _s5910_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6174_ _) =>
+ (match (string_drop _s6173_ _s6174_) with
+ | _s6175_ =>
+ (freg_name_matches_prefix _s6175_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5911_ _) =>
- (match (string_drop _s5910_ _s5911_) with
- | _s5912_ =>
- (sep_matches_prefix _s5912_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6176_ _) =>
+ (match (string_drop _s6175_ _s6176_) with
+ | _s6177_ =>
+ (sep_matches_prefix _s6177_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5913_ _) =>
- (match (string_drop _s5912_ _s5913_) with
- | _s5914_ =>
- (freg_name_matches_prefix _s5914_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6178_ _) =>
+ (match (string_drop _s6177_ _s6178_) with
+ | _s6179_ =>
+ (freg_name_matches_prefix _s6179_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5915_ _) =>
- (match (string_drop _s5914_ _s5915_) with
- | _s5916_ =>
- (sep_matches_prefix _s5916_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s6180_ _) =>
+ (match (string_drop _s6179_ _s6180_) with
+ | _s6181_ =>
+ (sep_matches_prefix _s6181_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5917_ _) =>
- (match (string_drop _s5916_ _s5917_) with
- | _s5918_ =>
- (freg_name_matches_prefix _s5918_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6182_ _) =>
+ (match (string_drop _s6181_ _s6182_) with
+ | _s6183_ =>
+ (freg_name_matches_prefix _s6183_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs2, existT _ _s5919_ _) =>
- (match (string_drop _s5918_ _s5919_) with
- | _s5920_ =>
- (sep_matches_prefix _s5920_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s6184_ _) =>
+ (match (string_drop _s6183_ _s6184_) with
+ | _s6185_ =>
+ (sep_matches_prefix _s6185_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s5921_ _) =>
- (match (string_drop _s5920_
- _s5921_) with
- | _s5922_ =>
+ | Some (tt, existT _ _s6186_ _) =>
+ (match (string_drop _s6185_
+ _s6186_) with
+ | _s6187_ =>
(freg_name_matches_prefix
- _s5922_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s6187_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs3, existT _ _s5923_ _) =>
+ (rs3, existT _ _s6188_ _) =>
(match (string_drop
- _s5922_ _s5923_) with
- | _s5924_ =>
+ _s6187_ _s6188_) with
+ | _s6189_ =>
(sep_matches_prefix
- _s5924_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s6189_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (tt, existT _ _s5925_ _) =>
+ (tt, existT _ _s6190_ _) =>
(match (string_drop
- _s5924_
- _s5925_) with
- | _s5926_ =>
+ _s6189_
+ _s6190_) with
+ | _s6191_ =>
(frm_mnemonic_matches_prefix
- _s5926_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
+ _s6191_) >>= fun w__10 : option ((rounding_mode * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (rm, existT _ _s5927_ _) =>
+ (rm, existT _ _s6192_ _) =>
match (string_drop
- _s5926_
- _s5927_) with
+ _s6191_
+ _s6192_) with
| s_ =>
Some
(op, rd, rs1, rs2, rs3, rm, s_)
@@ -58851,81 +59745,81 @@ Definition _s5904_ (_s5905_ : string)
end)
: M (option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string))).
-Definition _s5880_ (_s5881_ : string)
+Definition _s6145_ (_s6146_ : string)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))) :=
- let _s5882_ := _s5881_ in
- (if string_startswith _s5882_ "fs" then
- (match (string_drop _s5882_ (projT1 (string_length "fs"))) with
- | _s5883_ =>
- (size_mnemonic_matches_prefix _s5883_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s6147_ := _s6146_ in
+ (if string_startswith _s6147_ "fs" then
+ (match (string_drop _s6147_ (projT1 (string_length "fs"))) with
+ | _s6148_ =>
+ (size_mnemonic_matches_prefix _s6148_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s5884_ _) =>
- (match (string_drop _s5883_ _s5884_) with
- | _s5885_ =>
- (spc_matches_prefix _s5885_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s6149_ _) =>
+ (match (string_drop _s6148_ _s6149_) with
+ | _s6150_ =>
+ (spc_matches_prefix _s6150_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5886_ _) =>
- (match (string_drop _s5885_ _s5886_) with
- | _s5887_ =>
- (freg_name_matches_prefix _s5887_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6151_ _) =>
+ (match (string_drop _s6150_ _s6151_) with
+ | _s6152_ =>
+ (freg_name_matches_prefix _s6152_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs2, existT _ _s5888_ _) =>
- (match (string_drop _s5887_ _s5888_) with
- | _s5889_ =>
- (sep_matches_prefix _s5889_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s6153_ _) =>
+ (match (string_drop _s6152_ _s6153_) with
+ | _s6154_ =>
+ (sep_matches_prefix _s6154_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5890_ _) =>
- (match (string_drop _s5889_ _s5890_) with
- | _s5891_ =>
- (match (hex_bits_12_matches_prefix _s5891_) with
- | Some (imm, existT _ _s5892_ _) =>
- (match (string_drop _s5891_ _s5892_) with
- | _s5893_ =>
- (opt_spc_matches_prefix _s5893_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6155_ _) =>
+ (match (string_drop _s6154_ _s6155_) with
+ | _s6156_ =>
+ (match (hex_bits_12_matches_prefix _s6156_) with
+ | Some (imm, existT _ _s6157_ _) =>
+ (match (string_drop _s6156_ _s6157_) with
+ | _s6158_ =>
+ (opt_spc_matches_prefix _s6158_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s5894_ _) =>
- let _s5895_ := string_drop _s5893_ _s5894_ in
- (if string_startswith _s5895_ "(" then
- (match (string_drop _s5895_
+ | Some (tt, existT _ _s6159_ _) =>
+ let _s6160_ := string_drop _s6158_ _s6159_ in
+ (if string_startswith _s6160_ "(" then
+ (match (string_drop _s6160_
(projT1
(string_length "("))) with
- | _s5896_ =>
- (opt_spc_matches_prefix _s5896_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s6161_ =>
+ (opt_spc_matches_prefix _s6161_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5897_ _) =>
- (match (string_drop _s5896_ _s5897_) with
- | _s5898_ =>
+ | Some (tt, existT _ _s6162_ _) =>
+ (match (string_drop _s6161_ _s6162_) with
+ | _s6163_ =>
(reg_name_matches_prefix
- _s5898_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s6163_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s5899_ _) =>
- (match (string_drop _s5898_
- _s5899_) with
- | _s5900_ =>
+ (rs1, existT _ _s6164_ _) =>
+ (match (string_drop _s6163_
+ _s6164_) with
+ | _s6165_ =>
(opt_spc_matches_prefix
- _s5900_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s6165_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s5901_ _) =>
- let _s5902_ :=
+ (tt, existT _ _s6166_ _) =>
+ let _s6167_ :=
string_drop
- _s5900_
- _s5901_ in
+ _s6165_
+ _s6166_ in
if string_startswith
- _s5902_
+ _s6167_
")"
then
match (string_drop
- _s5902_
+ _s6167_
(projT1
(string_length
")"))) with
@@ -58983,81 +59877,81 @@ Definition _s5880_ (_s5881_ : string)
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))).
-Definition _s5856_ (_s5857_ : string)
+Definition _s6121_ (_s6122_ : string)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))) :=
- let _s5858_ := _s5857_ in
- (if string_startswith _s5858_ "fl" then
- (match (string_drop _s5858_ (projT1 (string_length "fl"))) with
- | _s5859_ =>
- (size_mnemonic_matches_prefix _s5859_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s6123_ := _s6122_ in
+ (if string_startswith _s6123_ "fl" then
+ (match (string_drop _s6123_ (projT1 (string_length "fl"))) with
+ | _s6124_ =>
+ (size_mnemonic_matches_prefix _s6124_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (width, existT _ _s5860_ _) =>
- (match (string_drop _s5859_ _s5860_) with
- | _s5861_ =>
- (spc_matches_prefix _s5861_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s6125_ _) =>
+ (match (string_drop _s6124_ _s6125_) with
+ | _s6126_ =>
+ (spc_matches_prefix _s6126_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5862_ _) =>
- (match (string_drop _s5861_ _s5862_) with
- | _s5863_ =>
- (freg_name_matches_prefix _s5863_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6127_ _) =>
+ (match (string_drop _s6126_ _s6127_) with
+ | _s6128_ =>
+ (freg_name_matches_prefix _s6128_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5864_ _) =>
- (match (string_drop _s5863_ _s5864_) with
- | _s5865_ =>
- (sep_matches_prefix _s5865_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6129_ _) =>
+ (match (string_drop _s6128_ _s6129_) with
+ | _s6130_ =>
+ (sep_matches_prefix _s6130_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5866_ _) =>
- (match (string_drop _s5865_ _s5866_) with
- | _s5867_ =>
- (match (hex_bits_12_matches_prefix _s5867_) with
- | Some (imm, existT _ _s5868_ _) =>
- (match (string_drop _s5867_ _s5868_) with
- | _s5869_ =>
- (opt_spc_matches_prefix _s5869_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6131_ _) =>
+ (match (string_drop _s6130_ _s6131_) with
+ | _s6132_ =>
+ (match (hex_bits_12_matches_prefix _s6132_) with
+ | Some (imm, existT _ _s6133_ _) =>
+ (match (string_drop _s6132_ _s6133_) with
+ | _s6134_ =>
+ (opt_spc_matches_prefix _s6134_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s5870_ _) =>
- let _s5871_ := string_drop _s5869_ _s5870_ in
- (if string_startswith _s5871_ "(" then
- (match (string_drop _s5871_
+ | Some (tt, existT _ _s6135_ _) =>
+ let _s6136_ := string_drop _s6134_ _s6135_ in
+ (if string_startswith _s6136_ "(" then
+ (match (string_drop _s6136_
(projT1
(string_length "("))) with
- | _s5872_ =>
- (opt_spc_matches_prefix _s5872_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | _s6137_ =>
+ (opt_spc_matches_prefix _s6137_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5873_ _) =>
- (match (string_drop _s5872_ _s5873_) with
- | _s5874_ =>
+ | Some (tt, existT _ _s6138_ _) =>
+ (match (string_drop _s6137_ _s6138_) with
+ | _s6139_ =>
(reg_name_matches_prefix
- _s5874_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s6139_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
| Some
- (rs1, existT _ _s5875_ _) =>
- (match (string_drop _s5874_
- _s5875_) with
- | _s5876_ =>
+ (rs1, existT _ _s6140_ _) =>
+ (match (string_drop _s6139_
+ _s6140_) with
+ | _s6141_ =>
(opt_spc_matches_prefix
- _s5876_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s6141_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__7 with
| Some
- (tt, existT _ _s5877_ _) =>
- let _s5878_ :=
+ (tt, existT _ _s6142_ _) =>
+ let _s6143_ :=
string_drop
- _s5876_
- _s5877_ in
+ _s6141_
+ _s6142_ in
if string_startswith
- _s5878_
+ _s6143_
")"
then
match (string_drop
- _s5878_
+ _s6143_
(projT1
(string_length
")"))) with
@@ -59115,57 +60009,332 @@ Definition _s5856_ (_s5857_ : string)
else returnm None)
: M (option ((word_width * mword 5 * mword 12 * mword 5 * string))).
-Definition _s5852_ (_s5853_ : string) : option string :=
- let _s5854_ := _s5853_ in
- if string_startswith _s5854_ "uret" then
- match (string_drop _s5854_ (projT1 (string_length "uret"))) with | s_ => Some s_ end
+Definition _s6109_ (_s6110_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
+ let _s6111_ := _s6110_ in
+ (if string_startswith _s6111_ "fence.i.reserved." then
+ (match (string_drop _s6111_ (projT1 (string_length "fence.i.reserved."))) with
+ | _s6112_ =>
+ (reg_name_matches_prefix _s6112_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (rd, existT _ _s6113_ _) =>
+ let _s6114_ := string_drop _s6112_ _s6113_ in
+ (if string_startswith _s6114_ "." then
+ (match (string_drop _s6114_ (projT1 (string_length "."))) with
+ | _s6115_ =>
+ (reg_name_matches_prefix _s6115_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__1 with
+ | Some (rs, existT _ _s6116_ _) =>
+ let _s6117_ := string_drop _s6115_ _s6116_ in
+ if string_startswith _s6117_ "." then
+ match (string_drop _s6117_ (projT1 (string_length "."))) with
+ | _s6118_ =>
+ match (hex_bits_12_matches_prefix _s6118_) with
+ | Some (imm, existT _ _s6119_ _) =>
+ match (string_drop _s6118_ _s6119_) with
+ | s_ => Some (rd, rs, imm, s_)
+ end
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ end)
+ : M (option ((mword 5 * mword 5 * mword 12 * string)))
+ else returnm None)
+ : M (option ((mword 5 * mword 5 * mword 12 * string))).
+
+Definition _s6091_ (_s6092_ : string)
+: M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string))) :=
+ let _s6093_ := _s6092_ in
+ (if string_startswith _s6093_ "fence.reserved." then
+ (match (string_drop _s6093_ (projT1 (string_length "fence.reserved."))) with
+ | _s6094_ =>
+ (fence_bits_matches_prefix _s6094_) >>= fun w__0 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__0 with
+ | Some (pred, existT _ _s6095_ _) =>
+ let _s6096_ := string_drop _s6094_ _s6095_ in
+ (if string_startswith _s6096_ "." then
+ (match (string_drop _s6096_ (projT1 (string_length "."))) with
+ | _s6097_ =>
+ (fence_bits_matches_prefix _s6097_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__1 with
+ | Some (succ, existT _ _s6098_ _) =>
+ let _s6099_ := string_drop _s6097_ _s6098_ in
+ (if string_startswith _s6099_ "." then
+ (match (string_drop _s6099_ (projT1 (string_length "."))) with
+ | _s6100_ =>
+ (reg_name_matches_prefix _s6100_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ (match w__2 with
+ | Some (rs, existT _ _s6101_ _) =>
+ let _s6102_ := string_drop _s6100_ _s6101_ in
+ (if string_startswith _s6102_ "." then
+ (match (string_drop _s6102_ (projT1 (string_length "."))) with
+ | _s6103_ =>
+ (reg_name_matches_prefix _s6103_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__3 with
+ | Some (rd, existT _ _s6104_ _) =>
+ let _s6105_ := string_drop _s6103_ _s6104_ in
+ if string_startswith _s6105_ "." then
+ match (string_drop _s6105_
+ (projT1
+ (string_length "."))) with
+ | _s6106_ =>
+ match (hex_bits_4_matches_prefix _s6106_) with
+ | Some (fm, existT _ _s6107_ _) =>
+ match (string_drop _s6106_ _s6107_) with
+ | s_ =>
+ Some (pred, succ, rs, rd, fm, s_)
+ end
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ | _ => returnm None
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ end)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)))
+ else returnm None)
+ : M (option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string))).
+
+Definition _s6085_ (_s6086_ : string) : M (option ((mword 3 * string))) :=
+ let _s6087_ := _s6086_ in
+ (if string_startswith _s6087_ "c.srai.hint." then
+ (match (string_drop _s6087_ (projT1 (string_length "c.srai.hint."))) with
+ | _s6088_ =>
+ (creg_name_matches_prefix _s6088_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s6089_ _) =>
+ match (string_drop _s6088_ _s6089_) with | s_ => Some (rsd, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 3 * string)))
+ else returnm None)
+ : M (option ((mword 3 * string))).
+
+Definition _s6079_ (_s6080_ : string) : M (option ((mword 3 * string))) :=
+ let _s6081_ := _s6080_ in
+ (if string_startswith _s6081_ "c.srli.hint." then
+ (match (string_drop _s6081_ (projT1 (string_length "c.srli.hint."))) with
+ | _s6082_ =>
+ (creg_name_matches_prefix _s6082_) >>= fun w__0 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s6083_ _) =>
+ match (string_drop _s6082_ _s6083_) with | s_ => Some (rsd, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 3 * string)))
+ else returnm None)
+ : M (option ((mword 3 * string))).
+
+Definition _s6070_ (_s6071_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s6072_ := _s6071_ in
+ (if string_startswith _s6072_ "c.slli.hint." then
+ (match (string_drop _s6072_ (projT1 (string_length "c.slli.hint."))) with
+ | _s6073_ =>
+ (reg_name_matches_prefix _s6073_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s6074_ _) =>
+ let _s6075_ := string_drop _s6073_ _s6074_ in
+ if string_startswith _s6075_ "." then
+ match (string_drop _s6075_ (projT1 (string_length "."))) with
+ | _s6076_ =>
+ match (hex_bits_6_matches_prefix _s6076_) with
+ | Some (shamt, existT _ _s6077_ _) =>
+ match (string_drop _s6076_ _s6077_) with
+ | s_ => Some (rsd, shamt, s_)
+ end
+ | _ => None
+ end
+ end
+ else None
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * mword 6 * string)))
+ else returnm None)
+ : M (option ((mword 5 * mword 6 * string))).
+
+Definition _s6064_ (_s6065_ : string) : M (option ((mword 5 * string))) :=
+ let _s6066_ := _s6065_ in
+ (if string_startswith _s6066_ "c.add.hint." then
+ (match (string_drop _s6066_ (projT1 (string_length "c.add.hint."))) with
+ | _s6067_ =>
+ (reg_name_matches_prefix _s6067_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s6068_ _) =>
+ match (string_drop _s6067_ _s6068_) with | s_ => Some (rs2, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * string)))
+ else returnm None)
+ : M (option ((mword 5 * string))).
+
+Definition _s6058_ (_s6059_ : string) : M (option ((mword 5 * string))) :=
+ let _s6060_ := _s6059_ in
+ (if string_startswith _s6060_ "c.mv.hint." then
+ (match (string_drop _s6060_ (projT1 (string_length "c.mv.hint."))) with
+ | _s6061_ =>
+ (reg_name_matches_prefix _s6061_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rs2, existT _ _s6062_ _) =>
+ match (string_drop _s6061_ _s6062_) with | s_ => Some (rs2, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * string)))
+ else returnm None)
+ : M (option ((mword 5 * string))).
+
+Definition _s6052_ (_s6053_ : string) : option ((mword 6 * string)) :=
+ let _s6054_ := _s6053_ in
+ if string_startswith _s6054_ "c.lui.hint." then
+ match (string_drop _s6054_ (projT1 (string_length "c.lui.hint."))) with
+ | _s6055_ =>
+ match (hex_bits_6_matches_prefix _s6055_) with
+ | Some (imm, existT _ _s6056_ _) =>
+ match (string_drop _s6055_ _s6056_) with | s_ => Some (imm, s_) end
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s6046_ (_s6047_ : string) : option ((mword 6 * string)) :=
+ let _s6048_ := _s6047_ in
+ if string_startswith _s6048_ "c.li.hint." then
+ match (string_drop _s6048_ (projT1 (string_length "c.li.hint."))) with
+ | _s6049_ =>
+ match (hex_bits_6_matches_prefix _s6049_) with
+ | Some (imm, existT _ _s6050_ _) =>
+ match (string_drop _s6049_ _s6050_) with | s_ => Some (imm, s_) end
+ | _ => None
+ end
+ end
else None.
-Definition _s5835_ (_s5836_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
- (match _s5836_ with
- | _s5837_ =>
- (csr_mnemonic_matches_prefix _s5837_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s6040_ (_s6041_ : string) : M (option ((mword 5 * string))) :=
+ let _s6042_ := _s6041_ in
+ (if string_startswith _s6042_ "c.addi.hint." then
+ (match (string_drop _s6042_ (projT1 (string_length "c.addi.hint."))) with
+ | _s6043_ =>
+ (reg_name_matches_prefix _s6043_) >>= fun w__0 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ 0)})) =>
+ returnm (match w__0 with
+ | Some (rsd, existT _ _s6044_ _) =>
+ match (string_drop _s6043_ _s6044_) with | s_ => Some (rsd, s_) end
+ | _ => None
+ end)
+ end)
+ : M (option ((mword 5 * string)))
+ else returnm None)
+ : M (option ((mword 5 * string))).
+
+Definition _s6034_ (_s6035_ : string) : option ((mword 6 * string)) :=
+ let _s6036_ := _s6035_ in
+ if string_startswith _s6036_ "c.nop.hint." then
+ match (string_drop _s6036_ (projT1 (string_length "c.nop.hint."))) with
+ | _s6037_ =>
+ match (hex_bits_6_matches_prefix _s6037_) with
+ | Some (imm, existT _ _s6038_ _) =>
+ match (string_drop _s6037_ _s6038_) with | s_ => Some (imm, s_) end
+ | _ => None
+ end
+ end
+ else None.
+
+Definition _s6030_ (_s6031_ : string) : option string :=
+ let _s6032_ := _s6031_ in
+ if string_startswith _s6032_ "uret" then
+ match (string_drop _s6032_ (projT1 (string_length "uret"))) with | s_ => Some s_ end
+ else None.
+
+Definition _s6013_ (_s6014_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
+ (match _s6014_ with
+ | _s6015_ =>
+ (csr_mnemonic_matches_prefix _s6015_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5838_ _) =>
- (match (string_drop _s5837_ _s5838_) with
- | _s5839_ =>
- (spc_matches_prefix _s5839_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s6016_ _) =>
+ (match (string_drop _s6015_ _s6016_) with
+ | _s6017_ =>
+ (spc_matches_prefix _s6017_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5840_ _) =>
- (match (string_drop _s5839_ _s5840_) with
- | _s5841_ =>
- (reg_name_matches_prefix _s5841_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6018_ _) =>
+ (match (string_drop _s6017_ _s6018_) with
+ | _s6019_ =>
+ (reg_name_matches_prefix _s6019_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5842_ _) =>
- (match (string_drop _s5841_ _s5842_) with
- | _s5843_ =>
- (sep_matches_prefix _s5843_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6020_ _) =>
+ (match (string_drop _s6019_ _s6020_) with
+ | _s6021_ =>
+ (sep_matches_prefix _s6021_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5844_ _) =>
- (match (string_drop _s5843_ _s5844_) with
- | _s5845_ =>
- (csr_name_map_matches_prefix _s5845_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6022_ _) =>
+ (match (string_drop _s6021_ _s6022_) with
+ | _s6023_ =>
+ (csr_name_map_matches_prefix _s6023_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s5846_ _) =>
- (match (string_drop _s5845_ _s5846_) with
- | _s5847_ =>
- (sep_matches_prefix _s5847_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s6024_ _) =>
+ (match (string_drop _s6023_ _s6024_) with
+ | _s6025_ =>
+ (sep_matches_prefix _s6025_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5848_ _) =>
- (match (string_drop _s5847_ _s5848_) with
- | _s5849_ =>
- (reg_name_matches_prefix _s5849_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6026_ _) =>
+ (match (string_drop _s6025_ _s6026_) with
+ | _s6027_ =>
+ (reg_name_matches_prefix _s6027_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s5850_ _) =>
- match (string_drop _s5849_
- _s5850_) with
+ | Some (rs1, existT _ _s6028_ _) =>
+ match (string_drop _s6027_
+ _s6028_) with
| s_ =>
Some (op, rd, csr, rs1, s_)
end
@@ -59204,52 +60373,52 @@ Definition _s5835_ (_s5836_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5 * string))).
-Definition _s5817_ (_s5818_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
- (match _s5818_ with
- | _s5819_ =>
- (csr_mnemonic_matches_prefix _s5819_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
+Definition _s5995_ (_s5996_ : string) : M (option ((csrop * mword 5 * mword 12 * mword 5 * string))) :=
+ (match _s5996_ with
+ | _s5997_ =>
+ (csr_mnemonic_matches_prefix _s5997_) >>= fun w__0 : option ((csrop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5820_ _) =>
- let _s5821_ := string_drop _s5819_ _s5820_ in
- (if string_startswith _s5821_ "i" then
- (match (string_drop _s5821_ (projT1 (string_length "i"))) with
- | _s5822_ =>
- (spc_matches_prefix _s5822_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5998_ _) =>
+ let _s5999_ := string_drop _s5997_ _s5998_ in
+ (if string_startswith _s5999_ "i" then
+ (match (string_drop _s5999_ (projT1 (string_length "i"))) with
+ | _s6000_ =>
+ (spc_matches_prefix _s6000_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5823_ _) =>
- (match (string_drop _s5822_ _s5823_) with
- | _s5824_ =>
- (reg_name_matches_prefix _s5824_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6001_ _) =>
+ (match (string_drop _s6000_ _s6001_) with
+ | _s6002_ =>
+ (reg_name_matches_prefix _s6002_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5825_ _) =>
- (match (string_drop _s5824_ _s5825_) with
- | _s5826_ =>
- (sep_matches_prefix _s5826_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s6003_ _) =>
+ (match (string_drop _s6002_ _s6003_) with
+ | _s6004_ =>
+ (sep_matches_prefix _s6004_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5827_ _) =>
- (match (string_drop _s5826_ _s5827_) with
- | _s5828_ =>
- (csr_name_map_matches_prefix _s5828_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s6005_ _) =>
+ (match (string_drop _s6004_ _s6005_) with
+ | _s6006_ =>
+ (csr_name_map_matches_prefix _s6006_) >>= fun w__4 : option ((mword 12 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (csr, existT _ _s5829_ _) =>
- (match (string_drop _s5828_ _s5829_) with
- | _s5830_ =>
- (sep_matches_prefix _s5830_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (csr, existT _ _s6007_ _) =>
+ (match (string_drop _s6006_ _s6007_) with
+ | _s6008_ =>
+ (sep_matches_prefix _s6008_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s5831_ _) =>
- match (string_drop _s5830_ _s5831_) with
- | _s5832_ =>
+ | Some (tt, existT _ _s6009_ _) =>
+ match (string_drop _s6008_ _s6009_) with
+ | _s6010_ =>
match (hex_bits_5_matches_prefix
- _s5832_) with
- | Some (rs1, existT _ _s5833_ _) =>
- match (string_drop _s5832_
- _s5833_) with
+ _s6010_) with
+ | Some (rs1, existT _ _s6011_ _) =>
+ match (string_drop _s6010_
+ _s6011_) with
| s_ =>
Some (op, rd, csr, rs1, s_)
end
@@ -59288,56 +60457,56 @@ Definition _s5817_ (_s5818_ : string) : M (option ((csrop * mword 5 * mword 12 *
end)
: M (option ((csrop * mword 5 * mword 12 * mword 5 * string))).
-Definition _s5798_ (_s5799_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s5800_ := _s5799_ in
- (if string_startswith _s5800_ "rem" then
- (match (string_drop _s5800_ (projT1 (string_length "rem"))) with
- | _s5801_ =>
- (maybe_not_u_matches_prefix _s5801_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s5976_ (_s5977_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s5978_ := _s5977_ in
+ (if string_startswith _s5978_ "rem" then
+ (match (string_drop _s5978_ (projT1 (string_length "rem"))) with
+ | _s5979_ =>
+ (maybe_not_u_matches_prefix _s5979_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s5802_ _) =>
- let _s5803_ := string_drop _s5801_ _s5802_ in
- (if string_startswith _s5803_ "w" then
- (match (string_drop _s5803_ (projT1 (string_length "w"))) with
- | _s5804_ =>
- (spc_matches_prefix _s5804_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s5980_ _) =>
+ let _s5981_ := string_drop _s5979_ _s5980_ in
+ (if string_startswith _s5981_ "w" then
+ (match (string_drop _s5981_ (projT1 (string_length "w"))) with
+ | _s5982_ =>
+ (spc_matches_prefix _s5982_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5805_ _) =>
- (match (string_drop _s5804_ _s5805_) with
- | _s5806_ =>
- (reg_name_matches_prefix _s5806_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5983_ _) =>
+ (match (string_drop _s5982_ _s5983_) with
+ | _s5984_ =>
+ (reg_name_matches_prefix _s5984_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5807_ _) =>
- (match (string_drop _s5806_ _s5807_) with
- | _s5808_ =>
- (sep_matches_prefix _s5808_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5985_ _) =>
+ (match (string_drop _s5984_ _s5985_) with
+ | _s5986_ =>
+ (sep_matches_prefix _s5986_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5809_ _) =>
- (match (string_drop _s5808_ _s5809_) with
- | _s5810_ =>
- (reg_name_matches_prefix _s5810_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5987_ _) =>
+ (match (string_drop _s5986_ _s5987_) with
+ | _s5988_ =>
+ (reg_name_matches_prefix _s5988_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5811_ _) =>
- (match (string_drop _s5810_ _s5811_) with
- | _s5812_ =>
- (sep_matches_prefix _s5812_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5989_ _) =>
+ (match (string_drop _s5988_ _s5989_) with
+ | _s5990_ =>
+ (sep_matches_prefix _s5990_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5813_ _) =>
- (match (string_drop _s5812_ _s5813_) with
- | _s5814_ =>
- (reg_name_matches_prefix _s5814_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5991_ _) =>
+ (match (string_drop _s5990_ _s5991_) with
+ | _s5992_ =>
+ (reg_name_matches_prefix _s5992_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s5815_ _) =>
- match (string_drop _s5814_
- _s5815_) with
+ (rs2, existT _ _s5993_ _) =>
+ match (string_drop _s5992_
+ _s5993_) with
| s_ =>
Some
(s, rd, rs1, rs2, s_)
@@ -59381,56 +60550,56 @@ Definition _s5798_ (_s5799_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5779_ (_s5780_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s5781_ := _s5780_ in
- (if string_startswith _s5781_ "div" then
- (match (string_drop _s5781_ (projT1 (string_length "div"))) with
- | _s5782_ =>
- (maybe_not_u_matches_prefix _s5782_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s5957_ (_s5958_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s5959_ := _s5958_ in
+ (if string_startswith _s5959_ "div" then
+ (match (string_drop _s5959_ (projT1 (string_length "div"))) with
+ | _s5960_ =>
+ (maybe_not_u_matches_prefix _s5960_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s5783_ _) =>
- let _s5784_ := string_drop _s5782_ _s5783_ in
- (if string_startswith _s5784_ "w" then
- (match (string_drop _s5784_ (projT1 (string_length "w"))) with
- | _s5785_ =>
- (spc_matches_prefix _s5785_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s5961_ _) =>
+ let _s5962_ := string_drop _s5960_ _s5961_ in
+ (if string_startswith _s5962_ "w" then
+ (match (string_drop _s5962_ (projT1 (string_length "w"))) with
+ | _s5963_ =>
+ (spc_matches_prefix _s5963_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5786_ _) =>
- (match (string_drop _s5785_ _s5786_) with
- | _s5787_ =>
- (reg_name_matches_prefix _s5787_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5964_ _) =>
+ (match (string_drop _s5963_ _s5964_) with
+ | _s5965_ =>
+ (reg_name_matches_prefix _s5965_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5788_ _) =>
- (match (string_drop _s5787_ _s5788_) with
- | _s5789_ =>
- (sep_matches_prefix _s5789_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5966_ _) =>
+ (match (string_drop _s5965_ _s5966_) with
+ | _s5967_ =>
+ (sep_matches_prefix _s5967_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5790_ _) =>
- (match (string_drop _s5789_ _s5790_) with
- | _s5791_ =>
- (reg_name_matches_prefix _s5791_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5968_ _) =>
+ (match (string_drop _s5967_ _s5968_) with
+ | _s5969_ =>
+ (reg_name_matches_prefix _s5969_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5792_ _) =>
- (match (string_drop _s5791_ _s5792_) with
- | _s5793_ =>
- (sep_matches_prefix _s5793_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5970_ _) =>
+ (match (string_drop _s5969_ _s5970_) with
+ | _s5971_ =>
+ (sep_matches_prefix _s5971_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5794_ _) =>
- (match (string_drop _s5793_ _s5794_) with
- | _s5795_ =>
- (reg_name_matches_prefix _s5795_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5972_ _) =>
+ (match (string_drop _s5971_ _s5972_) with
+ | _s5973_ =>
+ (reg_name_matches_prefix _s5973_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
| Some
- (rs2, existT _ _s5796_ _) =>
- match (string_drop _s5795_
- _s5796_) with
+ (rs2, existT _ _s5974_ _) =>
+ match (string_drop _s5973_
+ _s5974_) with
| s_ =>
Some
(s, rd, rs1, rs2, s_)
@@ -59474,45 +60643,45 @@ Definition _s5779_ (_s5780_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5763_ (_s5764_ : string) : M (option ((mword 5 * mword 5 * mword 5 * string))) :=
- let _s5765_ := _s5764_ in
- (if string_startswith _s5765_ "mulw" then
- (match (string_drop _s5765_ (projT1 (string_length "mulw"))) with
- | _s5766_ =>
- (spc_matches_prefix _s5766_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5941_ (_s5942_ : string) : M (option ((mword 5 * mword 5 * mword 5 * string))) :=
+ let _s5943_ := _s5942_ in
+ (if string_startswith _s5943_ "mulw" then
+ (match (string_drop _s5943_ (projT1 (string_length "mulw"))) with
+ | _s5944_ =>
+ (spc_matches_prefix _s5944_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5767_ _) =>
- (match (string_drop _s5766_ _s5767_) with
- | _s5768_ =>
- (reg_name_matches_prefix _s5768_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5945_ _) =>
+ (match (string_drop _s5944_ _s5945_) with
+ | _s5946_ =>
+ (reg_name_matches_prefix _s5946_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5769_ _) =>
- (match (string_drop _s5768_ _s5769_) with
- | _s5770_ =>
- (sep_matches_prefix _s5770_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5947_ _) =>
+ (match (string_drop _s5946_ _s5947_) with
+ | _s5948_ =>
+ (sep_matches_prefix _s5948_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5771_ _) =>
- (match (string_drop _s5770_ _s5771_) with
- | _s5772_ =>
- (reg_name_matches_prefix _s5772_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5949_ _) =>
+ (match (string_drop _s5948_ _s5949_) with
+ | _s5950_ =>
+ (reg_name_matches_prefix _s5950_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s5773_ _) =>
- (match (string_drop _s5772_ _s5773_) with
- | _s5774_ =>
- (sep_matches_prefix _s5774_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5951_ _) =>
+ (match (string_drop _s5950_ _s5951_) with
+ | _s5952_ =>
+ (sep_matches_prefix _s5952_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s5775_ _) =>
- (match (string_drop _s5774_ _s5775_) with
- | _s5776_ =>
- (reg_name_matches_prefix _s5776_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5953_ _) =>
+ (match (string_drop _s5952_ _s5953_) with
+ | _s5954_ =>
+ (reg_name_matches_prefix _s5954_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (rs2, existT _ _s5777_ _) =>
- match (string_drop _s5776_ _s5777_) with
+ | Some (rs2, existT _ _s5955_ _) =>
+ match (string_drop _s5954_ _s5955_) with
| s_ => Some (rd, rs1, rs2, s_)
end
| _ => None
@@ -59547,53 +60716,53 @@ Definition _s5763_ (_s5764_ : string) : M (option ((mword 5 * mword 5 * mword 5
else returnm None)
: M (option ((mword 5 * mword 5 * mword 5 * string))).
-Definition _s5745_ (_s5746_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s5747_ := _s5746_ in
- (if string_startswith _s5747_ "rem" then
- (match (string_drop _s5747_ (projT1 (string_length "rem"))) with
- | _s5748_ =>
- (maybe_not_u_matches_prefix _s5748_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s5923_ (_s5924_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s5925_ := _s5924_ in
+ (if string_startswith _s5925_ "rem" then
+ (match (string_drop _s5925_ (projT1 (string_length "rem"))) with
+ | _s5926_ =>
+ (maybe_not_u_matches_prefix _s5926_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s5749_ _) =>
- (match (string_drop _s5748_ _s5749_) with
- | _s5750_ =>
- (spc_matches_prefix _s5750_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s5927_ _) =>
+ (match (string_drop _s5926_ _s5927_) with
+ | _s5928_ =>
+ (spc_matches_prefix _s5928_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5751_ _) =>
- (match (string_drop _s5750_ _s5751_) with
- | _s5752_ =>
- (reg_name_matches_prefix _s5752_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5929_ _) =>
+ (match (string_drop _s5928_ _s5929_) with
+ | _s5930_ =>
+ (reg_name_matches_prefix _s5930_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5753_ _) =>
- (match (string_drop _s5752_ _s5753_) with
- | _s5754_ =>
- (sep_matches_prefix _s5754_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5931_ _) =>
+ (match (string_drop _s5930_ _s5931_) with
+ | _s5932_ =>
+ (sep_matches_prefix _s5932_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5755_ _) =>
- (match (string_drop _s5754_ _s5755_) with
- | _s5756_ =>
- (reg_name_matches_prefix _s5756_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5933_ _) =>
+ (match (string_drop _s5932_ _s5933_) with
+ | _s5934_ =>
+ (reg_name_matches_prefix _s5934_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5757_ _) =>
- (match (string_drop _s5756_ _s5757_) with
- | _s5758_ =>
- (sep_matches_prefix _s5758_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5935_ _) =>
+ (match (string_drop _s5934_ _s5935_) with
+ | _s5936_ =>
+ (sep_matches_prefix _s5936_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5759_ _) =>
- (match (string_drop _s5758_ _s5759_) with
- | _s5760_ =>
- (reg_name_matches_prefix _s5760_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5937_ _) =>
+ (match (string_drop _s5936_ _s5937_) with
+ | _s5938_ =>
+ (reg_name_matches_prefix _s5938_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5761_ _) =>
- match (string_drop _s5760_
- _s5761_) with
+ | Some (rs2, existT _ _s5939_ _) =>
+ match (string_drop _s5938_
+ _s5939_) with
| s_ =>
Some (s, rd, rs1, rs2, s_)
end
@@ -59634,53 +60803,53 @@ Definition _s5745_ (_s5746_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5727_ (_s5728_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s5729_ := _s5728_ in
- (if string_startswith _s5729_ "div" then
- (match (string_drop _s5729_ (projT1 (string_length "div"))) with
- | _s5730_ =>
- (maybe_not_u_matches_prefix _s5730_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
+Definition _s5905_ (_s5906_ : string) : M (option ((bool * mword 5 * mword 5 * mword 5 * string))) :=
+ let _s5907_ := _s5906_ in
+ (if string_startswith _s5907_ "div" then
+ (match (string_drop _s5907_ (projT1 (string_length "div"))) with
+ | _s5908_ =>
+ (maybe_not_u_matches_prefix _s5908_) >>= fun w__0 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (s, existT _ _s5731_ _) =>
- (match (string_drop _s5730_ _s5731_) with
- | _s5732_ =>
- (spc_matches_prefix _s5732_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (s, existT _ _s5909_ _) =>
+ (match (string_drop _s5908_ _s5909_) with
+ | _s5910_ =>
+ (spc_matches_prefix _s5910_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5733_ _) =>
- (match (string_drop _s5732_ _s5733_) with
- | _s5734_ =>
- (reg_name_matches_prefix _s5734_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5911_ _) =>
+ (match (string_drop _s5910_ _s5911_) with
+ | _s5912_ =>
+ (reg_name_matches_prefix _s5912_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5735_ _) =>
- (match (string_drop _s5734_ _s5735_) with
- | _s5736_ =>
- (sep_matches_prefix _s5736_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5913_ _) =>
+ (match (string_drop _s5912_ _s5913_) with
+ | _s5914_ =>
+ (sep_matches_prefix _s5914_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5737_ _) =>
- (match (string_drop _s5736_ _s5737_) with
- | _s5738_ =>
- (reg_name_matches_prefix _s5738_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5915_ _) =>
+ (match (string_drop _s5914_ _s5915_) with
+ | _s5916_ =>
+ (reg_name_matches_prefix _s5916_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5739_ _) =>
- (match (string_drop _s5738_ _s5739_) with
- | _s5740_ =>
- (sep_matches_prefix _s5740_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5917_ _) =>
+ (match (string_drop _s5916_ _s5917_) with
+ | _s5918_ =>
+ (sep_matches_prefix _s5918_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5741_ _) =>
- (match (string_drop _s5740_ _s5741_) with
- | _s5742_ =>
- (reg_name_matches_prefix _s5742_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5919_ _) =>
+ (match (string_drop _s5918_ _s5919_) with
+ | _s5920_ =>
+ (reg_name_matches_prefix _s5920_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5743_ _) =>
- match (string_drop _s5742_
- _s5743_) with
+ | Some (rs2, existT _ _s5921_ _) =>
+ match (string_drop _s5920_
+ _s5921_) with
| s_ =>
Some (s, rd, rs1, rs2, s_)
end
@@ -59721,52 +60890,52 @@ Definition _s5727_ (_s5728_ : string) : M (option ((bool * mword 5 * mword 5 * m
else returnm None)
: M (option ((bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5710_ (_s5711_ : string)
+Definition _s5888_ (_s5889_ : string)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5711_ with
- | _s5712_ =>
- (mul_mnemonic_matches_prefix _s5712_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
+ (match _s5889_ with
+ | _s5890_ =>
+ (mul_mnemonic_matches_prefix _s5890_) >>= fun w__0 : option (((bool * bool * bool) * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some ((high, signed1, signed2), existT _ _s5713_ _) =>
- (match (string_drop _s5712_ _s5713_) with
- | _s5714_ =>
- (spc_matches_prefix _s5714_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some ((high, signed1, signed2), existT _ _s5891_ _) =>
+ (match (string_drop _s5890_ _s5891_) with
+ | _s5892_ =>
+ (spc_matches_prefix _s5892_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5715_ _) =>
- (match (string_drop _s5714_ _s5715_) with
- | _s5716_ =>
- (reg_name_matches_prefix _s5716_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5893_ _) =>
+ (match (string_drop _s5892_ _s5893_) with
+ | _s5894_ =>
+ (reg_name_matches_prefix _s5894_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5717_ _) =>
- (match (string_drop _s5716_ _s5717_) with
- | _s5718_ =>
- (sep_matches_prefix _s5718_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5895_ _) =>
+ (match (string_drop _s5894_ _s5895_) with
+ | _s5896_ =>
+ (sep_matches_prefix _s5896_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5719_ _) =>
- (match (string_drop _s5718_ _s5719_) with
- | _s5720_ =>
- (reg_name_matches_prefix _s5720_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5897_ _) =>
+ (match (string_drop _s5896_ _s5897_) with
+ | _s5898_ =>
+ (reg_name_matches_prefix _s5898_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5721_ _) =>
- (match (string_drop _s5720_ _s5721_) with
- | _s5722_ =>
- (sep_matches_prefix _s5722_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5899_ _) =>
+ (match (string_drop _s5898_ _s5899_) with
+ | _s5900_ =>
+ (sep_matches_prefix _s5900_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5723_ _) =>
- (match (string_drop _s5722_ _s5723_) with
- | _s5724_ =>
- (reg_name_matches_prefix _s5724_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5901_ _) =>
+ (match (string_drop _s5900_ _s5901_) with
+ | _s5902_ =>
+ (reg_name_matches_prefix _s5902_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5725_ _) =>
- match (string_drop _s5724_
- _s5725_) with
+ | Some (rs2, existT _ _s5903_ _) =>
+ match (string_drop _s5902_
+ _s5903_) with
| s_ =>
Some
(high, signed1, signed2, rd, rs1, rs2, s_)
@@ -59806,33 +60975,33 @@ Definition _s5710_ (_s5711_ : string)
end)
: M (option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5698_ (_s5699_ : string) : M (option ((mword 5 * mword 5 * string))) :=
- let _s5700_ := _s5699_ in
- (if string_startswith _s5700_ "c.add" then
- (match (string_drop _s5700_ (projT1 (string_length "c.add"))) with
- | _s5701_ =>
- (spc_matches_prefix _s5701_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5876_ (_s5877_ : string) : M (option ((mword 5 * mword 5 * string))) :=
+ let _s5878_ := _s5877_ in
+ (if string_startswith _s5878_ "c.add" then
+ (match (string_drop _s5878_ (projT1 (string_length "c.add"))) with
+ | _s5879_ =>
+ (spc_matches_prefix _s5879_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5702_ _) =>
- (match (string_drop _s5701_ _s5702_) with
- | _s5703_ =>
- (reg_name_matches_prefix _s5703_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5880_ _) =>
+ (match (string_drop _s5879_ _s5880_) with
+ | _s5881_ =>
+ (reg_name_matches_prefix _s5881_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5704_ _) =>
- (match (string_drop _s5703_ _s5704_) with
- | _s5705_ =>
- (sep_matches_prefix _s5705_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5882_ _) =>
+ (match (string_drop _s5881_ _s5882_) with
+ | _s5883_ =>
+ (sep_matches_prefix _s5883_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5706_ _) =>
- (match (string_drop _s5705_ _s5706_) with
- | _s5707_ =>
- (reg_name_matches_prefix _s5707_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5884_ _) =>
+ (match (string_drop _s5883_ _s5884_) with
+ | _s5885_ =>
+ (reg_name_matches_prefix _s5885_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5708_ _) =>
- match (string_drop _s5707_ _s5708_) with
+ | Some (rs2, existT _ _s5886_ _) =>
+ match (string_drop _s5885_ _s5886_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -59857,39 +61026,39 @@ Definition _s5698_ (_s5699_ : string) : M (option ((mword 5 * mword 5 * string))
else returnm None)
: M (option ((mword 5 * mword 5 * string))).
-Definition _s5694_ (_s5695_ : string) : option string :=
- let _s5696_ := _s5695_ in
- if string_startswith _s5696_ "c.ebreak" then
- match (string_drop _s5696_ (projT1 (string_length "c.ebreak"))) with | s_ => Some s_ end
+Definition _s5872_ (_s5873_ : string) : option string :=
+ let _s5874_ := _s5873_ in
+ if string_startswith _s5874_ "c.ebreak" then
+ match (string_drop _s5874_ (projT1 (string_length "c.ebreak"))) with | s_ => Some s_ end
else None.
-Definition _s5682_ (_s5683_ : string) : M (option ((mword 5 * mword 5 * string))) :=
- let _s5684_ := _s5683_ in
- (if string_startswith _s5684_ "c.mv" then
- (match (string_drop _s5684_ (projT1 (string_length "c.mv"))) with
- | _s5685_ =>
- (spc_matches_prefix _s5685_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5860_ (_s5861_ : string) : M (option ((mword 5 * mword 5 * string))) :=
+ let _s5862_ := _s5861_ in
+ (if string_startswith _s5862_ "c.mv" then
+ (match (string_drop _s5862_ (projT1 (string_length "c.mv"))) with
+ | _s5863_ =>
+ (spc_matches_prefix _s5863_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5686_ _) =>
- (match (string_drop _s5685_ _s5686_) with
- | _s5687_ =>
- (reg_name_matches_prefix _s5687_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5864_ _) =>
+ (match (string_drop _s5863_ _s5864_) with
+ | _s5865_ =>
+ (reg_name_matches_prefix _s5865_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5688_ _) =>
- (match (string_drop _s5687_ _s5688_) with
- | _s5689_ =>
- (sep_matches_prefix _s5689_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5866_ _) =>
+ (match (string_drop _s5865_ _s5866_) with
+ | _s5867_ =>
+ (sep_matches_prefix _s5867_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5690_ _) =>
- (match (string_drop _s5689_ _s5690_) with
- | _s5691_ =>
- (reg_name_matches_prefix _s5691_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5868_ _) =>
+ (match (string_drop _s5867_ _s5868_) with
+ | _s5869_ =>
+ (reg_name_matches_prefix _s5869_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5692_ _) =>
- match (string_drop _s5691_ _s5692_) with
+ | Some (rs2, existT _ _s5870_ _) =>
+ match (string_drop _s5869_ _s5870_) with
| s_ => Some (rd, rs2, s_)
end
| _ => None
@@ -59914,21 +61083,21 @@ Definition _s5682_ (_s5683_ : string) : M (option ((mword 5 * mword 5 * string))
else returnm None)
: M (option ((mword 5 * mword 5 * string))).
-Definition _s5674_ (_s5675_ : string) : M (option ((mword 5 * string))) :=
- let _s5676_ := _s5675_ in
- (if string_startswith _s5676_ "c.jalr" then
- (match (string_drop _s5676_ (projT1 (string_length "c.jalr"))) with
- | _s5677_ =>
- (spc_matches_prefix _s5677_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5852_ (_s5853_ : string) : M (option ((mword 5 * string))) :=
+ let _s5854_ := _s5853_ in
+ (if string_startswith _s5854_ "c.jalr" then
+ (match (string_drop _s5854_ (projT1 (string_length "c.jalr"))) with
+ | _s5855_ =>
+ (spc_matches_prefix _s5855_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5678_ _) =>
- (match (string_drop _s5677_ _s5678_) with
- | _s5679_ =>
- (reg_name_matches_prefix _s5679_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5856_ _) =>
+ (match (string_drop _s5855_ _s5856_) with
+ | _s5857_ =>
+ (reg_name_matches_prefix _s5857_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s5680_ _) =>
- match (string_drop _s5679_ _s5680_) with | s_ => Some (rs1, s_) end
+ | Some (rs1, existT _ _s5858_ _) =>
+ match (string_drop _s5857_ _s5858_) with | s_ => Some (rs1, s_) end
| _ => None
end)
end)
@@ -59941,21 +61110,21 @@ Definition _s5674_ (_s5675_ : string) : M (option ((mword 5 * string))) :=
else returnm None)
: M (option ((mword 5 * string))).
-Definition _s5666_ (_s5667_ : string) : M (option ((mword 5 * string))) :=
- let _s5668_ := _s5667_ in
- (if string_startswith _s5668_ "c.jr" then
- (match (string_drop _s5668_ (projT1 (string_length "c.jr"))) with
- | _s5669_ =>
- (spc_matches_prefix _s5669_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5844_ (_s5845_ : string) : M (option ((mword 5 * string))) :=
+ let _s5846_ := _s5845_ in
+ (if string_startswith _s5846_ "c.jr" then
+ (match (string_drop _s5846_ (projT1 (string_length "c.jr"))) with
+ | _s5847_ =>
+ (spc_matches_prefix _s5847_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5670_ _) =>
- (match (string_drop _s5669_ _s5670_) with
- | _s5671_ =>
- (reg_name_matches_prefix _s5671_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5848_ _) =>
+ (match (string_drop _s5847_ _s5848_) with
+ | _s5849_ =>
+ (reg_name_matches_prefix _s5849_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__1 with
- | Some (rs1, existT _ _s5672_ _) =>
- match (string_drop _s5671_ _s5672_) with | s_ => Some (rs1, s_) end
+ | Some (rs1, existT _ _s5850_ _) =>
+ match (string_drop _s5849_ _s5850_) with | s_ => Some (rs1, s_) end
| _ => None
end)
end)
@@ -59968,31 +61137,31 @@ Definition _s5666_ (_s5667_ : string) : M (option ((mword 5 * string))) :=
else returnm None)
: M (option ((mword 5 * string))).
-Definition _s5654_ (_s5655_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5656_ := _s5655_ in
- (if string_startswith _s5656_ "c.sdsp" then
- (match (string_drop _s5656_ (projT1 (string_length "c.sdsp"))) with
- | _s5657_ =>
- (spc_matches_prefix _s5657_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5832_ (_s5833_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5834_ := _s5833_ in
+ (if string_startswith _s5834_ "c.sdsp" then
+ (match (string_drop _s5834_ (projT1 (string_length "c.sdsp"))) with
+ | _s5835_ =>
+ (spc_matches_prefix _s5835_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5658_ _) =>
- (match (string_drop _s5657_ _s5658_) with
- | _s5659_ =>
- (reg_name_matches_prefix _s5659_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5836_ _) =>
+ (match (string_drop _s5835_ _s5836_) with
+ | _s5837_ =>
+ (reg_name_matches_prefix _s5837_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs2, existT _ _s5660_ _) =>
- (match (string_drop _s5659_ _s5660_) with
- | _s5661_ =>
- (sep_matches_prefix _s5661_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s5838_ _) =>
+ (match (string_drop _s5837_ _s5838_) with
+ | _s5839_ =>
+ (sep_matches_prefix _s5839_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5662_ _) =>
- match (string_drop _s5661_ _s5662_) with
- | _s5663_ =>
- match (hex_bits_6_matches_prefix _s5663_) with
- | Some (uimm, existT _ _s5664_ _) =>
- match (string_drop _s5663_ _s5664_) with
+ | Some (tt, existT _ _s5840_ _) =>
+ match (string_drop _s5839_ _s5840_) with
+ | _s5841_ =>
+ match (hex_bits_6_matches_prefix _s5841_) with
+ | Some (uimm, existT _ _s5842_ _) =>
+ match (string_drop _s5841_ _s5842_) with
| s_ => Some (rs2, uimm, s_)
end
| _ => None
@@ -60015,31 +61184,31 @@ Definition _s5654_ (_s5655_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5642_ (_s5643_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5644_ := _s5643_ in
- (if string_startswith _s5644_ "c.swsp" then
- (match (string_drop _s5644_ (projT1 (string_length "c.swsp"))) with
- | _s5645_ =>
- (spc_matches_prefix _s5645_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5820_ (_s5821_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5822_ := _s5821_ in
+ (if string_startswith _s5822_ "c.swsp" then
+ (match (string_drop _s5822_ (projT1 (string_length "c.swsp"))) with
+ | _s5823_ =>
+ (spc_matches_prefix _s5823_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5646_ _) =>
- (match (string_drop _s5645_ _s5646_) with
- | _s5647_ =>
- (reg_name_matches_prefix _s5647_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5824_ _) =>
+ (match (string_drop _s5823_ _s5824_) with
+ | _s5825_ =>
+ (reg_name_matches_prefix _s5825_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5648_ _) =>
- (match (string_drop _s5647_ _s5648_) with
- | _s5649_ =>
- (sep_matches_prefix _s5649_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5826_ _) =>
+ (match (string_drop _s5825_ _s5826_) with
+ | _s5827_ =>
+ (sep_matches_prefix _s5827_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5650_ _) =>
- match (string_drop _s5649_ _s5650_) with
- | _s5651_ =>
- match (hex_bits_6_matches_prefix _s5651_) with
- | Some (uimm, existT _ _s5652_ _) =>
- match (string_drop _s5651_ _s5652_) with
+ | Some (tt, existT _ _s5828_ _) =>
+ match (string_drop _s5827_ _s5828_) with
+ | _s5829_ =>
+ match (hex_bits_6_matches_prefix _s5829_) with
+ | Some (uimm, existT _ _s5830_ _) =>
+ match (string_drop _s5829_ _s5830_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -60062,31 +61231,31 @@ Definition _s5642_ (_s5643_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5630_ (_s5631_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5632_ := _s5631_ in
- (if string_startswith _s5632_ "c.ldsp" then
- (match (string_drop _s5632_ (projT1 (string_length "c.ldsp"))) with
- | _s5633_ =>
- (spc_matches_prefix _s5633_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5808_ (_s5809_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5810_ := _s5809_ in
+ (if string_startswith _s5810_ "c.ldsp" then
+ (match (string_drop _s5810_ (projT1 (string_length "c.ldsp"))) with
+ | _s5811_ =>
+ (spc_matches_prefix _s5811_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5634_ _) =>
- (match (string_drop _s5633_ _s5634_) with
- | _s5635_ =>
- (reg_name_matches_prefix _s5635_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5812_ _) =>
+ (match (string_drop _s5811_ _s5812_) with
+ | _s5813_ =>
+ (reg_name_matches_prefix _s5813_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5636_ _) =>
- (match (string_drop _s5635_ _s5636_) with
- | _s5637_ =>
- (sep_matches_prefix _s5637_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5814_ _) =>
+ (match (string_drop _s5813_ _s5814_) with
+ | _s5815_ =>
+ (sep_matches_prefix _s5815_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5638_ _) =>
- match (string_drop _s5637_ _s5638_) with
- | _s5639_ =>
- match (hex_bits_6_matches_prefix _s5639_) with
- | Some (uimm, existT _ _s5640_ _) =>
- match (string_drop _s5639_ _s5640_) with
+ | Some (tt, existT _ _s5816_ _) =>
+ match (string_drop _s5815_ _s5816_) with
+ | _s5817_ =>
+ match (hex_bits_6_matches_prefix _s5817_) with
+ | Some (uimm, existT _ _s5818_ _) =>
+ match (string_drop _s5817_ _s5818_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -60109,31 +61278,31 @@ Definition _s5630_ (_s5631_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5618_ (_s5619_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5620_ := _s5619_ in
- (if string_startswith _s5620_ "c.lwsp" then
- (match (string_drop _s5620_ (projT1 (string_length "c.lwsp"))) with
- | _s5621_ =>
- (spc_matches_prefix _s5621_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5796_ (_s5797_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5798_ := _s5797_ in
+ (if string_startswith _s5798_ "c.lwsp" then
+ (match (string_drop _s5798_ (projT1 (string_length "c.lwsp"))) with
+ | _s5799_ =>
+ (spc_matches_prefix _s5799_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5622_ _) =>
- (match (string_drop _s5621_ _s5622_) with
- | _s5623_ =>
- (reg_name_matches_prefix _s5623_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5800_ _) =>
+ (match (string_drop _s5799_ _s5800_) with
+ | _s5801_ =>
+ (reg_name_matches_prefix _s5801_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5624_ _) =>
- (match (string_drop _s5623_ _s5624_) with
- | _s5625_ =>
- (sep_matches_prefix _s5625_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5802_ _) =>
+ (match (string_drop _s5801_ _s5802_) with
+ | _s5803_ =>
+ (sep_matches_prefix _s5803_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5626_ _) =>
- match (string_drop _s5625_ _s5626_) with
- | _s5627_ =>
- match (hex_bits_6_matches_prefix _s5627_) with
- | Some (uimm, existT _ _s5628_ _) =>
- match (string_drop _s5627_ _s5628_) with
+ | Some (tt, existT _ _s5804_ _) =>
+ match (string_drop _s5803_ _s5804_) with
+ | _s5805_ =>
+ match (hex_bits_6_matches_prefix _s5805_) with
+ | Some (uimm, existT _ _s5806_ _) =>
+ match (string_drop _s5805_ _s5806_) with
| s_ => Some (rd, uimm, s_)
end
| _ => None
@@ -60156,31 +61325,31 @@ Definition _s5618_ (_s5619_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5606_ (_s5607_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5608_ := _s5607_ in
- (if string_startswith _s5608_ "c.slli" then
- (match (string_drop _s5608_ (projT1 (string_length "c.slli"))) with
- | _s5609_ =>
- (spc_matches_prefix _s5609_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5784_ (_s5785_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5786_ := _s5785_ in
+ (if string_startswith _s5786_ "c.slli" then
+ (match (string_drop _s5786_ (projT1 (string_length "c.slli"))) with
+ | _s5787_ =>
+ (spc_matches_prefix _s5787_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5610_ _) =>
- (match (string_drop _s5609_ _s5610_) with
- | _s5611_ =>
- (reg_name_matches_prefix _s5611_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5788_ _) =>
+ (match (string_drop _s5787_ _s5788_) with
+ | _s5789_ =>
+ (reg_name_matches_prefix _s5789_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5612_ _) =>
- (match (string_drop _s5611_ _s5612_) with
- | _s5613_ =>
- (sep_matches_prefix _s5613_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5790_ _) =>
+ (match (string_drop _s5789_ _s5790_) with
+ | _s5791_ =>
+ (sep_matches_prefix _s5791_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5614_ _) =>
- match (string_drop _s5613_ _s5614_) with
- | _s5615_ =>
- match (hex_bits_6_matches_prefix _s5615_) with
- | Some (shamt, existT _ _s5616_ _) =>
- match (string_drop _s5615_ _s5616_) with
+ | Some (tt, existT _ _s5792_ _) =>
+ match (string_drop _s5791_ _s5792_) with
+ | _s5793_ =>
+ match (hex_bits_6_matches_prefix _s5793_) with
+ | Some (shamt, existT _ _s5794_ _) =>
+ match (string_drop _s5793_ _s5794_) with
| s_ => Some (rsd, shamt, s_)
end
| _ => None
@@ -60203,31 +61372,31 @@ Definition _s5606_ (_s5607_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5594_ (_s5595_ : string) : M (option ((mword 3 * mword 8 * string))) :=
- let _s5596_ := _s5595_ in
- (if string_startswith _s5596_ "c.bnez" then
- (match (string_drop _s5596_ (projT1 (string_length "c.bnez"))) with
- | _s5597_ =>
- (spc_matches_prefix _s5597_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5772_ (_s5773_ : string) : M (option ((mword 3 * mword 8 * string))) :=
+ let _s5774_ := _s5773_ in
+ (if string_startswith _s5774_ "c.bnez" then
+ (match (string_drop _s5774_ (projT1 (string_length "c.bnez"))) with
+ | _s5775_ =>
+ (spc_matches_prefix _s5775_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5598_ _) =>
- (match (string_drop _s5597_ _s5598_) with
- | _s5599_ =>
- (creg_name_matches_prefix _s5599_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5776_ _) =>
+ (match (string_drop _s5775_ _s5776_) with
+ | _s5777_ =>
+ (creg_name_matches_prefix _s5777_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s5600_ _) =>
- (match (string_drop _s5599_ _s5600_) with
- | _s5601_ =>
- (sep_matches_prefix _s5601_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s5778_ _) =>
+ (match (string_drop _s5777_ _s5778_) with
+ | _s5779_ =>
+ (sep_matches_prefix _s5779_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5602_ _) =>
- match (string_drop _s5601_ _s5602_) with
- | _s5603_ =>
- match (hex_bits_8_matches_prefix _s5603_) with
- | Some (imm, existT _ _s5604_ _) =>
- match (string_drop _s5603_ _s5604_) with
+ | Some (tt, existT _ _s5780_ _) =>
+ match (string_drop _s5779_ _s5780_) with
+ | _s5781_ =>
+ match (hex_bits_8_matches_prefix _s5781_) with
+ | Some (imm, existT _ _s5782_ _) =>
+ match (string_drop _s5781_ _s5782_) with
| s_ => Some (rs, imm, s_)
end
| _ => None
@@ -60250,31 +61419,31 @@ Definition _s5594_ (_s5595_ : string) : M (option ((mword 3 * mword 8 * string))
else returnm None)
: M (option ((mword 3 * mword 8 * string))).
-Definition _s5582_ (_s5583_ : string) : M (option ((mword 3 * mword 8 * string))) :=
- let _s5584_ := _s5583_ in
- (if string_startswith _s5584_ "c.beqz" then
- (match (string_drop _s5584_ (projT1 (string_length "c.beqz"))) with
- | _s5585_ =>
- (spc_matches_prefix _s5585_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5760_ (_s5761_ : string) : M (option ((mword 3 * mword 8 * string))) :=
+ let _s5762_ := _s5761_ in
+ (if string_startswith _s5762_ "c.beqz" then
+ (match (string_drop _s5762_ (projT1 (string_length "c.beqz"))) with
+ | _s5763_ =>
+ (spc_matches_prefix _s5763_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5586_ _) =>
- (match (string_drop _s5585_ _s5586_) with
- | _s5587_ =>
- (creg_name_matches_prefix _s5587_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5764_ _) =>
+ (match (string_drop _s5763_ _s5764_) with
+ | _s5765_ =>
+ (creg_name_matches_prefix _s5765_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs, existT _ _s5588_ _) =>
- (match (string_drop _s5587_ _s5588_) with
- | _s5589_ =>
- (sep_matches_prefix _s5589_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs, existT _ _s5766_ _) =>
+ (match (string_drop _s5765_ _s5766_) with
+ | _s5767_ =>
+ (sep_matches_prefix _s5767_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5590_ _) =>
- match (string_drop _s5589_ _s5590_) with
- | _s5591_ =>
- match (hex_bits_8_matches_prefix _s5591_) with
- | Some (imm, existT _ _s5592_ _) =>
- match (string_drop _s5591_ _s5592_) with
+ | Some (tt, existT _ _s5768_ _) =>
+ match (string_drop _s5767_ _s5768_) with
+ | _s5769_ =>
+ match (hex_bits_8_matches_prefix _s5769_) with
+ | Some (imm, existT _ _s5770_ _) =>
+ match (string_drop _s5769_ _s5770_) with
| s_ => Some (rs, imm, s_)
end
| _ => None
@@ -60297,19 +61466,19 @@ Definition _s5582_ (_s5583_ : string) : M (option ((mword 3 * mword 8 * string))
else returnm None)
: M (option ((mword 3 * mword 8 * string))).
-Definition _s5574_ (_s5575_ : string) : M (option ((mword 11 * string))) :=
- let _s5576_ := _s5575_ in
- (if string_startswith _s5576_ "c.j" then
- (match (string_drop _s5576_ (projT1 (string_length "c.j"))) with
- | _s5577_ =>
- (spc_matches_prefix _s5577_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5752_ (_s5753_ : string) : M (option ((mword 11 * string))) :=
+ let _s5754_ := _s5753_ in
+ (if string_startswith _s5754_ "c.j" then
+ (match (string_drop _s5754_ (projT1 (string_length "c.j"))) with
+ | _s5755_ =>
+ (spc_matches_prefix _s5755_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s5578_ _) =>
- match (string_drop _s5577_ _s5578_) with
- | _s5579_ =>
- match (hex_bits_11_matches_prefix _s5579_) with
- | Some (imm, existT _ _s5580_ _) =>
- match (string_drop _s5579_ _s5580_) with | s_ => Some (imm, s_) end
+ | Some (tt, existT _ _s5756_ _) =>
+ match (string_drop _s5755_ _s5756_) with
+ | _s5757_ =>
+ match (hex_bits_11_matches_prefix _s5757_) with
+ | Some (imm, existT _ _s5758_ _) =>
+ match (string_drop _s5757_ _s5758_) with | s_ => Some (imm, s_) end
| _ => None
end
end
@@ -60320,33 +61489,33 @@ Definition _s5574_ (_s5575_ : string) : M (option ((mword 11 * string))) :=
else returnm None)
: M (option ((mword 11 * string))).
-Definition _s5562_ (_s5563_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s5564_ := _s5563_ in
- (if string_startswith _s5564_ "c.addw" then
- (match (string_drop _s5564_ (projT1 (string_length "c.addw"))) with
- | _s5565_ =>
- (spc_matches_prefix _s5565_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5740_ (_s5741_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s5742_ := _s5741_ in
+ (if string_startswith _s5742_ "c.addw" then
+ (match (string_drop _s5742_ (projT1 (string_length "c.addw"))) with
+ | _s5743_ =>
+ (spc_matches_prefix _s5743_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5566_ _) =>
- (match (string_drop _s5565_ _s5566_) with
- | _s5567_ =>
- (creg_name_matches_prefix _s5567_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5744_ _) =>
+ (match (string_drop _s5743_ _s5744_) with
+ | _s5745_ =>
+ (creg_name_matches_prefix _s5745_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5568_ _) =>
- (match (string_drop _s5567_ _s5568_) with
- | _s5569_ =>
- (sep_matches_prefix _s5569_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5746_ _) =>
+ (match (string_drop _s5745_ _s5746_) with
+ | _s5747_ =>
+ (sep_matches_prefix _s5747_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5570_ _) =>
- (match (string_drop _s5569_ _s5570_) with
- | _s5571_ =>
- (creg_name_matches_prefix _s5571_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5748_ _) =>
+ (match (string_drop _s5747_ _s5748_) with
+ | _s5749_ =>
+ (creg_name_matches_prefix _s5749_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5572_ _) =>
- match (string_drop _s5571_ _s5572_) with
+ | Some (rs2, existT _ _s5750_ _) =>
+ match (string_drop _s5749_ _s5750_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -60371,33 +61540,33 @@ Definition _s5562_ (_s5563_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s5550_ (_s5551_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s5552_ := _s5551_ in
- (if string_startswith _s5552_ "c.subw" then
- (match (string_drop _s5552_ (projT1 (string_length "c.subw"))) with
- | _s5553_ =>
- (spc_matches_prefix _s5553_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5728_ (_s5729_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s5730_ := _s5729_ in
+ (if string_startswith _s5730_ "c.subw" then
+ (match (string_drop _s5730_ (projT1 (string_length "c.subw"))) with
+ | _s5731_ =>
+ (spc_matches_prefix _s5731_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5554_ _) =>
- (match (string_drop _s5553_ _s5554_) with
- | _s5555_ =>
- (creg_name_matches_prefix _s5555_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5732_ _) =>
+ (match (string_drop _s5731_ _s5732_) with
+ | _s5733_ =>
+ (creg_name_matches_prefix _s5733_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5556_ _) =>
- (match (string_drop _s5555_ _s5556_) with
- | _s5557_ =>
- (sep_matches_prefix _s5557_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5734_ _) =>
+ (match (string_drop _s5733_ _s5734_) with
+ | _s5735_ =>
+ (sep_matches_prefix _s5735_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5558_ _) =>
- (match (string_drop _s5557_ _s5558_) with
- | _s5559_ =>
- (creg_name_matches_prefix _s5559_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5736_ _) =>
+ (match (string_drop _s5735_ _s5736_) with
+ | _s5737_ =>
+ (creg_name_matches_prefix _s5737_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5560_ _) =>
- match (string_drop _s5559_ _s5560_) with
+ | Some (rs2, existT _ _s5738_ _) =>
+ match (string_drop _s5737_ _s5738_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -60422,33 +61591,33 @@ Definition _s5550_ (_s5551_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s5538_ (_s5539_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s5540_ := _s5539_ in
- (if string_startswith _s5540_ "c.and" then
- (match (string_drop _s5540_ (projT1 (string_length "c.and"))) with
- | _s5541_ =>
- (spc_matches_prefix _s5541_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5716_ (_s5717_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s5718_ := _s5717_ in
+ (if string_startswith _s5718_ "c.and" then
+ (match (string_drop _s5718_ (projT1 (string_length "c.and"))) with
+ | _s5719_ =>
+ (spc_matches_prefix _s5719_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5542_ _) =>
- (match (string_drop _s5541_ _s5542_) with
- | _s5543_ =>
- (creg_name_matches_prefix _s5543_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5720_ _) =>
+ (match (string_drop _s5719_ _s5720_) with
+ | _s5721_ =>
+ (creg_name_matches_prefix _s5721_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5544_ _) =>
- (match (string_drop _s5543_ _s5544_) with
- | _s5545_ =>
- (sep_matches_prefix _s5545_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5722_ _) =>
+ (match (string_drop _s5721_ _s5722_) with
+ | _s5723_ =>
+ (sep_matches_prefix _s5723_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5546_ _) =>
- (match (string_drop _s5545_ _s5546_) with
- | _s5547_ =>
- (creg_name_matches_prefix _s5547_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5724_ _) =>
+ (match (string_drop _s5723_ _s5724_) with
+ | _s5725_ =>
+ (creg_name_matches_prefix _s5725_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5548_ _) =>
- match (string_drop _s5547_ _s5548_) with
+ | Some (rs2, existT _ _s5726_ _) =>
+ match (string_drop _s5725_ _s5726_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -60473,33 +61642,33 @@ Definition _s5538_ (_s5539_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s5526_ (_s5527_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s5528_ := _s5527_ in
- (if string_startswith _s5528_ "c.or" then
- (match (string_drop _s5528_ (projT1 (string_length "c.or"))) with
- | _s5529_ =>
- (spc_matches_prefix _s5529_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5704_ (_s5705_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s5706_ := _s5705_ in
+ (if string_startswith _s5706_ "c.or" then
+ (match (string_drop _s5706_ (projT1 (string_length "c.or"))) with
+ | _s5707_ =>
+ (spc_matches_prefix _s5707_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5530_ _) =>
- (match (string_drop _s5529_ _s5530_) with
- | _s5531_ =>
- (creg_name_matches_prefix _s5531_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5708_ _) =>
+ (match (string_drop _s5707_ _s5708_) with
+ | _s5709_ =>
+ (creg_name_matches_prefix _s5709_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5532_ _) =>
- (match (string_drop _s5531_ _s5532_) with
- | _s5533_ =>
- (sep_matches_prefix _s5533_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5710_ _) =>
+ (match (string_drop _s5709_ _s5710_) with
+ | _s5711_ =>
+ (sep_matches_prefix _s5711_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5534_ _) =>
- (match (string_drop _s5533_ _s5534_) with
- | _s5535_ =>
- (creg_name_matches_prefix _s5535_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5712_ _) =>
+ (match (string_drop _s5711_ _s5712_) with
+ | _s5713_ =>
+ (creg_name_matches_prefix _s5713_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5536_ _) =>
- match (string_drop _s5535_ _s5536_) with
+ | Some (rs2, existT _ _s5714_ _) =>
+ match (string_drop _s5713_ _s5714_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -60524,33 +61693,33 @@ Definition _s5526_ (_s5527_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s5514_ (_s5515_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s5516_ := _s5515_ in
- (if string_startswith _s5516_ "c.xor" then
- (match (string_drop _s5516_ (projT1 (string_length "c.xor"))) with
- | _s5517_ =>
- (spc_matches_prefix _s5517_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5692_ (_s5693_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s5694_ := _s5693_ in
+ (if string_startswith _s5694_ "c.xor" then
+ (match (string_drop _s5694_ (projT1 (string_length "c.xor"))) with
+ | _s5695_ =>
+ (spc_matches_prefix _s5695_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5518_ _) =>
- (match (string_drop _s5517_ _s5518_) with
- | _s5519_ =>
- (creg_name_matches_prefix _s5519_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5696_ _) =>
+ (match (string_drop _s5695_ _s5696_) with
+ | _s5697_ =>
+ (creg_name_matches_prefix _s5697_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5520_ _) =>
- (match (string_drop _s5519_ _s5520_) with
- | _s5521_ =>
- (sep_matches_prefix _s5521_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5698_ _) =>
+ (match (string_drop _s5697_ _s5698_) with
+ | _s5699_ =>
+ (sep_matches_prefix _s5699_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5522_ _) =>
- (match (string_drop _s5521_ _s5522_) with
- | _s5523_ =>
- (creg_name_matches_prefix _s5523_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5700_ _) =>
+ (match (string_drop _s5699_ _s5700_) with
+ | _s5701_ =>
+ (creg_name_matches_prefix _s5701_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5524_ _) =>
- match (string_drop _s5523_ _s5524_) with
+ | Some (rs2, existT _ _s5702_ _) =>
+ match (string_drop _s5701_ _s5702_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -60575,33 +61744,33 @@ Definition _s5514_ (_s5515_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s5502_ (_s5503_ : string) : M (option ((mword 3 * mword 3 * string))) :=
- let _s5504_ := _s5503_ in
- (if string_startswith _s5504_ "c.sub" then
- (match (string_drop _s5504_ (projT1 (string_length "c.sub"))) with
- | _s5505_ =>
- (spc_matches_prefix _s5505_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5680_ (_s5681_ : string) : M (option ((mword 3 * mword 3 * string))) :=
+ let _s5682_ := _s5681_ in
+ (if string_startswith _s5682_ "c.sub" then
+ (match (string_drop _s5682_ (projT1 (string_length "c.sub"))) with
+ | _s5683_ =>
+ (spc_matches_prefix _s5683_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5506_ _) =>
- (match (string_drop _s5505_ _s5506_) with
- | _s5507_ =>
- (creg_name_matches_prefix _s5507_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5684_ _) =>
+ (match (string_drop _s5683_ _s5684_) with
+ | _s5685_ =>
+ (creg_name_matches_prefix _s5685_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5508_ _) =>
- (match (string_drop _s5507_ _s5508_) with
- | _s5509_ =>
- (sep_matches_prefix _s5509_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5686_ _) =>
+ (match (string_drop _s5685_ _s5686_) with
+ | _s5687_ =>
+ (sep_matches_prefix _s5687_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5510_ _) =>
- (match (string_drop _s5509_ _s5510_) with
- | _s5511_ =>
- (creg_name_matches_prefix _s5511_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5688_ _) =>
+ (match (string_drop _s5687_ _s5688_) with
+ | _s5689_ =>
+ (creg_name_matches_prefix _s5689_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5512_ _) =>
- match (string_drop _s5511_ _s5512_) with
+ | Some (rs2, existT _ _s5690_ _) =>
+ match (string_drop _s5689_ _s5690_) with
| s_ => Some (rsd, rs2, s_)
end
| _ => None
@@ -60626,31 +61795,31 @@ Definition _s5502_ (_s5503_ : string) : M (option ((mword 3 * mword 3 * string))
else returnm None)
: M (option ((mword 3 * mword 3 * string))).
-Definition _s5490_ (_s5491_ : string) : M (option ((mword 3 * mword 6 * string))) :=
- let _s5492_ := _s5491_ in
- (if string_startswith _s5492_ "c.andi" then
- (match (string_drop _s5492_ (projT1 (string_length "c.andi"))) with
- | _s5493_ =>
- (spc_matches_prefix _s5493_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5668_ (_s5669_ : string) : M (option ((mword 3 * mword 6 * string))) :=
+ let _s5670_ := _s5669_ in
+ (if string_startswith _s5670_ "c.andi" then
+ (match (string_drop _s5670_ (projT1 (string_length "c.andi"))) with
+ | _s5671_ =>
+ (spc_matches_prefix _s5671_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5494_ _) =>
- (match (string_drop _s5493_ _s5494_) with
- | _s5495_ =>
- (creg_name_matches_prefix _s5495_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5672_ _) =>
+ (match (string_drop _s5671_ _s5672_) with
+ | _s5673_ =>
+ (creg_name_matches_prefix _s5673_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5496_ _) =>
- (match (string_drop _s5495_ _s5496_) with
- | _s5497_ =>
- (sep_matches_prefix _s5497_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5674_ _) =>
+ (match (string_drop _s5673_ _s5674_) with
+ | _s5675_ =>
+ (sep_matches_prefix _s5675_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5498_ _) =>
- match (string_drop _s5497_ _s5498_) with
- | _s5499_ =>
- match (hex_bits_6_matches_prefix _s5499_) with
- | Some (imm, existT _ _s5500_ _) =>
- match (string_drop _s5499_ _s5500_) with
+ | Some (tt, existT _ _s5676_ _) =>
+ match (string_drop _s5675_ _s5676_) with
+ | _s5677_ =>
+ match (hex_bits_6_matches_prefix _s5677_) with
+ | Some (imm, existT _ _s5678_ _) =>
+ match (string_drop _s5677_ _s5678_) with
| s_ => Some (rsd, imm, s_)
end
| _ => None
@@ -60673,31 +61842,31 @@ Definition _s5490_ (_s5491_ : string) : M (option ((mword 3 * mword 6 * string))
else returnm None)
: M (option ((mword 3 * mword 6 * string))).
-Definition _s5478_ (_s5479_ : string) : M (option ((mword 3 * mword 6 * string))) :=
- let _s5480_ := _s5479_ in
- (if string_startswith _s5480_ "c.srai" then
- (match (string_drop _s5480_ (projT1 (string_length "c.srai"))) with
- | _s5481_ =>
- (spc_matches_prefix _s5481_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5656_ (_s5657_ : string) : M (option ((mword 3 * mword 6 * string))) :=
+ let _s5658_ := _s5657_ in
+ (if string_startswith _s5658_ "c.srai" then
+ (match (string_drop _s5658_ (projT1 (string_length "c.srai"))) with
+ | _s5659_ =>
+ (spc_matches_prefix _s5659_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5482_ _) =>
- (match (string_drop _s5481_ _s5482_) with
- | _s5483_ =>
- (creg_name_matches_prefix _s5483_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5660_ _) =>
+ (match (string_drop _s5659_ _s5660_) with
+ | _s5661_ =>
+ (creg_name_matches_prefix _s5661_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5484_ _) =>
- (match (string_drop _s5483_ _s5484_) with
- | _s5485_ =>
- (sep_matches_prefix _s5485_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5662_ _) =>
+ (match (string_drop _s5661_ _s5662_) with
+ | _s5663_ =>
+ (sep_matches_prefix _s5663_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5486_ _) =>
- match (string_drop _s5485_ _s5486_) with
- | _s5487_ =>
- match (hex_bits_6_matches_prefix _s5487_) with
- | Some (shamt, existT _ _s5488_ _) =>
- match (string_drop _s5487_ _s5488_) with
+ | Some (tt, existT _ _s5664_ _) =>
+ match (string_drop _s5663_ _s5664_) with
+ | _s5665_ =>
+ match (hex_bits_6_matches_prefix _s5665_) with
+ | Some (shamt, existT _ _s5666_ _) =>
+ match (string_drop _s5665_ _s5666_) with
| s_ => Some (rsd, shamt, s_)
end
| _ => None
@@ -60720,31 +61889,31 @@ Definition _s5478_ (_s5479_ : string) : M (option ((mword 3 * mword 6 * string))
else returnm None)
: M (option ((mword 3 * mword 6 * string))).
-Definition _s5466_ (_s5467_ : string) : M (option ((mword 3 * mword 6 * string))) :=
- let _s5468_ := _s5467_ in
- (if string_startswith _s5468_ "c.srli" then
- (match (string_drop _s5468_ (projT1 (string_length "c.srli"))) with
- | _s5469_ =>
- (spc_matches_prefix _s5469_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5644_ (_s5645_ : string) : M (option ((mword 3 * mword 6 * string))) :=
+ let _s5646_ := _s5645_ in
+ (if string_startswith _s5646_ "c.srli" then
+ (match (string_drop _s5646_ (projT1 (string_length "c.srli"))) with
+ | _s5647_ =>
+ (spc_matches_prefix _s5647_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5470_ _) =>
- (match (string_drop _s5469_ _s5470_) with
- | _s5471_ =>
- (creg_name_matches_prefix _s5471_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5648_ _) =>
+ (match (string_drop _s5647_ _s5648_) with
+ | _s5649_ =>
+ (creg_name_matches_prefix _s5649_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5472_ _) =>
- (match (string_drop _s5471_ _s5472_) with
- | _s5473_ =>
- (sep_matches_prefix _s5473_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5650_ _) =>
+ (match (string_drop _s5649_ _s5650_) with
+ | _s5651_ =>
+ (sep_matches_prefix _s5651_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5474_ _) =>
- match (string_drop _s5473_ _s5474_) with
- | _s5475_ =>
- match (hex_bits_6_matches_prefix _s5475_) with
- | Some (shamt, existT _ _s5476_ _) =>
- match (string_drop _s5475_ _s5476_) with
+ | Some (tt, existT _ _s5652_ _) =>
+ match (string_drop _s5651_ _s5652_) with
+ | _s5653_ =>
+ match (hex_bits_6_matches_prefix _s5653_) with
+ | Some (shamt, existT _ _s5654_ _) =>
+ match (string_drop _s5653_ _s5654_) with
| s_ => Some (rsd, shamt, s_)
end
| _ => None
@@ -60767,31 +61936,31 @@ Definition _s5466_ (_s5467_ : string) : M (option ((mword 3 * mword 6 * string))
else returnm None)
: M (option ((mword 3 * mword 6 * string))).
-Definition _s5454_ (_s5455_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5456_ := _s5455_ in
- (if string_startswith _s5456_ "c.lui" then
- (match (string_drop _s5456_ (projT1 (string_length "c.lui"))) with
- | _s5457_ =>
- (spc_matches_prefix _s5457_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5632_ (_s5633_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5634_ := _s5633_ in
+ (if string_startswith _s5634_ "c.lui" then
+ (match (string_drop _s5634_ (projT1 (string_length "c.lui"))) with
+ | _s5635_ =>
+ (spc_matches_prefix _s5635_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5458_ _) =>
- (match (string_drop _s5457_ _s5458_) with
- | _s5459_ =>
- (reg_name_matches_prefix _s5459_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5636_ _) =>
+ (match (string_drop _s5635_ _s5636_) with
+ | _s5637_ =>
+ (reg_name_matches_prefix _s5637_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5460_ _) =>
- (match (string_drop _s5459_ _s5460_) with
- | _s5461_ =>
- (sep_matches_prefix _s5461_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5638_ _) =>
+ (match (string_drop _s5637_ _s5638_) with
+ | _s5639_ =>
+ (sep_matches_prefix _s5639_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5462_ _) =>
- match (string_drop _s5461_ _s5462_) with
- | _s5463_ =>
- match (hex_bits_6_matches_prefix _s5463_) with
- | Some (imm, existT _ _s5464_ _) =>
- match (string_drop _s5463_ _s5464_) with
+ | Some (tt, existT _ _s5640_ _) =>
+ match (string_drop _s5639_ _s5640_) with
+ | _s5641_ =>
+ match (hex_bits_6_matches_prefix _s5641_) with
+ | Some (imm, existT _ _s5642_ _) =>
+ match (string_drop _s5641_ _s5642_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -60814,19 +61983,19 @@ Definition _s5454_ (_s5455_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5446_ (_s5447_ : string) : M (option ((mword 6 * string))) :=
- let _s5448_ := _s5447_ in
- (if string_startswith _s5448_ "c.addi16sp" then
- (match (string_drop _s5448_ (projT1 (string_length "c.addi16sp"))) with
- | _s5449_ =>
- (spc_matches_prefix _s5449_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5624_ (_s5625_ : string) : M (option ((mword 6 * string))) :=
+ let _s5626_ := _s5625_ in
+ (if string_startswith _s5626_ "c.addi16sp" then
+ (match (string_drop _s5626_ (projT1 (string_length "c.addi16sp"))) with
+ | _s5627_ =>
+ (spc_matches_prefix _s5627_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s5450_ _) =>
- match (string_drop _s5449_ _s5450_) with
- | _s5451_ =>
- match (hex_bits_6_matches_prefix _s5451_) with
- | Some (imm, existT _ _s5452_ _) =>
- match (string_drop _s5451_ _s5452_) with | s_ => Some (imm, s_) end
+ | Some (tt, existT _ _s5628_ _) =>
+ match (string_drop _s5627_ _s5628_) with
+ | _s5629_ =>
+ match (hex_bits_6_matches_prefix _s5629_) with
+ | Some (imm, existT _ _s5630_ _) =>
+ match (string_drop _s5629_ _s5630_) with | s_ => Some (imm, s_) end
| _ => None
end
end
@@ -60837,31 +62006,31 @@ Definition _s5446_ (_s5447_ : string) : M (option ((mword 6 * string))) :=
else returnm None)
: M (option ((mword 6 * string))).
-Definition _s5434_ (_s5435_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5436_ := _s5435_ in
- (if string_startswith _s5436_ "c.li" then
- (match (string_drop _s5436_ (projT1 (string_length "c.li"))) with
- | _s5437_ =>
- (spc_matches_prefix _s5437_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5612_ (_s5613_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5614_ := _s5613_ in
+ (if string_startswith _s5614_ "c.li" then
+ (match (string_drop _s5614_ (projT1 (string_length "c.li"))) with
+ | _s5615_ =>
+ (spc_matches_prefix _s5615_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5438_ _) =>
- (match (string_drop _s5437_ _s5438_) with
- | _s5439_ =>
- (reg_name_matches_prefix _s5439_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5616_ _) =>
+ (match (string_drop _s5615_ _s5616_) with
+ | _s5617_ =>
+ (reg_name_matches_prefix _s5617_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5440_ _) =>
- (match (string_drop _s5439_ _s5440_) with
- | _s5441_ =>
- (sep_matches_prefix _s5441_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5618_ _) =>
+ (match (string_drop _s5617_ _s5618_) with
+ | _s5619_ =>
+ (sep_matches_prefix _s5619_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5442_ _) =>
- match (string_drop _s5441_ _s5442_) with
- | _s5443_ =>
- match (hex_bits_6_matches_prefix _s5443_) with
- | Some (imm, existT _ _s5444_ _) =>
- match (string_drop _s5443_ _s5444_) with
+ | Some (tt, existT _ _s5620_ _) =>
+ match (string_drop _s5619_ _s5620_) with
+ | _s5621_ =>
+ match (hex_bits_6_matches_prefix _s5621_) with
+ | Some (imm, existT _ _s5622_ _) =>
+ match (string_drop _s5621_ _s5622_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -60884,31 +62053,31 @@ Definition _s5434_ (_s5435_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5422_ (_s5423_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5424_ := _s5423_ in
- (if string_startswith _s5424_ "c.addiw" then
- (match (string_drop _s5424_ (projT1 (string_length "c.addiw"))) with
- | _s5425_ =>
- (spc_matches_prefix _s5425_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5600_ (_s5601_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5602_ := _s5601_ in
+ (if string_startswith _s5602_ "c.addiw" then
+ (match (string_drop _s5602_ (projT1 (string_length "c.addiw"))) with
+ | _s5603_ =>
+ (spc_matches_prefix _s5603_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5426_ _) =>
- (match (string_drop _s5425_ _s5426_) with
- | _s5427_ =>
- (reg_name_matches_prefix _s5427_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5604_ _) =>
+ (match (string_drop _s5603_ _s5604_) with
+ | _s5605_ =>
+ (reg_name_matches_prefix _s5605_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5428_ _) =>
- (match (string_drop _s5427_ _s5428_) with
- | _s5429_ =>
- (sep_matches_prefix _s5429_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5606_ _) =>
+ (match (string_drop _s5605_ _s5606_) with
+ | _s5607_ =>
+ (sep_matches_prefix _s5607_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5430_ _) =>
- match (string_drop _s5429_ _s5430_) with
- | _s5431_ =>
- match (hex_bits_6_matches_prefix _s5431_) with
- | Some (imm, existT _ _s5432_ _) =>
- match (string_drop _s5431_ _s5432_) with
+ | Some (tt, existT _ _s5608_ _) =>
+ match (string_drop _s5607_ _s5608_) with
+ | _s5609_ =>
+ match (hex_bits_6_matches_prefix _s5609_) with
+ | Some (imm, existT _ _s5610_ _) =>
+ match (string_drop _s5609_ _s5610_) with
| s_ => Some (rsd, imm, s_)
end
| _ => None
@@ -60931,23 +62100,23 @@ Definition _s5422_ (_s5423_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5414_ (_s5415_ : string) : M (option ((mword 11 * string))) :=
- let _s5416_ := _s5415_ in
- (if string_startswith _s5416_ "c.jal" then
- (match (string_drop _s5416_ (projT1 (string_length "c.jal"))) with
- | _s5417_ =>
- (spc_matches_prefix _s5417_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5592_ (_s5593_ : string) : M (option ((mword 11 * string))) :=
+ let _s5594_ := _s5593_ in
+ (if string_startswith _s5594_ "c.jal" then
+ (match (string_drop _s5594_ (projT1 (string_length "c.jal"))) with
+ | _s5595_ =>
+ (spc_matches_prefix _s5595_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
returnm (match w__0 with
- | Some (tt, existT _ _s5418_ _) =>
- match (string_drop _s5417_ _s5418_) with
- | _s5419_ =>
- match (hex_bits_12_matches_prefix _s5419_) with
- | Some (v__1386, existT _ _s5420_ _) =>
- if eq_vec (subrange_vec_dec v__1386 0 0) ('b"0" : mword (0 - 0 + 1))
+ | Some (tt, existT _ _s5596_ _) =>
+ match (string_drop _s5595_ _s5596_) with
+ | _s5597_ =>
+ match (hex_bits_12_matches_prefix _s5597_) with
+ | Some (v__1490, existT _ _s5598_ _) =>
+ if eq_vec (subrange_vec_dec v__1490 0 0) ('b"0" : mword (0 - 0 + 1))
then
- let imm : mword 11 := subrange_vec_dec v__1386 11 1 in
- let imm : mword 11 := subrange_vec_dec v__1386 11 1 in
- match (string_drop _s5419_ _s5420_) with | s_ => Some (imm, s_) end
+ let imm : mword 11 := subrange_vec_dec v__1490 11 1 in
+ let imm : mword 11 := subrange_vec_dec v__1490 11 1 in
+ match (string_drop _s5597_ _s5598_) with | s_ => Some (imm, s_) end
else None
| _ => None
end
@@ -60959,31 +62128,31 @@ Definition _s5414_ (_s5415_ : string) : M (option ((mword 11 * string))) :=
else returnm None)
: M (option ((mword 11 * string))).
-Definition _s5402_ (_s5403_ : string) : M (option ((mword 5 * mword 6 * string))) :=
- let _s5404_ := _s5403_ in
- (if string_startswith _s5404_ "c.addi" then
- (match (string_drop _s5404_ (projT1 (string_length "c.addi"))) with
- | _s5405_ =>
- (spc_matches_prefix _s5405_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5580_ (_s5581_ : string) : M (option ((mword 5 * mword 6 * string))) :=
+ let _s5582_ := _s5581_ in
+ (if string_startswith _s5582_ "c.addi" then
+ (match (string_drop _s5582_ (projT1 (string_length "c.addi"))) with
+ | _s5583_ =>
+ (spc_matches_prefix _s5583_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5406_ _) =>
- (match (string_drop _s5405_ _s5406_) with
- | _s5407_ =>
- (reg_name_matches_prefix _s5407_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5584_ _) =>
+ (match (string_drop _s5583_ _s5584_) with
+ | _s5585_ =>
+ (reg_name_matches_prefix _s5585_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsd, existT _ _s5408_ _) =>
- (match (string_drop _s5407_ _s5408_) with
- | _s5409_ =>
- (sep_matches_prefix _s5409_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsd, existT _ _s5586_ _) =>
+ (match (string_drop _s5585_ _s5586_) with
+ | _s5587_ =>
+ (sep_matches_prefix _s5587_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5410_ _) =>
- match (string_drop _s5409_ _s5410_) with
- | _s5411_ =>
- match (hex_bits_6_matches_prefix _s5411_) with
- | Some (nzi, existT _ _s5412_ _) =>
- match (string_drop _s5411_ _s5412_) with
+ | Some (tt, existT _ _s5588_ _) =>
+ match (string_drop _s5587_ _s5588_) with
+ | _s5589_ =>
+ match (hex_bits_6_matches_prefix _s5589_) with
+ | Some (nzi, existT _ _s5590_ _) =>
+ match (string_drop _s5589_ _s5590_) with
| s_ => Some (rsd, nzi, s_)
end
| _ => None
@@ -61006,50 +62175,50 @@ Definition _s5402_ (_s5403_ : string) : M (option ((mword 5 * mword 6 * string))
else returnm None)
: M (option ((mword 5 * mword 6 * string))).
-Definition _s5386_ (_s5387_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s5388_ := _s5387_ in
- (if string_startswith _s5388_ "c.sd" then
- (match (string_drop _s5388_ (projT1 (string_length "c.sd"))) with
- | _s5389_ =>
- (spc_matches_prefix _s5389_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5564_ (_s5565_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s5566_ := _s5565_ in
+ (if string_startswith _s5566_ "c.sd" then
+ (match (string_drop _s5566_ (projT1 (string_length "c.sd"))) with
+ | _s5567_ =>
+ (spc_matches_prefix _s5567_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5390_ _) =>
- (match (string_drop _s5389_ _s5390_) with
- | _s5391_ =>
- (creg_name_matches_prefix _s5391_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5568_ _) =>
+ (match (string_drop _s5567_ _s5568_) with
+ | _s5569_ =>
+ (creg_name_matches_prefix _s5569_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s5392_ _) =>
- (match (string_drop _s5391_ _s5392_) with
- | _s5393_ =>
- (sep_matches_prefix _s5393_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s5570_ _) =>
+ (match (string_drop _s5569_ _s5570_) with
+ | _s5571_ =>
+ (sep_matches_prefix _s5571_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5394_ _) =>
- (match (string_drop _s5393_ _s5394_) with
- | _s5395_ =>
- (creg_name_matches_prefix _s5395_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5572_ _) =>
+ (match (string_drop _s5571_ _s5572_) with
+ | _s5573_ =>
+ (creg_name_matches_prefix _s5573_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s5396_ _) =>
- (match (string_drop _s5395_ _s5396_) with
- | _s5397_ =>
- (sep_matches_prefix _s5397_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s5574_ _) =>
+ (match (string_drop _s5573_ _s5574_) with
+ | _s5575_ =>
+ (sep_matches_prefix _s5575_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s5398_ _) =>
- match (string_drop _s5397_ _s5398_) with
- | _s5399_ =>
- match (hex_bits_8_matches_prefix _s5399_) with
- | Some (v__1388, existT _ _s5400_ _) =>
- if eq_vec (subrange_vec_dec v__1388 2 0)
+ | Some (tt, existT _ _s5576_ _) =>
+ match (string_drop _s5575_ _s5576_) with
+ | _s5577_ =>
+ match (hex_bits_8_matches_prefix _s5577_) with
+ | Some (v__1492, existT _ _s5578_ _) =>
+ if eq_vec (subrange_vec_dec v__1492 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1388 7 3 in
+ subrange_vec_dec v__1492 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1388 7 3 in
- match (string_drop _s5399_ _s5400_) with
+ subrange_vec_dec v__1492 7 3 in
+ match (string_drop _s5577_ _s5578_) with
| s_ => Some (rsc1, rsc2, uimm, s_)
end
else None
@@ -61083,50 +62252,50 @@ Definition _s5386_ (_s5387_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s5370_ (_s5371_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s5372_ := _s5371_ in
- (if string_startswith _s5372_ "c.sw" then
- (match (string_drop _s5372_ (projT1 (string_length "c.sw"))) with
- | _s5373_ =>
- (spc_matches_prefix _s5373_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5548_ (_s5549_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s5550_ := _s5549_ in
+ (if string_startswith _s5550_ "c.sw" then
+ (match (string_drop _s5550_ (projT1 (string_length "c.sw"))) with
+ | _s5551_ =>
+ (spc_matches_prefix _s5551_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5374_ _) =>
- (match (string_drop _s5373_ _s5374_) with
- | _s5375_ =>
- (creg_name_matches_prefix _s5375_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5552_ _) =>
+ (match (string_drop _s5551_ _s5552_) with
+ | _s5553_ =>
+ (creg_name_matches_prefix _s5553_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rsc1, existT _ _s5376_ _) =>
- (match (string_drop _s5375_ _s5376_) with
- | _s5377_ =>
- (sep_matches_prefix _s5377_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc1, existT _ _s5554_ _) =>
+ (match (string_drop _s5553_ _s5554_) with
+ | _s5555_ =>
+ (sep_matches_prefix _s5555_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5378_ _) =>
- (match (string_drop _s5377_ _s5378_) with
- | _s5379_ =>
- (creg_name_matches_prefix _s5379_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5556_ _) =>
+ (match (string_drop _s5555_ _s5556_) with
+ | _s5557_ =>
+ (creg_name_matches_prefix _s5557_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc2, existT _ _s5380_ _) =>
- (match (string_drop _s5379_ _s5380_) with
- | _s5381_ =>
- (sep_matches_prefix _s5381_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc2, existT _ _s5558_ _) =>
+ (match (string_drop _s5557_ _s5558_) with
+ | _s5559_ =>
+ (sep_matches_prefix _s5559_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s5382_ _) =>
- match (string_drop _s5381_ _s5382_) with
- | _s5383_ =>
- match (hex_bits_7_matches_prefix _s5383_) with
- | Some (v__1390, existT _ _s5384_ _) =>
- if eq_vec (subrange_vec_dec v__1390 1 0)
+ | Some (tt, existT _ _s5560_ _) =>
+ match (string_drop _s5559_ _s5560_) with
+ | _s5561_ =>
+ match (hex_bits_7_matches_prefix _s5561_) with
+ | Some (v__1494, existT _ _s5562_ _) =>
+ if eq_vec (subrange_vec_dec v__1494 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1390 6 2 in
+ subrange_vec_dec v__1494 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1390 6 2 in
- match (string_drop _s5383_ _s5384_) with
+ subrange_vec_dec v__1494 6 2 in
+ match (string_drop _s5561_ _s5562_) with
| s_ => Some (rsc1, rsc2, uimm, s_)
end
else None
@@ -61160,50 +62329,50 @@ Definition _s5370_ (_s5371_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s5354_ (_s5355_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s5356_ := _s5355_ in
- (if string_startswith _s5356_ "c.ld" then
- (match (string_drop _s5356_ (projT1 (string_length "c.ld"))) with
- | _s5357_ =>
- (spc_matches_prefix _s5357_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5532_ (_s5533_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s5534_ := _s5533_ in
+ (if string_startswith _s5534_ "c.ld" then
+ (match (string_drop _s5534_ (projT1 (string_length "c.ld"))) with
+ | _s5535_ =>
+ (spc_matches_prefix _s5535_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5358_ _) =>
- (match (string_drop _s5357_ _s5358_) with
- | _s5359_ =>
- (creg_name_matches_prefix _s5359_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5536_ _) =>
+ (match (string_drop _s5535_ _s5536_) with
+ | _s5537_ =>
+ (creg_name_matches_prefix _s5537_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s5360_ _) =>
- (match (string_drop _s5359_ _s5360_) with
- | _s5361_ =>
- (sep_matches_prefix _s5361_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s5538_ _) =>
+ (match (string_drop _s5537_ _s5538_) with
+ | _s5539_ =>
+ (sep_matches_prefix _s5539_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5362_ _) =>
- (match (string_drop _s5361_ _s5362_) with
- | _s5363_ =>
- (creg_name_matches_prefix _s5363_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5540_ _) =>
+ (match (string_drop _s5539_ _s5540_) with
+ | _s5541_ =>
+ (creg_name_matches_prefix _s5541_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s5364_ _) =>
- (match (string_drop _s5363_ _s5364_) with
- | _s5365_ =>
- (sep_matches_prefix _s5365_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s5542_ _) =>
+ (match (string_drop _s5541_ _s5542_) with
+ | _s5543_ =>
+ (sep_matches_prefix _s5543_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s5366_ _) =>
- match (string_drop _s5365_ _s5366_) with
- | _s5367_ =>
- match (hex_bits_8_matches_prefix _s5367_) with
- | Some (v__1392, existT _ _s5368_ _) =>
- if eq_vec (subrange_vec_dec v__1392 2 0)
+ | Some (tt, existT _ _s5544_ _) =>
+ match (string_drop _s5543_ _s5544_) with
+ | _s5545_ =>
+ match (hex_bits_8_matches_prefix _s5545_) with
+ | Some (v__1496, existT _ _s5546_ _) =>
+ if eq_vec (subrange_vec_dec v__1496 2 0)
('b"000"
: mword (2 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1392 7 3 in
+ subrange_vec_dec v__1496 7 3 in
let uimm : mword 5 :=
- subrange_vec_dec v__1392 7 3 in
- match (string_drop _s5367_ _s5368_) with
+ subrange_vec_dec v__1496 7 3 in
+ match (string_drop _s5545_ _s5546_) with
| s_ => Some (rdc, rsc, uimm, s_)
end
else None
@@ -61237,50 +62406,50 @@ Definition _s5354_ (_s5355_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s5338_ (_s5339_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
- let _s5340_ := _s5339_ in
- (if string_startswith _s5340_ "c.lw" then
- (match (string_drop _s5340_ (projT1 (string_length "c.lw"))) with
- | _s5341_ =>
- (spc_matches_prefix _s5341_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5516_ (_s5517_ : string) : M (option ((mword 3 * mword 3 * mword 5 * string))) :=
+ let _s5518_ := _s5517_ in
+ (if string_startswith _s5518_ "c.lw" then
+ (match (string_drop _s5518_ (projT1 (string_length "c.lw"))) with
+ | _s5519_ =>
+ (spc_matches_prefix _s5519_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5342_ _) =>
- (match (string_drop _s5341_ _s5342_) with
- | _s5343_ =>
- (creg_name_matches_prefix _s5343_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5520_ _) =>
+ (match (string_drop _s5519_ _s5520_) with
+ | _s5521_ =>
+ (creg_name_matches_prefix _s5521_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s5344_ _) =>
- (match (string_drop _s5343_ _s5344_) with
- | _s5345_ =>
- (sep_matches_prefix _s5345_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s5522_ _) =>
+ (match (string_drop _s5521_ _s5522_) with
+ | _s5523_ =>
+ (sep_matches_prefix _s5523_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5346_ _) =>
- (match (string_drop _s5345_ _s5346_) with
- | _s5347_ =>
- (creg_name_matches_prefix _s5347_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5524_ _) =>
+ (match (string_drop _s5523_ _s5524_) with
+ | _s5525_ =>
+ (creg_name_matches_prefix _s5525_) >>= fun w__3 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rsc, existT _ _s5348_ _) =>
- (match (string_drop _s5347_ _s5348_) with
- | _s5349_ =>
- (sep_matches_prefix _s5349_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rsc, existT _ _s5526_ _) =>
+ (match (string_drop _s5525_ _s5526_) with
+ | _s5527_ =>
+ (sep_matches_prefix _s5527_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s5350_ _) =>
- match (string_drop _s5349_ _s5350_) with
- | _s5351_ =>
- match (hex_bits_7_matches_prefix _s5351_) with
- | Some (v__1394, existT _ _s5352_ _) =>
- if eq_vec (subrange_vec_dec v__1394 1 0)
+ | Some (tt, existT _ _s5528_ _) =>
+ match (string_drop _s5527_ _s5528_) with
+ | _s5529_ =>
+ match (hex_bits_7_matches_prefix _s5529_) with
+ | Some (v__1498, existT _ _s5530_ _) =>
+ if eq_vec (subrange_vec_dec v__1498 1 0)
('b"00"
: mword (1 - 0 + 1)) then
let uimm : mword 5 :=
- subrange_vec_dec v__1394 6 2 in
+ subrange_vec_dec v__1498 6 2 in
let uimm : mword 5 :=
- subrange_vec_dec v__1394 6 2 in
- match (string_drop _s5351_ _s5352_) with
+ subrange_vec_dec v__1498 6 2 in
+ match (string_drop _s5529_ _s5530_) with
| s_ => Some (rdc, rsc, uimm, s_)
end
else None
@@ -61314,36 +62483,36 @@ Definition _s5338_ (_s5339_ : string) : M (option ((mword 3 * mword 3 * mword 5
else returnm None)
: M (option ((mword 3 * mword 3 * mword 5 * string))).
-Definition _s5326_ (_s5327_ : string) : M (option ((mword 3 * mword 8 * string))) :=
- let _s5328_ := _s5327_ in
- (if string_startswith _s5328_ "c.addi4spn" then
- (match (string_drop _s5328_ (projT1 (string_length "c.addi4spn"))) with
- | _s5329_ =>
- (spc_matches_prefix _s5329_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5504_ (_s5505_ : string) : M (option ((mword 3 * mword 8 * string))) :=
+ let _s5506_ := _s5505_ in
+ (if string_startswith _s5506_ "c.addi4spn" then
+ (match (string_drop _s5506_ (projT1 (string_length "c.addi4spn"))) with
+ | _s5507_ =>
+ (spc_matches_prefix _s5507_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5330_ _) =>
- (match (string_drop _s5329_ _s5330_) with
- | _s5331_ =>
- (creg_name_matches_prefix _s5331_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5508_ _) =>
+ (match (string_drop _s5507_ _s5508_) with
+ | _s5509_ =>
+ (creg_name_matches_prefix _s5509_) >>= fun w__1 : option ((mword 3 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rdc, existT _ _s5332_ _) =>
- (match (string_drop _s5331_ _s5332_) with
- | _s5333_ =>
- (sep_matches_prefix _s5333_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rdc, existT _ _s5510_ _) =>
+ (match (string_drop _s5509_ _s5510_) with
+ | _s5511_ =>
+ (sep_matches_prefix _s5511_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s5334_ _) =>
- match (string_drop _s5333_ _s5334_) with
- | _s5335_ =>
- match (hex_bits_10_matches_prefix _s5335_) with
- | Some (v__1396, existT _ _s5336_ _) =>
- if eq_vec (subrange_vec_dec v__1396 1 0)
+ | Some (tt, existT _ _s5512_ _) =>
+ match (string_drop _s5511_ _s5512_) with
+ | _s5513_ =>
+ match (hex_bits_10_matches_prefix _s5513_) with
+ | Some (v__1500, existT _ _s5514_ _) =>
+ if eq_vec (subrange_vec_dec v__1500 1 0)
('b"00"
: mword (1 - 0 + 1)) then
- let nzimm : mword 8 := subrange_vec_dec v__1396 9 2 in
- let nzimm : mword 8 := subrange_vec_dec v__1396 9 2 in
- match (string_drop _s5335_ _s5336_) with
+ let nzimm : mword 8 := subrange_vec_dec v__1500 9 2 in
+ let nzimm : mword 8 := subrange_vec_dec v__1500 9 2 in
+ match (string_drop _s5513_ _s5514_) with
| s_ => Some (rdc, nzimm, s_)
end
else None
@@ -61367,100 +62536,100 @@ Definition _s5326_ (_s5327_ : string) : M (option ((mword 3 * mword 8 * string))
else returnm None)
: M (option ((mword 3 * mword 8 * string))).
-Definition _s5322_ (_s5323_ : string) : option string :=
- let _s5324_ := _s5323_ in
- if string_startswith _s5324_ "c.nop" then
- match (string_drop _s5324_ (projT1 (string_length "c.nop"))) with | s_ => Some s_ end
+Definition _s5500_ (_s5501_ : string) : option string :=
+ let _s5502_ := _s5501_ in
+ if string_startswith _s5502_ "c.nop" then
+ match (string_drop _s5502_ (projT1 (string_length "c.nop"))) with | s_ => Some s_ end
else None.
-Definition _s5296_ (_s5297_ : string)
+Definition _s5474_ (_s5475_ : string)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5297_ with
- | _s5298_ =>
- (amo_mnemonic_matches_prefix _s5298_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
+ (match _s5475_ with
+ | _s5476_ =>
+ (amo_mnemonic_matches_prefix _s5476_) >>= fun w__0 : option ((amoop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5299_ _) =>
- let _s5300_ := string_drop _s5298_ _s5299_ in
- (if string_startswith _s5300_ "." then
- (match (string_drop _s5300_ (projT1 (string_length "."))) with
- | _s5301_ =>
- (size_mnemonic_matches_prefix _s5301_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5477_ _) =>
+ let _s5478_ := string_drop _s5476_ _s5477_ in
+ (if string_startswith _s5478_ "." then
+ (match (string_drop _s5478_ (projT1 (string_length "."))) with
+ | _s5479_ =>
+ (size_mnemonic_matches_prefix _s5479_) >>= fun w__1 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (width, existT _ _s5302_ _) =>
- (match (string_drop _s5301_ _s5302_) with
- | _s5303_ =>
- (maybe_aq_matches_prefix _s5303_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (width, existT _ _s5480_ _) =>
+ (match (string_drop _s5479_ _s5480_) with
+ | _s5481_ =>
+ (maybe_aq_matches_prefix _s5481_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s5304_ _) =>
- (match (string_drop _s5303_ _s5304_) with
- | _s5305_ =>
- (maybe_rl_matches_prefix _s5305_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s5482_ _) =>
+ (match (string_drop _s5481_ _s5482_) with
+ | _s5483_ =>
+ (maybe_rl_matches_prefix _s5483_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s5306_ _) =>
- (match (string_drop _s5305_ _s5306_) with
- | _s5307_ =>
- (spc_matches_prefix _s5307_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s5484_ _) =>
+ (match (string_drop _s5483_ _s5484_) with
+ | _s5485_ =>
+ (spc_matches_prefix _s5485_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s5308_ _) =>
- (match (string_drop _s5307_ _s5308_) with
- | _s5309_ =>
- (reg_name_matches_prefix _s5309_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5486_ _) =>
+ (match (string_drop _s5485_ _s5486_) with
+ | _s5487_ =>
+ (reg_name_matches_prefix _s5487_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s5310_ _) =>
- (match (string_drop _s5309_ _s5310_) with
- | _s5311_ =>
- (sep_matches_prefix _s5311_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5488_ _) =>
+ (match (string_drop _s5487_ _s5488_) with
+ | _s5489_ =>
+ (sep_matches_prefix _s5489_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s5312_ _) =>
- (match (string_drop _s5311_ _s5312_) with
- | _s5313_ =>
- (reg_name_matches_prefix _s5313_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5490_ _) =>
+ (match (string_drop _s5489_ _s5490_) with
+ | _s5491_ =>
+ (reg_name_matches_prefix _s5491_) >>= fun w__7 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (rs2, existT _ _s5314_ _) =>
- (match (string_drop _s5313_
- _s5314_) with
- | _s5315_ =>
+ | Some (rs2, existT _ _s5492_ _) =>
+ (match (string_drop _s5491_
+ _s5492_) with
+ | _s5493_ =>
(sep_matches_prefix
- _s5315_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5493_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s5316_ _) =>
- let _s5317_ :=
- string_drop _s5315_
- _s5316_ in
+ (tt, existT _ _s5494_ _) =>
+ let _s5495_ :=
+ string_drop _s5493_
+ _s5494_ in
(if string_startswith
- _s5317_ "(" then
+ _s5495_ "(" then
(match (string_drop
- _s5317_
+ _s5495_
(projT1
(string_length
"("))) with
- | _s5318_ =>
+ | _s5496_ =>
(reg_name_matches_prefix
- _s5318_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s5496_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (rs1, existT _ _s5319_ _) =>
- let _s5320_ :=
+ (rs1, existT _ _s5497_ _) =>
+ let _s5498_ :=
string_drop
- _s5318_
- _s5319_ in
+ _s5496_
+ _s5497_ in
if string_startswith
- _s5320_
+ _s5498_
")"
then
match (string_drop
- _s5320_
+ _s5498_
(projT1
(string_length
")"))) with
@@ -61525,70 +62694,70 @@ Definition _s5296_ (_s5297_ : string)
end)
: M (option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5274_ (_s5275_ : string)
+Definition _s5452_ (_s5453_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))) :=
- let _s5276_ := _s5275_ in
- (if string_startswith _s5276_ "sc." then
- (match (string_drop _s5276_ (projT1 (string_length "sc."))) with
- | _s5277_ =>
- (size_mnemonic_matches_prefix _s5277_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s5454_ := _s5453_ in
+ (if string_startswith _s5454_ "sc." then
+ (match (string_drop _s5454_ (projT1 (string_length "sc."))) with
+ | _s5455_ =>
+ (size_mnemonic_matches_prefix _s5455_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s5278_ _) =>
- (match (string_drop _s5277_ _s5278_) with
- | _s5279_ =>
- (maybe_aq_matches_prefix _s5279_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s5456_ _) =>
+ (match (string_drop _s5455_ _s5456_) with
+ | _s5457_ =>
+ (maybe_aq_matches_prefix _s5457_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s5280_ _) =>
- (match (string_drop _s5279_ _s5280_) with
- | _s5281_ =>
- (maybe_rl_matches_prefix _s5281_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s5458_ _) =>
+ (match (string_drop _s5457_ _s5458_) with
+ | _s5459_ =>
+ (maybe_rl_matches_prefix _s5459_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s5282_ _) =>
- (match (string_drop _s5281_ _s5282_) with
- | _s5283_ =>
- (spc_matches_prefix _s5283_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s5460_ _) =>
+ (match (string_drop _s5459_ _s5460_) with
+ | _s5461_ =>
+ (spc_matches_prefix _s5461_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5284_ _) =>
- (match (string_drop _s5283_ _s5284_) with
- | _s5285_ =>
- (reg_name_matches_prefix _s5285_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5462_ _) =>
+ (match (string_drop _s5461_ _s5462_) with
+ | _s5463_ =>
+ (reg_name_matches_prefix _s5463_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s5286_ _) =>
- (match (string_drop _s5285_ _s5286_) with
- | _s5287_ =>
- (sep_matches_prefix _s5287_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5464_ _) =>
+ (match (string_drop _s5463_ _s5464_) with
+ | _s5465_ =>
+ (sep_matches_prefix _s5465_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5288_ _) =>
- (match (string_drop _s5287_ _s5288_) with
- | _s5289_ =>
- (reg_name_matches_prefix _s5289_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5466_ _) =>
+ (match (string_drop _s5465_ _s5466_) with
+ | _s5467_ =>
+ (reg_name_matches_prefix _s5467_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (rs1, existT _ _s5290_ _) =>
- (match (string_drop _s5289_ _s5290_) with
- | _s5291_ =>
- (sep_matches_prefix _s5291_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5468_ _) =>
+ (match (string_drop _s5467_ _s5468_) with
+ | _s5469_ =>
+ (sep_matches_prefix _s5469_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
- | Some (tt, existT _ _s5292_ _) =>
- (match (string_drop _s5291_
- _s5292_) with
- | _s5293_ =>
+ | Some (tt, existT _ _s5470_ _) =>
+ (match (string_drop _s5469_
+ _s5470_) with
+ | _s5471_ =>
(reg_name_matches_prefix
- _s5293_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s5471_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__8 with
| Some
- (rs2, existT _ _s5294_ _) =>
+ (rs2, existT _ _s5472_ _) =>
match (string_drop
- _s5293_
- _s5294_) with
+ _s5471_
+ _s5472_) with
| s_ =>
Some
(size, aq, rl, rd, rs1, rs2, s_)
@@ -61640,54 +62809,54 @@ Definition _s5274_ (_s5275_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5256_ (_s5257_ : string)
+Definition _s5434_ (_s5435_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * string))) :=
- let _s5258_ := _s5257_ in
- (if string_startswith _s5258_ "lr." then
- (match (string_drop _s5258_ (projT1 (string_length "lr."))) with
- | _s5259_ =>
- (size_mnemonic_matches_prefix _s5259_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s5436_ := _s5435_ in
+ (if string_startswith _s5436_ "lr." then
+ (match (string_drop _s5436_ (projT1 (string_length "lr."))) with
+ | _s5437_ =>
+ (size_mnemonic_matches_prefix _s5437_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s5260_ _) =>
- (match (string_drop _s5259_ _s5260_) with
- | _s5261_ =>
- (maybe_aq_matches_prefix _s5261_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s5438_ _) =>
+ (match (string_drop _s5437_ _s5438_) with
+ | _s5439_ =>
+ (maybe_aq_matches_prefix _s5439_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s5262_ _) =>
- (match (string_drop _s5261_ _s5262_) with
- | _s5263_ =>
- (maybe_rl_matches_prefix _s5263_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s5440_ _) =>
+ (match (string_drop _s5439_ _s5440_) with
+ | _s5441_ =>
+ (maybe_rl_matches_prefix _s5441_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s5264_ _) =>
- (match (string_drop _s5263_ _s5264_) with
- | _s5265_ =>
- (spc_matches_prefix _s5265_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s5442_ _) =>
+ (match (string_drop _s5441_ _s5442_) with
+ | _s5443_ =>
+ (spc_matches_prefix _s5443_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5266_ _) =>
- (match (string_drop _s5265_ _s5266_) with
- | _s5267_ =>
- (reg_name_matches_prefix _s5267_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5444_ _) =>
+ (match (string_drop _s5443_ _s5444_) with
+ | _s5445_ =>
+ (reg_name_matches_prefix _s5445_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rd, existT _ _s5268_ _) =>
- (match (string_drop _s5267_ _s5268_) with
- | _s5269_ =>
- (sep_matches_prefix _s5269_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5446_ _) =>
+ (match (string_drop _s5445_ _s5446_) with
+ | _s5447_ =>
+ (sep_matches_prefix _s5447_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5270_ _) =>
- (match (string_drop _s5269_ _s5270_) with
- | _s5271_ =>
- (reg_name_matches_prefix _s5271_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5448_ _) =>
+ (match (string_drop _s5447_ _s5448_) with
+ | _s5449_ =>
+ (reg_name_matches_prefix _s5449_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs1, existT _ _s5272_ _) =>
- match (string_drop _s5271_
- _s5272_) with
+ | Some (rs1, existT _ _s5450_ _) =>
+ match (string_drop _s5449_
+ _s5450_) with
| s_ =>
Some
(size, aq, rl, rd, rs1, s_)
@@ -61729,33 +62898,33 @@ Definition _s5256_ (_s5257_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 5 * string))).
-Definition _s5244_ (_s5245_ : string) : M (option ((mword 5 * mword 5 * string))) :=
- let _s5246_ := _s5245_ in
- (if string_startswith _s5246_ "sfence.vma" then
- (match (string_drop _s5246_ (projT1 (string_length "sfence.vma"))) with
- | _s5247_ =>
- (spc_matches_prefix _s5247_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5422_ (_s5423_ : string) : M (option ((mword 5 * mword 5 * string))) :=
+ let _s5424_ := _s5423_ in
+ (if string_startswith _s5424_ "sfence.vma" then
+ (match (string_drop _s5424_ (projT1 (string_length "sfence.vma"))) with
+ | _s5425_ =>
+ (spc_matches_prefix _s5425_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5248_ _) =>
- (match (string_drop _s5247_ _s5248_) with
- | _s5249_ =>
- (reg_name_matches_prefix _s5249_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5426_ _) =>
+ (match (string_drop _s5425_ _s5426_) with
+ | _s5427_ =>
+ (reg_name_matches_prefix _s5427_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rs1, existT _ _s5250_ _) =>
- (match (string_drop _s5249_ _s5250_) with
- | _s5251_ =>
- (sep_matches_prefix _s5251_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5428_ _) =>
+ (match (string_drop _s5427_ _s5428_) with
+ | _s5429_ =>
+ (sep_matches_prefix _s5429_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5252_ _) =>
- (match (string_drop _s5251_ _s5252_) with
- | _s5253_ =>
- (reg_name_matches_prefix _s5253_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5430_ _) =>
+ (match (string_drop _s5429_ _s5430_) with
+ | _s5431_ =>
+ (reg_name_matches_prefix _s5431_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (rs2, existT _ _s5254_ _) =>
- match (string_drop _s5253_ _s5254_) with
+ | Some (rs2, existT _ _s5432_ _) =>
+ match (string_drop _s5431_ _s5432_) with
| s_ => Some (rs1, rs2, s_)
end
| _ => None
@@ -61780,69 +62949,69 @@ Definition _s5244_ (_s5245_ : string) : M (option ((mword 5 * mword 5 * string))
else returnm None)
: M (option ((mword 5 * mword 5 * string))).
-Definition _s5240_ (_s5241_ : string) : option string :=
- let _s5242_ := _s5241_ in
- if string_startswith _s5242_ "wfi" then
- match (string_drop _s5242_ (projT1 (string_length "wfi"))) with | s_ => Some s_ end
+Definition _s5418_ (_s5419_ : string) : option string :=
+ let _s5420_ := _s5419_ in
+ if string_startswith _s5420_ "wfi" then
+ match (string_drop _s5420_ (projT1 (string_length "wfi"))) with | s_ => Some s_ end
else None.
-Definition _s5236_ (_s5237_ : string) : option string :=
- let _s5238_ := _s5237_ in
- if string_startswith _s5238_ "ebreak" then
- match (string_drop _s5238_ (projT1 (string_length "ebreak"))) with | s_ => Some s_ end
+Definition _s5414_ (_s5415_ : string) : option string :=
+ let _s5416_ := _s5415_ in
+ if string_startswith _s5416_ "ebreak" then
+ match (string_drop _s5416_ (projT1 (string_length "ebreak"))) with | s_ => Some s_ end
else None.
-Definition _s5232_ (_s5233_ : string) : option string :=
- let _s5234_ := _s5233_ in
- if string_startswith _s5234_ "sret" then
- match (string_drop _s5234_ (projT1 (string_length "sret"))) with | s_ => Some s_ end
+Definition _s5410_ (_s5411_ : string) : option string :=
+ let _s5412_ := _s5411_ in
+ if string_startswith _s5412_ "sret" then
+ match (string_drop _s5412_ (projT1 (string_length "sret"))) with | s_ => Some s_ end
else None.
-Definition _s5228_ (_s5229_ : string) : option string :=
- let _s5230_ := _s5229_ in
- if string_startswith _s5230_ "mret" then
- match (string_drop _s5230_ (projT1 (string_length "mret"))) with | s_ => Some s_ end
+Definition _s5406_ (_s5407_ : string) : option string :=
+ let _s5408_ := _s5407_ in
+ if string_startswith _s5408_ "mret" then
+ match (string_drop _s5408_ (projT1 (string_length "mret"))) with | s_ => Some s_ end
else None.
-Definition _s5224_ (_s5225_ : string) : option string :=
- let _s5226_ := _s5225_ in
- if string_startswith _s5226_ "ecall" then
- match (string_drop _s5226_ (projT1 (string_length "ecall"))) with | s_ => Some s_ end
+Definition _s5402_ (_s5403_ : string) : option string :=
+ let _s5404_ := _s5403_ in
+ if string_startswith _s5404_ "ecall" then
+ match (string_drop _s5404_ (projT1 (string_length "ecall"))) with | s_ => Some s_ end
else None.
-Definition _s5220_ (_s5221_ : string) : option string :=
- let _s5222_ := _s5221_ in
- if string_startswith _s5222_ "fence.i" then
- match (string_drop _s5222_ (projT1 (string_length "fence.i"))) with | s_ => Some s_ end
+Definition _s5398_ (_s5399_ : string) : option string :=
+ let _s5400_ := _s5399_ in
+ if string_startswith _s5400_ "fence.i" then
+ match (string_drop _s5400_ (projT1 (string_length "fence.i"))) with | s_ => Some s_ end
else None.
-Definition _s5208_ (_s5209_ : string) : M (option ((mword 4 * mword 4 * string))) :=
- let _s5210_ := _s5209_ in
- (if string_startswith _s5210_ "fence.tso" then
- (match (string_drop _s5210_ (projT1 (string_length "fence.tso"))) with
- | _s5211_ =>
- (spc_matches_prefix _s5211_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5386_ (_s5387_ : string) : M (option ((mword 4 * mword 4 * string))) :=
+ let _s5388_ := _s5387_ in
+ (if string_startswith _s5388_ "fence.tso" then
+ (match (string_drop _s5388_ (projT1 (string_length "fence.tso"))) with
+ | _s5389_ =>
+ (spc_matches_prefix _s5389_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5212_ _) =>
- (match (string_drop _s5211_ _s5212_) with
- | _s5213_ =>
- (fence_bits_matches_prefix _s5213_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5390_ _) =>
+ (match (string_drop _s5389_ _s5390_) with
+ | _s5391_ =>
+ (fence_bits_matches_prefix _s5391_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s5214_ _) =>
- (match (string_drop _s5213_ _s5214_) with
- | _s5215_ =>
- (sep_matches_prefix _s5215_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s5392_ _) =>
+ (match (string_drop _s5391_ _s5392_) with
+ | _s5393_ =>
+ (sep_matches_prefix _s5393_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5216_ _) =>
- (match (string_drop _s5215_ _s5216_) with
- | _s5217_ =>
- (fence_bits_matches_prefix _s5217_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5394_ _) =>
+ (match (string_drop _s5393_ _s5394_) with
+ | _s5395_ =>
+ (fence_bits_matches_prefix _s5395_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s5218_ _) =>
- match (string_drop _s5217_ _s5218_) with
+ | Some (succ, existT _ _s5396_ _) =>
+ match (string_drop _s5395_ _s5396_) with
| s_ => Some (pred, succ, s_)
end
| _ => None
@@ -61867,33 +63036,33 @@ Definition _s5208_ (_s5209_ : string) : M (option ((mword 4 * mword 4 * string))
else returnm None)
: M (option ((mword 4 * mword 4 * string))).
-Definition _s5196_ (_s5197_ : string) : M (option ((mword 4 * mword 4 * string))) :=
- let _s5198_ := _s5197_ in
- (if string_startswith _s5198_ "fence" then
- (match (string_drop _s5198_ (projT1 (string_length "fence"))) with
- | _s5199_ =>
- (spc_matches_prefix _s5199_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5374_ (_s5375_ : string) : M (option ((mword 4 * mword 4 * string))) :=
+ let _s5376_ := _s5375_ in
+ (if string_startswith _s5376_ "fence" then
+ (match (string_drop _s5376_ (projT1 (string_length "fence"))) with
+ | _s5377_ =>
+ (spc_matches_prefix _s5377_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5200_ _) =>
- (match (string_drop _s5199_ _s5200_) with
- | _s5201_ =>
- (fence_bits_matches_prefix _s5201_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5378_ _) =>
+ (match (string_drop _s5377_ _s5378_) with
+ | _s5379_ =>
+ (fence_bits_matches_prefix _s5379_) >>= fun w__1 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (pred, existT _ _s5202_ _) =>
- (match (string_drop _s5201_ _s5202_) with
- | _s5203_ =>
- (sep_matches_prefix _s5203_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (pred, existT _ _s5380_ _) =>
+ (match (string_drop _s5379_ _s5380_) with
+ | _s5381_ =>
+ (sep_matches_prefix _s5381_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5204_ _) =>
- (match (string_drop _s5203_ _s5204_) with
- | _s5205_ =>
- (fence_bits_matches_prefix _s5205_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5382_ _) =>
+ (match (string_drop _s5381_ _s5382_) with
+ | _s5383_ =>
+ (fence_bits_matches_prefix _s5383_) >>= fun w__3 : option ((mword 4 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (succ, existT _ _s5206_ _) =>
- match (string_drop _s5205_ _s5206_) with
+ | Some (succ, existT _ _s5384_ _) =>
+ match (string_drop _s5383_ _s5384_) with
| s_ => Some (pred, succ, s_)
end
| _ => None
@@ -61918,49 +63087,49 @@ Definition _s5196_ (_s5197_ : string) : M (option ((mword 4 * mword 4 * string))
else returnm None)
: M (option ((mword 4 * mword 4 * string))).
-Definition _s5179_ (_s5180_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5180_ with
- | _s5181_ =>
- (shiftiwop_mnemonic_matches_prefix _s5181_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
+Definition _s5357_ (_s5358_ : string) : M (option ((sopw * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s5358_ with
+ | _s5359_ =>
+ (shiftiwop_mnemonic_matches_prefix _s5359_) >>= fun w__0 : option ((sopw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5182_ _) =>
- (match (string_drop _s5181_ _s5182_) with
- | _s5183_ =>
- (spc_matches_prefix _s5183_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5360_ _) =>
+ (match (string_drop _s5359_ _s5360_) with
+ | _s5361_ =>
+ (spc_matches_prefix _s5361_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5184_ _) =>
- (match (string_drop _s5183_ _s5184_) with
- | _s5185_ =>
- (reg_name_matches_prefix _s5185_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5362_ _) =>
+ (match (string_drop _s5361_ _s5362_) with
+ | _s5363_ =>
+ (reg_name_matches_prefix _s5363_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5186_ _) =>
- (match (string_drop _s5185_ _s5186_) with
- | _s5187_ =>
- (sep_matches_prefix _s5187_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5364_ _) =>
+ (match (string_drop _s5363_ _s5364_) with
+ | _s5365_ =>
+ (sep_matches_prefix _s5365_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5188_ _) =>
- (match (string_drop _s5187_ _s5188_) with
- | _s5189_ =>
- (reg_name_matches_prefix _s5189_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5366_ _) =>
+ (match (string_drop _s5365_ _s5366_) with
+ | _s5367_ =>
+ (reg_name_matches_prefix _s5367_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5190_ _) =>
- (match (string_drop _s5189_ _s5190_) with
- | _s5191_ =>
- (sep_matches_prefix _s5191_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5368_ _) =>
+ (match (string_drop _s5367_ _s5368_) with
+ | _s5369_ =>
+ (sep_matches_prefix _s5369_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s5192_ _) =>
- match (string_drop _s5191_ _s5192_) with
- | _s5193_ =>
+ | Some (tt, existT _ _s5370_ _) =>
+ match (string_drop _s5369_ _s5370_) with
+ | _s5371_ =>
match (hex_bits_5_matches_prefix
- _s5193_) with
- | Some (shamt, existT _ _s5194_ _) =>
- match (string_drop _s5193_ _s5194_) with
+ _s5371_) with
+ | Some (shamt, existT _ _s5372_ _) =>
+ match (string_drop _s5371_ _s5372_) with
| s_ =>
Some (op, rd, rs1, shamt, s_)
end
@@ -61997,51 +63166,51 @@ Definition _s5179_ (_s5180_ : string) : M (option ((sopw * mword 5 * mword 5 * m
end)
: M (option ((sopw * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5162_ (_s5163_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5163_ with
- | _s5164_ =>
- (rtypew_mnemonic_matches_prefix _s5164_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
+Definition _s5340_ (_s5341_ : string) : M (option ((ropw * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s5341_ with
+ | _s5342_ =>
+ (rtypew_mnemonic_matches_prefix _s5342_) >>= fun w__0 : option ((ropw * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5165_ _) =>
- (match (string_drop _s5164_ _s5165_) with
- | _s5166_ =>
- (spc_matches_prefix _s5166_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5343_ _) =>
+ (match (string_drop _s5342_ _s5343_) with
+ | _s5344_ =>
+ (spc_matches_prefix _s5344_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5167_ _) =>
- (match (string_drop _s5166_ _s5167_) with
- | _s5168_ =>
- (reg_name_matches_prefix _s5168_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5345_ _) =>
+ (match (string_drop _s5344_ _s5345_) with
+ | _s5346_ =>
+ (reg_name_matches_prefix _s5346_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5169_ _) =>
- (match (string_drop _s5168_ _s5169_) with
- | _s5170_ =>
- (sep_matches_prefix _s5170_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5347_ _) =>
+ (match (string_drop _s5346_ _s5347_) with
+ | _s5348_ =>
+ (sep_matches_prefix _s5348_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5171_ _) =>
- (match (string_drop _s5170_ _s5171_) with
- | _s5172_ =>
- (reg_name_matches_prefix _s5172_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5349_ _) =>
+ (match (string_drop _s5348_ _s5349_) with
+ | _s5350_ =>
+ (reg_name_matches_prefix _s5350_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5173_ _) =>
- (match (string_drop _s5172_ _s5173_) with
- | _s5174_ =>
- (sep_matches_prefix _s5174_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5351_ _) =>
+ (match (string_drop _s5350_ _s5351_) with
+ | _s5352_ =>
+ (sep_matches_prefix _s5352_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5175_ _) =>
- (match (string_drop _s5174_ _s5175_) with
- | _s5176_ =>
- (reg_name_matches_prefix _s5176_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5353_ _) =>
+ (match (string_drop _s5352_ _s5353_) with
+ | _s5354_ =>
+ (reg_name_matches_prefix _s5354_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5177_ _) =>
- match (string_drop _s5176_
- _s5177_) with
+ | Some (rs2, existT _ _s5355_ _) =>
+ match (string_drop _s5354_
+ _s5355_) with
| s_ =>
Some (op, rd, rs1, rs2, s_)
end
@@ -62080,49 +63249,49 @@ Definition _s5162_ (_s5163_ : string) : M (option ((ropw * mword 5 * mword 5 * m
end)
: M (option ((ropw * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5145_ (_s5146_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5146_ with
- | _s5147_ =>
- (shiftw_mnemonic_matches_prefix _s5147_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s5323_ (_s5324_ : string) : M (option ((sop * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s5324_ with
+ | _s5325_ =>
+ (shiftw_mnemonic_matches_prefix _s5325_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5148_ _) =>
- (match (string_drop _s5147_ _s5148_) with
- | _s5149_ =>
- (spc_matches_prefix _s5149_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5326_ _) =>
+ (match (string_drop _s5325_ _s5326_) with
+ | _s5327_ =>
+ (spc_matches_prefix _s5327_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5150_ _) =>
- (match (string_drop _s5149_ _s5150_) with
- | _s5151_ =>
- (reg_name_matches_prefix _s5151_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5328_ _) =>
+ (match (string_drop _s5327_ _s5328_) with
+ | _s5329_ =>
+ (reg_name_matches_prefix _s5329_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5152_ _) =>
- (match (string_drop _s5151_ _s5152_) with
- | _s5153_ =>
- (sep_matches_prefix _s5153_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5330_ _) =>
+ (match (string_drop _s5329_ _s5330_) with
+ | _s5331_ =>
+ (sep_matches_prefix _s5331_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5154_ _) =>
- (match (string_drop _s5153_ _s5154_) with
- | _s5155_ =>
- (reg_name_matches_prefix _s5155_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5332_ _) =>
+ (match (string_drop _s5331_ _s5332_) with
+ | _s5333_ =>
+ (reg_name_matches_prefix _s5333_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5156_ _) =>
- (match (string_drop _s5155_ _s5156_) with
- | _s5157_ =>
- (sep_matches_prefix _s5157_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5334_ _) =>
+ (match (string_drop _s5333_ _s5334_) with
+ | _s5335_ =>
+ (sep_matches_prefix _s5335_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s5158_ _) =>
- match (string_drop _s5157_ _s5158_) with
- | _s5159_ =>
+ | Some (tt, existT _ _s5336_ _) =>
+ match (string_drop _s5335_ _s5336_) with
+ | _s5337_ =>
match (hex_bits_5_matches_prefix
- _s5159_) with
- | Some (shamt, existT _ _s5160_ _) =>
- match (string_drop _s5159_ _s5160_) with
+ _s5337_) with
+ | Some (shamt, existT _ _s5338_ _) =>
+ match (string_drop _s5337_ _s5338_) with
| s_ =>
Some (op, rd, rs1, shamt, s_)
end
@@ -62159,43 +63328,43 @@ Definition _s5145_ (_s5146_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5129_ (_s5130_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
- let _s5131_ := _s5130_ in
- (if string_startswith _s5131_ "addiw" then
- (match (string_drop _s5131_ (projT1 (string_length "addiw"))) with
- | _s5132_ =>
- (spc_matches_prefix _s5132_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5307_ (_s5308_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
+ let _s5309_ := _s5308_ in
+ (if string_startswith _s5309_ "addiw" then
+ (match (string_drop _s5309_ (projT1 (string_length "addiw"))) with
+ | _s5310_ =>
+ (spc_matches_prefix _s5310_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s5133_ _) =>
- (match (string_drop _s5132_ _s5133_) with
- | _s5134_ =>
- (reg_name_matches_prefix _s5134_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5311_ _) =>
+ (match (string_drop _s5310_ _s5311_) with
+ | _s5312_ =>
+ (reg_name_matches_prefix _s5312_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s5135_ _) =>
- (match (string_drop _s5134_ _s5135_) with
- | _s5136_ =>
- (sep_matches_prefix _s5136_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5313_ _) =>
+ (match (string_drop _s5312_ _s5313_) with
+ | _s5314_ =>
+ (sep_matches_prefix _s5314_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s5137_ _) =>
- (match (string_drop _s5136_ _s5137_) with
- | _s5138_ =>
- (reg_name_matches_prefix _s5138_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5315_ _) =>
+ (match (string_drop _s5314_ _s5315_) with
+ | _s5316_ =>
+ (reg_name_matches_prefix _s5316_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s5139_ _) =>
- (match (string_drop _s5138_ _s5139_) with
- | _s5140_ =>
- (sep_matches_prefix _s5140_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5317_ _) =>
+ (match (string_drop _s5316_ _s5317_) with
+ | _s5318_ =>
+ (sep_matches_prefix _s5318_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s5141_ _) =>
- match (string_drop _s5140_ _s5141_) with
- | _s5142_ =>
- match (hex_bits_12_matches_prefix _s5142_) with
- | Some (imm, existT _ _s5143_ _) =>
- match (string_drop _s5142_ _s5143_) with
+ | Some (tt, existT _ _s5319_ _) =>
+ match (string_drop _s5318_ _s5319_) with
+ | _s5320_ =>
+ match (hex_bits_12_matches_prefix _s5320_) with
+ | Some (imm, existT _ _s5321_ _) =>
+ match (string_drop _s5320_ _s5321_) with
| s_ => Some (rd, rs1, imm, s_)
end
| _ => None
@@ -62228,102 +63397,102 @@ Definition _s5129_ (_s5130_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12 * string))).
-Definition _s5101_ (_s5102_ : string)
+Definition _s5279_ (_s5280_ : string)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string))) :=
- let _s5103_ := _s5102_ in
- (if string_startswith _s5103_ "s" then
- (match (string_drop _s5103_ (projT1 (string_length "s"))) with
- | _s5104_ =>
- (size_mnemonic_matches_prefix _s5104_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s5281_ := _s5280_ in
+ (if string_startswith _s5281_ "s" then
+ (match (string_drop _s5281_ (projT1 (string_length "s"))) with
+ | _s5282_ =>
+ (size_mnemonic_matches_prefix _s5282_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s5105_ _) =>
- (match (string_drop _s5104_ _s5105_) with
- | _s5106_ =>
- (maybe_aq_matches_prefix _s5106_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s5283_ _) =>
+ (match (string_drop _s5282_ _s5283_) with
+ | _s5284_ =>
+ (maybe_aq_matches_prefix _s5284_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (aq, existT _ _s5107_ _) =>
- (match (string_drop _s5106_ _s5107_) with
- | _s5108_ =>
- (maybe_rl_matches_prefix _s5108_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s5285_ _) =>
+ (match (string_drop _s5284_ _s5285_) with
+ | _s5286_ =>
+ (maybe_rl_matches_prefix _s5286_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rl, existT _ _s5109_ _) =>
- (match (string_drop _s5108_ _s5109_) with
- | _s5110_ =>
- (spc_matches_prefix _s5110_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s5287_ _) =>
+ (match (string_drop _s5286_ _s5287_) with
+ | _s5288_ =>
+ (spc_matches_prefix _s5288_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5111_ _) =>
- (match (string_drop _s5110_ _s5111_) with
- | _s5112_ =>
- (reg_name_matches_prefix _s5112_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5289_ _) =>
+ (match (string_drop _s5288_ _s5289_) with
+ | _s5290_ =>
+ (reg_name_matches_prefix _s5290_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s5113_ _) =>
- (match (string_drop _s5112_ _s5113_) with
- | _s5114_ =>
- (sep_matches_prefix _s5114_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s5291_ _) =>
+ (match (string_drop _s5290_ _s5291_) with
+ | _s5292_ =>
+ (sep_matches_prefix _s5292_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5115_ _) =>
- (match (string_drop _s5114_ _s5115_) with
- | _s5116_ =>
- (match (hex_bits_12_matches_prefix _s5116_) with
- | Some (imm, existT _ _s5117_ _) =>
- (match (string_drop _s5116_ _s5117_) with
- | _s5118_ =>
- (opt_spc_matches_prefix _s5118_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5293_ _) =>
+ (match (string_drop _s5292_ _s5293_) with
+ | _s5294_ =>
+ (match (hex_bits_12_matches_prefix _s5294_) with
+ | Some (imm, existT _ _s5295_ _) =>
+ (match (string_drop _s5294_ _s5295_) with
+ | _s5296_ =>
+ (opt_spc_matches_prefix _s5296_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s5119_ _) =>
- let _s5120_ :=
- string_drop _s5118_ _s5119_ in
- (if string_startswith _s5120_
+ | Some (tt, existT _ _s5297_ _) =>
+ let _s5298_ :=
+ string_drop _s5296_ _s5297_ in
+ (if string_startswith _s5298_
"(" then
- (match (string_drop _s5120_
+ (match (string_drop _s5298_
(projT1
(string_length
"("))) with
- | _s5121_ =>
+ | _s5299_ =>
(opt_spc_matches_prefix
- _s5121_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5299_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s5122_ _) =>
+ (tt, existT _ _s5300_ _) =>
(match (string_drop
- _s5121_
- _s5122_) with
- | _s5123_ =>
+ _s5299_
+ _s5300_) with
+ | _s5301_ =>
(reg_name_matches_prefix
- _s5123_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s5301_) >>= fun w__8 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (rs1, existT _ _s5124_ _) =>
+ (rs1, existT _ _s5302_ _) =>
(match (string_drop
- _s5123_
- _s5124_) with
- | _s5125_ =>
+ _s5301_
+ _s5302_) with
+ | _s5303_ =>
(opt_spc_matches_prefix
- _s5125_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5303_) >>= fun w__9 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__9 with
| Some
- (tt, existT _ _s5126_ _) =>
- let _s5127_ :=
+ (tt, existT _ _s5304_ _) =>
+ let _s5305_ :=
string_drop
- _s5125_
- _s5126_ in
+ _s5303_
+ _s5304_ in
if
string_startswith
- _s5127_
+ _s5305_
")"
then
match (string_drop
- _s5127_
+ _s5305_
(projT1
(string_length
")"))) with
@@ -62394,114 +63563,114 @@ Definition _s5101_ (_s5102_ : string)
else returnm None)
: M (option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string))).
-Definition _s5071_ (_s5072_ : string)
+Definition _s5249_ (_s5250_ : string)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string))) :=
- let _s5073_ := _s5072_ in
- (if string_startswith _s5073_ "l" then
- (match (string_drop _s5073_ (projT1 (string_length "l"))) with
- | _s5074_ =>
- (size_mnemonic_matches_prefix _s5074_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
+ let _s5251_ := _s5250_ in
+ (if string_startswith _s5251_ "l" then
+ (match (string_drop _s5251_ (projT1 (string_length "l"))) with
+ | _s5252_ =>
+ (size_mnemonic_matches_prefix _s5252_) >>= fun w__0 : option ((word_width * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (size, existT _ _s5075_ _) =>
- (match (string_drop _s5074_ _s5075_) with
- | _s5076_ =>
- (maybe_u_matches_prefix _s5076_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (size, existT _ _s5253_ _) =>
+ (match (string_drop _s5252_ _s5253_) with
+ | _s5254_ =>
+ (maybe_u_matches_prefix _s5254_) >>= fun w__1 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (is_unsigned, existT _ _s5077_ _) =>
- (match (string_drop _s5076_ _s5077_) with
- | _s5078_ =>
- (maybe_aq_matches_prefix _s5078_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (is_unsigned, existT _ _s5255_ _) =>
+ (match (string_drop _s5254_ _s5255_) with
+ | _s5256_ =>
+ (maybe_aq_matches_prefix _s5256_) >>= fun w__2 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (aq, existT _ _s5079_ _) =>
- (match (string_drop _s5078_ _s5079_) with
- | _s5080_ =>
- (maybe_rl_matches_prefix _s5080_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
+ | Some (aq, existT _ _s5257_ _) =>
+ (match (string_drop _s5256_ _s5257_) with
+ | _s5258_ =>
+ (maybe_rl_matches_prefix _s5258_) >>= fun w__3 : option ((bool * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rl, existT _ _s5081_ _) =>
- (match (string_drop _s5080_ _s5081_) with
- | _s5082_ =>
- (spc_matches_prefix _s5082_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rl, existT _ _s5259_ _) =>
+ (match (string_drop _s5258_ _s5259_) with
+ | _s5260_ =>
+ (spc_matches_prefix _s5260_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (tt, existT _ _s5083_ _) =>
- (match (string_drop _s5082_ _s5083_) with
- | _s5084_ =>
- (reg_name_matches_prefix _s5084_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5261_ _) =>
+ (match (string_drop _s5260_ _s5261_) with
+ | _s5262_ =>
+ (reg_name_matches_prefix _s5262_) >>= fun w__5 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (rd, existT _ _s5085_ _) =>
- (match (string_drop _s5084_ _s5085_) with
- | _s5086_ =>
- (sep_matches_prefix _s5086_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5263_ _) =>
+ (match (string_drop _s5262_ _s5263_) with
+ | _s5264_ =>
+ (sep_matches_prefix _s5264_) >>= fun w__6 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__6 with
- | Some (tt, existT _ _s5087_ _) =>
- (match (string_drop _s5086_ _s5087_) with
- | _s5088_ =>
+ | Some (tt, existT _ _s5265_ _) =>
+ (match (string_drop _s5264_ _s5265_) with
+ | _s5266_ =>
(match (hex_bits_12_matches_prefix
- _s5088_) with
- | Some (imm, existT _ _s5089_ _) =>
- (match (string_drop _s5088_
- _s5089_) with
- | _s5090_ =>
+ _s5266_) with
+ | Some (imm, existT _ _s5267_ _) =>
+ (match (string_drop _s5266_
+ _s5267_) with
+ | _s5268_ =>
(opt_spc_matches_prefix
- _s5090_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5268_) >>= fun w__7 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__7 with
| Some
- (tt, existT _ _s5091_ _) =>
- let _s5092_ :=
- string_drop _s5090_
- _s5091_ in
+ (tt, existT _ _s5269_ _) =>
+ let _s5270_ :=
+ string_drop _s5268_
+ _s5269_ in
(if string_startswith
- _s5092_ "(" then
+ _s5270_ "(" then
(match (string_drop
- _s5092_
+ _s5270_
(projT1
(string_length
"("))) with
- | _s5093_ =>
+ | _s5271_ =>
(opt_spc_matches_prefix
- _s5093_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5271_) >>= fun w__8 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__8 with
| Some
- (tt, existT _ _s5094_ _) =>
+ (tt, existT _ _s5272_ _) =>
(match (string_drop
- _s5093_
- _s5094_) with
- | _s5095_ =>
+ _s5271_
+ _s5272_) with
+ | _s5273_ =>
(reg_name_matches_prefix
- _s5095_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ _s5273_) >>= fun w__9 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__9 with
| Some
- (rs1, existT _ _s5096_ _) =>
+ (rs1, existT _ _s5274_ _) =>
(match (string_drop
- _s5095_
- _s5096_) with
- | _s5097_ =>
+ _s5273_
+ _s5274_) with
+ | _s5275_ =>
(opt_spc_matches_prefix
- _s5097_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
+ _s5275_) >>= fun w__10 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__10 with
| Some
- (tt, existT _ _s5098_ _) =>
- let _s5099_ :=
+ (tt, existT _ _s5276_ _) =>
+ let _s5277_ :=
string_drop
- _s5097_
- _s5098_ in
+ _s5275_
+ _s5276_ in
if
string_startswith
- _s5099_
+ _s5277_
")"
then
match (string_drop
- _s5099_
+ _s5277_
(projT1
(string_length
")"))) with
@@ -62578,51 +63747,51 @@ Definition _s5071_ (_s5072_ : string)
else returnm None)
: M (option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string))).
-Definition _s5054_ (_s5055_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5 * string))) :=
- (match _s5055_ with
- | _s5056_ =>
- (rtype_mnemonic_matches_prefix _s5056_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
+Definition _s5232_ (_s5233_ : string) : M (option ((rop * mword 5 * mword 5 * mword 5 * string))) :=
+ (match _s5233_ with
+ | _s5234_ =>
+ (rtype_mnemonic_matches_prefix _s5234_) >>= fun w__0 : option ((rop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5057_ _) =>
- (match (string_drop _s5056_ _s5057_) with
- | _s5058_ =>
- (spc_matches_prefix _s5058_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5235_ _) =>
+ (match (string_drop _s5234_ _s5235_) with
+ | _s5236_ =>
+ (spc_matches_prefix _s5236_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5059_ _) =>
- (match (string_drop _s5058_ _s5059_) with
- | _s5060_ =>
- (reg_name_matches_prefix _s5060_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5237_ _) =>
+ (match (string_drop _s5236_ _s5237_) with
+ | _s5238_ =>
+ (reg_name_matches_prefix _s5238_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5061_ _) =>
- (match (string_drop _s5060_ _s5061_) with
- | _s5062_ =>
- (sep_matches_prefix _s5062_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5239_ _) =>
+ (match (string_drop _s5238_ _s5239_) with
+ | _s5240_ =>
+ (sep_matches_prefix _s5240_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5063_ _) =>
- (match (string_drop _s5062_ _s5063_) with
- | _s5064_ =>
- (reg_name_matches_prefix _s5064_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5241_ _) =>
+ (match (string_drop _s5240_ _s5241_) with
+ | _s5242_ =>
+ (reg_name_matches_prefix _s5242_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5065_ _) =>
- (match (string_drop _s5064_ _s5065_) with
- | _s5066_ =>
- (sep_matches_prefix _s5066_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5243_ _) =>
+ (match (string_drop _s5242_ _s5243_) with
+ | _s5244_ =>
+ (sep_matches_prefix _s5244_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__5 with
- | Some (tt, existT _ _s5067_ _) =>
- (match (string_drop _s5066_ _s5067_) with
- | _s5068_ =>
- (reg_name_matches_prefix _s5068_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5245_ _) =>
+ (match (string_drop _s5244_ _s5245_) with
+ | _s5246_ =>
+ (reg_name_matches_prefix _s5246_) >>= fun w__6 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__6 with
- | Some (rs2, existT _ _s5069_ _) =>
- match (string_drop _s5068_
- _s5069_) with
+ | Some (rs2, existT _ _s5247_ _) =>
+ match (string_drop _s5246_
+ _s5247_) with
| s_ =>
Some (op, rd, rs1, rs2, s_)
end
@@ -62661,49 +63830,49 @@ Definition _s5054_ (_s5055_ : string) : M (option ((rop * mword 5 * mword 5 * mw
end)
: M (option ((rop * mword 5 * mword 5 * mword 5 * string))).
-Definition _s5037_ (_s5038_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6 * string))) :=
- (match _s5038_ with
- | _s5039_ =>
- (shiftiop_mnemonic_matches_prefix _s5039_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
+Definition _s5215_ (_s5216_ : string) : M (option ((sop * mword 5 * mword 5 * mword 6 * string))) :=
+ (match _s5216_ with
+ | _s5217_ =>
+ (shiftiop_mnemonic_matches_prefix _s5217_) >>= fun w__0 : option ((sop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5040_ _) =>
- (match (string_drop _s5039_ _s5040_) with
- | _s5041_ =>
- (spc_matches_prefix _s5041_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5218_ _) =>
+ (match (string_drop _s5217_ _s5218_) with
+ | _s5219_ =>
+ (spc_matches_prefix _s5219_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5042_ _) =>
- (match (string_drop _s5041_ _s5042_) with
- | _s5043_ =>
- (reg_name_matches_prefix _s5043_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5220_ _) =>
+ (match (string_drop _s5219_ _s5220_) with
+ | _s5221_ =>
+ (reg_name_matches_prefix _s5221_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5044_ _) =>
- (match (string_drop _s5043_ _s5044_) with
- | _s5045_ =>
- (sep_matches_prefix _s5045_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5222_ _) =>
+ (match (string_drop _s5221_ _s5222_) with
+ | _s5223_ =>
+ (sep_matches_prefix _s5223_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5046_ _) =>
- (match (string_drop _s5045_ _s5046_) with
- | _s5047_ =>
- (reg_name_matches_prefix _s5047_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5224_ _) =>
+ (match (string_drop _s5223_ _s5224_) with
+ | _s5225_ =>
+ (reg_name_matches_prefix _s5225_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5048_ _) =>
- (match (string_drop _s5047_ _s5048_) with
- | _s5049_ =>
- (sep_matches_prefix _s5049_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5226_ _) =>
+ (match (string_drop _s5225_ _s5226_) with
+ | _s5227_ =>
+ (sep_matches_prefix _s5227_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s5050_ _) =>
- match (string_drop _s5049_ _s5050_) with
- | _s5051_ =>
+ | Some (tt, existT _ _s5228_ _) =>
+ match (string_drop _s5227_ _s5228_) with
+ | _s5229_ =>
match (hex_bits_6_matches_prefix
- _s5051_) with
- | Some (shamt, existT _ _s5052_ _) =>
- match (string_drop _s5051_ _s5052_) with
+ _s5229_) with
+ | Some (shamt, existT _ _s5230_ _) =>
+ match (string_drop _s5229_ _s5230_) with
| s_ =>
Some (op, rd, rs1, shamt, s_)
end
@@ -62740,49 +63909,49 @@ Definition _s5037_ (_s5038_ : string) : M (option ((sop * mword 5 * mword 5 * mw
end)
: M (option ((sop * mword 5 * mword 5 * mword 6 * string))).
-Definition _s5020_ (_s5021_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12 * string))) :=
- (match _s5021_ with
- | _s5022_ =>
- (itype_mnemonic_matches_prefix _s5022_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
+Definition _s5198_ (_s5199_ : string) : M (option ((iop * mword 5 * mword 5 * mword 12 * string))) :=
+ (match _s5199_ with
+ | _s5200_ =>
+ (itype_mnemonic_matches_prefix _s5200_) >>= fun w__0 : option ((iop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5023_ _) =>
- (match (string_drop _s5022_ _s5023_) with
- | _s5024_ =>
- (spc_matches_prefix _s5024_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5201_ _) =>
+ (match (string_drop _s5200_ _s5201_) with
+ | _s5202_ =>
+ (spc_matches_prefix _s5202_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5025_ _) =>
- (match (string_drop _s5024_ _s5025_) with
- | _s5026_ =>
- (reg_name_matches_prefix _s5026_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5203_ _) =>
+ (match (string_drop _s5202_ _s5203_) with
+ | _s5204_ =>
+ (reg_name_matches_prefix _s5204_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s5027_ _) =>
- (match (string_drop _s5026_ _s5027_) with
- | _s5028_ =>
- (sep_matches_prefix _s5028_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5205_ _) =>
+ (match (string_drop _s5204_ _s5205_) with
+ | _s5206_ =>
+ (sep_matches_prefix _s5206_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5029_ _) =>
- (match (string_drop _s5028_ _s5029_) with
- | _s5030_ =>
- (reg_name_matches_prefix _s5030_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5207_ _) =>
+ (match (string_drop _s5206_ _s5207_) with
+ | _s5208_ =>
+ (reg_name_matches_prefix _s5208_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs1, existT _ _s5031_ _) =>
- (match (string_drop _s5030_ _s5031_) with
- | _s5032_ =>
- (sep_matches_prefix _s5032_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5209_ _) =>
+ (match (string_drop _s5208_ _s5209_) with
+ | _s5210_ =>
+ (sep_matches_prefix _s5210_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s5033_ _) =>
- match (string_drop _s5032_ _s5033_) with
- | _s5034_ =>
+ | Some (tt, existT _ _s5211_ _) =>
+ match (string_drop _s5210_ _s5211_) with
+ | _s5212_ =>
match (hex_bits_12_matches_prefix
- _s5034_) with
- | Some (imm, existT _ _s5035_ _) =>
- match (string_drop _s5034_ _s5035_) with
+ _s5212_) with
+ | Some (imm, existT _ _s5213_ _) =>
+ match (string_drop _s5212_ _s5213_) with
| s_ => Some (op, rd, rs1, imm, s_)
end
| _ => None
@@ -62818,49 +63987,49 @@ Definition _s5020_ (_s5021_ : string) : M (option ((iop * mword 5 * mword 5 * mw
end)
: M (option ((iop * mword 5 * mword 5 * mword 12 * string))).
-Definition _s5003_ (_s5004_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13 * string))) :=
- (match _s5004_ with
- | _s5005_ =>
- (btype_mnemonic_matches_prefix _s5005_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
+Definition _s5181_ (_s5182_ : string) : M (option ((bop * mword 5 * mword 5 * mword 13 * string))) :=
+ (match _s5182_ with
+ | _s5183_ =>
+ (btype_mnemonic_matches_prefix _s5183_) >>= fun w__0 : option ((bop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s5006_ _) =>
- (match (string_drop _s5005_ _s5006_) with
- | _s5007_ =>
- (spc_matches_prefix _s5007_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5184_ _) =>
+ (match (string_drop _s5183_ _s5184_) with
+ | _s5185_ =>
+ (spc_matches_prefix _s5185_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s5008_ _) =>
- (match (string_drop _s5007_ _s5008_) with
- | _s5009_ =>
- (reg_name_matches_prefix _s5009_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5186_ _) =>
+ (match (string_drop _s5185_ _s5186_) with
+ | _s5187_ =>
+ (reg_name_matches_prefix _s5187_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rs1, existT _ _s5010_ _) =>
- (match (string_drop _s5009_ _s5010_) with
- | _s5011_ =>
- (sep_matches_prefix _s5011_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5188_ _) =>
+ (match (string_drop _s5187_ _s5188_) with
+ | _s5189_ =>
+ (sep_matches_prefix _s5189_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (tt, existT _ _s5012_ _) =>
- (match (string_drop _s5011_ _s5012_) with
- | _s5013_ =>
- (reg_name_matches_prefix _s5013_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5190_ _) =>
+ (match (string_drop _s5189_ _s5190_) with
+ | _s5191_ =>
+ (reg_name_matches_prefix _s5191_) >>= fun w__4 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__4 with
- | Some (rs2, existT _ _s5014_ _) =>
- (match (string_drop _s5013_ _s5014_) with
- | _s5015_ =>
- (sep_matches_prefix _s5015_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs2, existT _ _s5192_ _) =>
+ (match (string_drop _s5191_ _s5192_) with
+ | _s5193_ =>
+ (sep_matches_prefix _s5193_) >>= fun w__5 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__5 with
- | Some (tt, existT _ _s5016_ _) =>
- match (string_drop _s5015_ _s5016_) with
- | _s5017_ =>
+ | Some (tt, existT _ _s5194_ _) =>
+ match (string_drop _s5193_ _s5194_) with
+ | _s5195_ =>
match (hex_bits_13_matches_prefix
- _s5017_) with
- | Some (imm, existT _ _s5018_ _) =>
- match (string_drop _s5017_ _s5018_) with
+ _s5195_) with
+ | Some (imm, existT _ _s5196_ _) =>
+ match (string_drop _s5195_ _s5196_) with
| s_ =>
Some (op, rs1, rs2, imm, s_)
end
@@ -62897,43 +64066,43 @@ Definition _s5003_ (_s5004_ : string) : M (option ((bop * mword 5 * mword 5 * mw
end)
: M (option ((bop * mword 5 * mword 5 * mword 13 * string))).
-Definition _s4987_ (_s4988_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
- let _s4989_ := _s4988_ in
- (if string_startswith _s4989_ "jalr" then
- (match (string_drop _s4989_ (projT1 (string_length "jalr"))) with
- | _s4990_ =>
- (spc_matches_prefix _s4990_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5165_ (_s5166_ : string) : M (option ((mword 5 * mword 5 * mword 12 * string))) :=
+ let _s5167_ := _s5166_ in
+ (if string_startswith _s5167_ "jalr" then
+ (match (string_drop _s5167_ (projT1 (string_length "jalr"))) with
+ | _s5168_ =>
+ (spc_matches_prefix _s5168_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4991_ _) =>
- (match (string_drop _s4990_ _s4991_) with
- | _s4992_ =>
- (reg_name_matches_prefix _s4992_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5169_ _) =>
+ (match (string_drop _s5168_ _s5169_) with
+ | _s5170_ =>
+ (reg_name_matches_prefix _s5170_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4993_ _) =>
- (match (string_drop _s4992_ _s4993_) with
- | _s4994_ =>
- (sep_matches_prefix _s4994_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5171_ _) =>
+ (match (string_drop _s5170_ _s5171_) with
+ | _s5172_ =>
+ (sep_matches_prefix _s5172_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (tt, existT _ _s4995_ _) =>
- (match (string_drop _s4994_ _s4995_) with
- | _s4996_ =>
- (reg_name_matches_prefix _s4996_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5173_ _) =>
+ (match (string_drop _s5172_ _s5173_) with
+ | _s5174_ =>
+ (reg_name_matches_prefix _s5174_) >>= fun w__3 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__3 with
- | Some (rs1, existT _ _s4997_ _) =>
- (match (string_drop _s4996_ _s4997_) with
- | _s4998_ =>
- (sep_matches_prefix _s4998_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rs1, existT _ _s5175_ _) =>
+ (match (string_drop _s5174_ _s5175_) with
+ | _s5176_ =>
+ (sep_matches_prefix _s5176_) >>= fun w__4 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__4 with
- | Some (tt, existT _ _s4999_ _) =>
- match (string_drop _s4998_ _s4999_) with
- | _s5000_ =>
- match (hex_bits_12_matches_prefix _s5000_) with
- | Some (imm, existT _ _s5001_ _) =>
- match (string_drop _s5000_ _s5001_) with
+ | Some (tt, existT _ _s5177_ _) =>
+ match (string_drop _s5176_ _s5177_) with
+ | _s5178_ =>
+ match (hex_bits_12_matches_prefix _s5178_) with
+ | Some (imm, existT _ _s5179_ _) =>
+ match (string_drop _s5178_ _s5179_) with
| s_ => Some (rd, rs1, imm, s_)
end
| _ => None
@@ -62966,31 +64135,31 @@ Definition _s4987_ (_s4988_ : string) : M (option ((mword 5 * mword 5 * mword 12
else returnm None)
: M (option ((mword 5 * mword 5 * mword 12 * string))).
-Definition _s4975_ (_s4976_ : string) : M (option ((mword 5 * mword 21 * string))) :=
- let _s4977_ := _s4976_ in
- (if string_startswith _s4977_ "jal" then
- (match (string_drop _s4977_ (projT1 (string_length "jal"))) with
- | _s4978_ =>
- (spc_matches_prefix _s4978_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
+Definition _s5153_ (_s5154_ : string) : M (option ((mword 5 * mword 21 * string))) :=
+ let _s5155_ := _s5154_ in
+ (if string_startswith _s5155_ "jal" then
+ (match (string_drop _s5155_ (projT1 (string_length "jal"))) with
+ | _s5156_ =>
+ (spc_matches_prefix _s5156_) >>= fun w__0 : option ((unit * {n : Z & ArithFact (n >=? 0)})) =>
(match w__0 with
- | Some (tt, existT _ _s4979_ _) =>
- (match (string_drop _s4978_ _s4979_) with
- | _s4980_ =>
- (reg_name_matches_prefix _s4980_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5157_ _) =>
+ (match (string_drop _s5156_ _s5157_) with
+ | _s5158_ =>
+ (reg_name_matches_prefix _s5158_) >>= fun w__1 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (rd, existT _ _s4981_ _) =>
- (match (string_drop _s4980_ _s4981_) with
- | _s4982_ =>
- (sep_matches_prefix _s4982_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5159_ _) =>
+ (match (string_drop _s5158_ _s5159_) with
+ | _s5160_ =>
+ (sep_matches_prefix _s5160_) >>= fun w__2 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__2 with
- | Some (tt, existT _ _s4983_ _) =>
- match (string_drop _s4982_ _s4983_) with
- | _s4984_ =>
- match (hex_bits_21_matches_prefix _s4984_) with
- | Some (imm, existT _ _s4985_ _) =>
- match (string_drop _s4984_ _s4985_) with
+ | Some (tt, existT _ _s5161_ _) =>
+ match (string_drop _s5160_ _s5161_) with
+ | _s5162_ =>
+ match (hex_bits_21_matches_prefix _s5162_) with
+ | Some (imm, existT _ _s5163_ _) =>
+ match (string_drop _s5162_ _s5163_) with
| s_ => Some (rd, imm, s_)
end
| _ => None
@@ -63013,36 +64182,36 @@ Definition _s4975_ (_s4976_ : string) : M (option ((mword 5 * mword 21 * string)
else returnm None)
: M (option ((mword 5 * mword 21 * string))).
-Definition _s4962_ (_s4963_ : string) : M (option ((uop * mword 5 * mword 20 * string))) :=
- (match _s4963_ with
- | _s4964_ =>
- (utype_mnemonic_matches_prefix _s4964_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
+Definition _s5140_ (_s5141_ : string) : M (option ((uop * mword 5 * mword 20 * string))) :=
+ (match _s5141_ with
+ | _s5142_ =>
+ (utype_mnemonic_matches_prefix _s5142_) >>= fun w__0 : option ((uop * {n : Z & ArithFact (n >=?
0)})) =>
(match w__0 with
- | Some (op, existT _ _s4965_ _) =>
- (match (string_drop _s4964_ _s4965_) with
- | _s4966_ =>
- (spc_matches_prefix _s4966_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (op, existT _ _s5143_ _) =>
+ (match (string_drop _s5142_ _s5143_) with
+ | _s5144_ =>
+ (spc_matches_prefix _s5144_) >>= fun w__1 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
(match w__1 with
- | Some (tt, existT _ _s4967_ _) =>
- (match (string_drop _s4966_ _s4967_) with
- | _s4968_ =>
- (reg_name_matches_prefix _s4968_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
+ | Some (tt, existT _ _s5145_ _) =>
+ (match (string_drop _s5144_ _s5145_) with
+ | _s5146_ =>
+ (reg_name_matches_prefix _s5146_) >>= fun w__2 : option ((mword 5 * {n : Z & ArithFact (n >=?
0)})) =>
(match w__2 with
- | Some (rd, existT _ _s4969_ _) =>
- (match (string_drop _s4968_ _s4969_) with
- | _s4970_ =>
- (sep_matches_prefix _s4970_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
+ | Some (rd, existT _ _s5147_ _) =>
+ (match (string_drop _s5146_ _s5147_) with
+ | _s5148_ =>
+ (sep_matches_prefix _s5148_) >>= fun w__3 : option ((unit * {n : Z & ArithFact (n >=?
0)})) =>
returnm (match w__3 with
- | Some (tt, existT _ _s4971_ _) =>
- match (string_drop _s4970_ _s4971_) with
- | _s4972_ =>
- match (hex_bits_20_matches_prefix _s4972_) with
- | Some (imm, existT _ _s4973_ _) =>
- match (string_drop _s4972_ _s4973_) with
+ | Some (tt, existT _ _s5149_ _) =>
+ match (string_drop _s5148_ _s5149_) with
+ | _s5150_ =>
+ match (hex_bits_20_matches_prefix _s5150_) with
+ | Some (imm, existT _ _s5151_ _) =>
+ match (string_drop _s5150_ _s5151_) with
| s_ => Some (op, rd, imm, s_)
end
| _ => None
@@ -63070,10 +64239,10 @@ Definition _s4962_ (_s4963_ : string) : M (option ((uop * mword 5 * mword 20 * s
Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)}))) :=
- let _s4974_ := arg_ in
- (_s4962_ _s4974_) >>= fun w__0 : option ((uop * mword 5 * mword 20 * string)) =>
+ let _s5152_ := arg_ in
+ (_s5140_ _s5152_) >>= fun w__0 : option ((uop * mword 5 * mword 20 * string)) =>
(if match w__0 with | Some (op, rd, imm, s_) => true | _ => false end then
- (_s4962_ _s4974_) >>= fun w__1 : option ((uop * mword 5 * mword 20 * string)) =>
+ (_s5140_ _s5152_) >>= fun w__1 : option ((uop * mword 5 * mword 20 * string)) =>
(match w__1 with
| Some (op, rd, imm, s_) =>
returnm (Some
@@ -63084,9 +64253,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4975_ _s4974_) >>= fun w__4 : option ((mword 5 * mword 21 * string)) =>
+ (_s5153_ _s5152_) >>= fun w__4 : option ((mword 5 * mword 21 * string)) =>
(if match w__4 with | Some (rd, imm, s_) => true | _ => false end then
- (_s4975_ _s4974_) >>= fun w__5 : option ((mword 5 * mword 21 * string)) =>
+ (_s5153_ _s5152_) >>= fun w__5 : option ((mword 5 * mword 21 * string)) =>
(match w__5 with
| Some (rd, imm, s_) =>
returnm (Some
@@ -63097,9 +64266,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s4987_ _s4974_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s5165_ _s5152_) >>= fun w__8 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(if match w__8 with | Some (rd, rs1, imm, s_) => true | _ => false end then
- (_s4987_ _s4974_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s5165_ _s5152_) >>= fun w__9 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(match w__9 with
| Some (rd, rs1, imm, s_) =>
returnm (Some
@@ -63110,9 +64279,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5003_ _s4974_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
+ (_s5181_ _s5152_) >>= fun w__12 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
(if match w__12 with | Some (op, rs1, rs2, imm, s_) => true | _ => false end then
- (_s5003_ _s4974_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
+ (_s5181_ _s5152_) >>= fun w__13 : option ((bop * mword 5 * mword 5 * mword 13 * string)) =>
(match w__13 with
| Some (op, rs1, rs2, imm, s_) =>
returnm (Some
@@ -63123,9 +64292,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5020_ _s4974_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
+ (_s5198_ _s5152_) >>= fun w__16 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
(if match w__16 with | Some (op, rd, rs1, imm, s_) => true | _ => false end then
- (_s5020_ _s4974_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
+ (_s5198_ _s5152_) >>= fun w__17 : option ((iop * mword 5 * mword 5 * mword 12 * string)) =>
(match w__17 with
| Some (op, rd, rs1, imm, s_) =>
returnm (Some
@@ -63136,9 +64305,9 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5037_ _s4974_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
+ (_s5215_ _s5152_) >>= fun w__20 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
(if match w__20 with | Some (op, rd, rs1, shamt, s_) => true | _ => false end then
- (_s5037_ _s4974_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
+ (_s5215_ _s5152_) >>= fun w__21 : option ((sop * mword 5 * mword 5 * mword 6 * string)) =>
(match w__21 with
| Some (op, rd, rs1, shamt, s_) =>
returnm (Some
@@ -63151,10 +64320,10 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5054_ _s4974_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5232_ _s5152_) >>= fun w__24 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__24 with | Some (op, rd, rs1, rs2, s_) => true | _ => false end
then
- (_s5054_ _s4974_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5232_ _s5152_) >>= fun w__25 : option ((rop * mword 5 * mword 5 * mword 5 * string)) =>
(match w__25 with
| Some (op, rd, rs1, rs2, s_) =>
returnm (Some
@@ -63167,12 +64336,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5071_ _s4974_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s5249_ _s5152_) >>= fun w__28 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(if match w__28 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1, s_) => true
| _ => false
end then
- (_s5071_ _s4974_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s5249_ _s5152_) >>= fun w__29 : option ((word_width * bool * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(match w__29 with
| Some (size, is_unsigned, aq, rl, rd, imm, rs1, s_) =>
returnm (Some
@@ -63185,12 +64354,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5101_ _s4974_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s5279_ _s5152_) >>= fun w__32 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(if match w__32 with
| Some (size, aq, rl, rs2, imm, rs1, s_) => true
| _ => false
end then
- (_s5101_ _s4974_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s5279_ _s5152_) >>= fun w__33 : option ((word_width * bool * bool * mword 5 * mword 12 * mword 5 * string)) =>
(match w__33 with
| Some (size, aq, rl, rs2, imm, rs1, s_) =>
returnm (Some
@@ -63203,12 +64372,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5129_ _s4974_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s5307_ _s5152_) >>= fun w__36 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(if match w__36 with
| Some (rd, rs1, imm, s_) => Z.eqb 64 64
| _ => false
end then
- (_s5129_ _s4974_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (_s5307_ _s5152_) >>= fun w__37 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(match w__37 with
| Some (rd, rs1, imm, s_) =>
returnm (Some
@@ -63222,12 +64391,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5145_ _s4974_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5323_ _s5152_) >>= fun w__40 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__40 with
| Some (op, rd, rs1, shamt, s_) => Z.eqb 64 64
| _ => false
end then
- (_s5145_ _s4974_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5323_ _s5152_) >>= fun w__41 : option ((sop * mword 5 * mword 5 * mword 5 * string)) =>
(match w__41 with
| Some (op, rd, rs1, shamt, s_) =>
returnm (Some
@@ -63242,12 +64411,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5162_ _s4974_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5340_ _s5152_) >>= fun w__44 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__44 with
| Some (op, rd, rs1, rs2, s_) => Z.eqb 64 64
| _ => false
end then
- (_s5162_ _s4974_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5340_ _s5152_) >>= fun w__45 : option ((ropw * mword 5 * mword 5 * mword 5 * string)) =>
(match w__45 with
| Some (op, rd, rs1, rs2, s_) =>
returnm (Some
@@ -63262,12 +64431,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5179_ _s4974_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5357_ _s5152_) >>= fun w__48 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__48 with
| Some (op, rd, rs1, shamt, s_) => Z.eqb 64 64
| _ => false
end then
- (_s5179_ _s4974_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5357_ _s5152_) >>= fun w__49 : option ((sopw * mword 5 * mword 5 * mword 5 * string)) =>
(match w__49 with
| Some (op, rd, rs1, shamt, s_) =>
returnm (Some
@@ -63282,12 +64451,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5196_ _s4974_) >>= fun w__52 : option ((mword 4 * mword 4 * string)) =>
+ (_s5374_ _s5152_) >>= fun w__52 : option ((mword 4 * mword 4 * string)) =>
(if match w__52 with
| Some (pred, succ, s_) => true
| _ => false
end then
- (_s5196_ _s4974_) >>= fun w__53 : option ((mword 4 * mword 4 * string)) =>
+ (_s5374_ _s5152_) >>= fun w__53 : option ((mword 4 * mword 4 * string)) =>
(match w__53 with
| Some (pred, succ, s_) =>
returnm (Some
@@ -63302,12 +64471,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5208_ _s4974_) >>= fun w__56 : option ((mword 4 * mword 4 * string)) =>
+ (_s5386_ _s5152_) >>= fun w__56 : option ((mword 4 * mword 4 * string)) =>
(if match w__56 with
| Some (pred, succ, s_) => true
| _ => false
end then
- (_s5208_ _s4974_) >>= fun w__57 : option ((mword 4 * mword 4 * string)) =>
+ (_s5386_ _s5152_) >>= fun w__57 : option ((mword 4 * mword 4 * string)) =>
(match w__57 with
| Some (pred, succ, s_) =>
returnm (Some
@@ -63323,11 +64492,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s5220_ _s4974_) with
+ else if match (_s5398_ _s5152_) with
| Some s_ => true
| _ => false
end then
- (match (_s5220_ _s4974_) with
+ (match (_s5398_ _s5152_) with
| Some s_ =>
returnm (Some
(FENCEI tt, build_ex
@@ -63342,11 +64511,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s5224_ _s4974_) with
+ else if match (_s5402_ _s5152_) with
| Some s_ => true
| _ => false
end then
- (match (_s5224_ _s4974_) with
+ (match (_s5402_ _s5152_) with
| Some s_ =>
returnm (Some
(ECALL tt, build_ex
@@ -63361,11 +64530,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s5228_ _s4974_) with
+ else if match (_s5406_ _s5152_) with
| Some s_ => true
| _ => false
end then
- (match (_s5228_ _s4974_) with
+ (match (_s5406_ _s5152_) with
| Some s_ =>
returnm (Some
(MRET tt, build_ex
@@ -63380,11 +64549,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s5232_ _s4974_) with
+ else if match (_s5410_ _s5152_) with
| Some s_ => true
| _ => false
end then
- (match (_s5232_ _s4974_) with
+ (match (_s5410_ _s5152_) with
| Some s_ =>
returnm (Some
(SRET tt, build_ex
@@ -63399,11 +64568,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s5236_ _s4974_) with
+ else if match (_s5414_ _s5152_) with
| Some s_ => true
| _ => false
end then
- (match (_s5236_ _s4974_) with
+ (match (_s5414_ _s5152_) with
| Some s_ =>
returnm (Some
(EBREAK tt, build_ex
@@ -63418,11 +64587,11 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
- else if match (_s5240_ _s4974_) with
+ else if match (_s5418_ _s5152_) with
| Some s_ => true
| _ => false
end then
- (match (_s5240_ _s4974_) with
+ (match (_s5418_ _s5152_) with
| Some s_ =>
returnm (Some
(WFI tt, build_ex
@@ -63438,12 +64607,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5244_ _s4974_) >>= fun w__72 : option ((mword 5 * mword 5 * string)) =>
+ (_s5422_ _s5152_) >>= fun w__72 : option ((mword 5 * mword 5 * string)) =>
(if match w__72 with
| Some (rs1, rs2, s_) => true
| _ => false
end then
- (_s5244_ _s4974_) >>= fun w__73 : option ((mword 5 * mword 5 * string)) =>
+ (_s5422_ _s5152_) >>= fun w__73 : option ((mword 5 * mword 5 * string)) =>
(match w__73 with
| Some (rs1, rs2, s_) =>
returnm (Some
@@ -63461,12 +64630,12 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=? 0)})))
else
- (_s5256_ _s4974_) >>= fun w__76 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
+ (_s5434_ _s5152_) >>= fun w__76 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
(if match w__76 with
| Some (size, aq, rl, rd, rs1, s_) => true
| _ => false
end then
- (_s5256_ _s4974_) >>= fun w__77 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
+ (_s5434_ _s5152_) >>= fun w__77 : option ((word_width * bool * bool * mword 5 * mword 5 * string)) =>
(match w__77 with
| Some (size, aq, rl, rd, rs1, s_) =>
returnm (Some
@@ -63486,13 +64655,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5274_ _s4974_) >>= fun w__80 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5452_ _s5152_) >>= fun w__80 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__80 with
| Some (size, aq, rl, rd, rs1, rs2, s_) =>
true
| _ => false
end then
- (_s5274_ _s4974_) >>= fun w__81 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5452_ _s5152_) >>= fun w__81 : option ((word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__81 with
| Some (size, aq, rl, rd, rs1, rs2, s_) =>
returnm (Some
@@ -63512,14 +64681,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5296_ _s4974_) >>= fun w__84 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5474_ _s5152_) >>= fun w__84 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(if match w__84 with
| Some
(op, width, aq, rl, rd, rs2, rs1, s_) =>
true
| _ => false
end then
- (_s5296_ _s4974_) >>= fun w__85 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5474_ _s5152_) >>= fun w__85 : option ((amoop * word_width * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__85 with
| Some
(op, width, aq, rl, rd, rs2, rs1, s_) =>
@@ -63539,11 +64708,11 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
- else if match (_s5322_ _s4974_) with
+ else if match (_s5500_ _s5152_) with
| Some s_ => true
| _ => false
end then
- (match (_s5322_ _s4974_) with
+ (match (_s5500_ _s5152_) with
| Some s_ =>
returnm (Some
(C_NOP tt, build_ex
@@ -63561,13 +64730,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5326_ _s4974_) >>= fun w__90 : option ((mword 3 * mword 8 * string)) =>
+ (_s5504_ _s5152_) >>= fun w__90 : option ((mword 3 * mword 8 * string)) =>
(if match w__90 with
| Some (rdc, nzimm, s_) =>
neq_vec nzimm (Ox"00" : mword 8)
| _ => false
end then
- (_s5326_ _s4974_) >>= fun w__91 : option ((mword 3 * mword 8 * string)) =>
+ (_s5504_ _s5152_) >>= fun w__91 : option ((mword 3 * mword 8 * string)) =>
(match w__91 with
| Some (rdc, nzimm, s_) =>
returnm (Some
@@ -63588,13 +64757,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5338_ _s4974_) >>= fun w__94 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5516_ _s5152_) >>= fun w__94 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__94 with
| Some (rdc, rsc, uimm, s_) =>
true
| _ => false
end then
- (_s5338_ _s4974_) >>= fun w__95 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5516_ _s5152_) >>= fun w__95 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__95 with
| Some (rdc, rsc, uimm, s_) =>
returnm (Some
@@ -63616,13 +64785,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5354_ _s4974_) >>= fun w__98 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5532_ _s5152_) >>= fun w__98 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__98 with
| Some (rdc, rsc, uimm, s_) =>
Z.eqb 64 64
| _ => false
end then
- (_s5354_ _s4974_) >>= fun w__99 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5532_ _s5152_) >>= fun w__99 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__99 with
| Some (rdc, rsc, uimm, s_) =>
returnm (Some
@@ -63644,14 +64813,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5370_ _s4974_) >>= fun w__102 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5548_ _s5152_) >>= fun w__102 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__102 with
| Some
(rsc1, rsc2, uimm, s_) =>
true
| _ => false
end then
- (_s5370_ _s4974_) >>= fun w__103 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5548_ _s5152_) >>= fun w__103 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__103 with
| Some
(rsc1, rsc2, uimm, s_) =>
@@ -63674,14 +64843,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5386_ _s4974_) >>= fun w__106 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5564_ _s5152_) >>= fun w__106 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if match w__106 with
| Some
(rsc1, rsc2, uimm, s_) =>
Z.eqb 64 64
| _ => false
end then
- (_s5386_ _s4974_) >>= fun w__107 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s5564_ _s5152_) >>= fun w__107 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(match w__107 with
| Some
(rsc1, rsc2, uimm, s_) =>
@@ -63704,7 +64873,7 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5402_ _s4974_) >>= fun w__110 : option ((mword 5 * mword 6 * string)) =>
+ (_s5580_ _s5152_) >>= fun w__110 : option ((mword 5 * mword 6 * string)) =>
(if match w__110 with
| Some (rsd, nzi, s_) =>
andb
@@ -63715,7 +64884,7 @@ Definition assembly_matches_prefix (arg_ : string)
zreg)
| _ => false
end then
- (_s5402_ _s4974_) >>= fun w__111 : option ((mword 5 * mword 6 * string)) =>
+ (_s5580_ _s5152_) >>= fun w__111 : option ((mword 5 * mword 6 * string)) =>
(match w__111 with
| Some (rsd, nzi, s_) =>
returnm (Some
@@ -63737,13 +64906,13 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5414_ _s4974_) >>= fun w__114 : option ((mword 11 * string)) =>
+ (_s5592_ _s5152_) >>= fun w__114 : option ((mword 11 * string)) =>
(if match w__114 with
| Some (imm, s_) =>
Z.eqb 64 32
| _ => false
end then
- (_s5414_ _s4974_) >>= fun w__115 : option ((mword 11 * string)) =>
+ (_s5592_ _s5152_) >>= fun w__115 : option ((mword 11 * string)) =>
(match w__115 with
| Some (imm, s_) =>
returnm (Some
@@ -63765,14 +64934,14 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5422_ _s4974_) >>= fun w__118 : option ((mword 5 * mword 6 * string)) =>
+ (_s5600_ _s5152_) >>= fun w__118 : option ((mword 5 * mword 6 * string)) =>
(if match w__118 with
| Some
(rsd, imm, s_) =>
Z.eqb 64 64
| _ => false
end then
- (_s5422_ _s4974_) >>= fun w__119 : option ((mword 5 * mword 6 * string)) =>
+ (_s5600_ _s5152_) >>= fun w__119 : option ((mword 5 * mword 6 * string)) =>
(match w__119 with
| Some
(rsd, imm, s_) =>
@@ -63795,7 +64964,7 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5434_ _s4974_) >>= fun w__122 : option ((mword 5 * mword 6 * string)) =>
+ (_s5612_ _s5152_) >>= fun w__122 : option ((mword 5 * mword 6 * string)) =>
(if match w__122 with
| Some
(rd, imm, s_) =>
@@ -63803,8 +64972,8 @@ Definition assembly_matches_prefix (arg_ : string)
rd zreg
| _ => false
end then
- (_s5434_
- _s4974_) >>= fun w__123 : option ((mword 5 * mword 6 * string)) =>
+ (_s5612_
+ _s5152_) >>= fun w__123 : option ((mword 5 * mword 6 * string)) =>
(match w__123 with
| Some
(rd, imm, s_) =>
@@ -63827,8 +64996,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5446_
- _s4974_) >>= fun w__126 : option ((mword 6 * string)) =>
+ (_s5624_
+ _s5152_) >>= fun w__126 : option ((mword 6 * string)) =>
(if match w__126 with
| Some
(imm, s_) =>
@@ -63839,8 +65008,8 @@ Definition assembly_matches_prefix (arg_ : string)
| _ =>
false
end then
- (_s5446_
- _s4974_) >>= fun w__127 : option ((mword 6 * string)) =>
+ (_s5624_
+ _s5152_) >>= fun w__127 : option ((mword 6 * string)) =>
(match w__127 with
| Some
(imm, s_) =>
@@ -63863,8 +65032,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5454_
- _s4974_) >>= fun w__130 : option ((mword 5 * mword 6 * string)) =>
+ (_s5632_
+ _s5152_) >>= fun w__130 : option ((mword 5 * mword 6 * string)) =>
(if match w__130 with
| Some
(rd, imm, s_) =>
@@ -63884,8 +65053,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5454_
- _s4974_) >>= fun w__131 : option ((mword 5 * mword 6 * string)) =>
+ (_s5632_
+ _s5152_) >>= fun w__131 : option ((mword 5 * mword 6 * string)) =>
(match w__131 with
| Some
(rd, imm, s_) =>
@@ -63908,8 +65077,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5466_
- _s4974_) >>= fun w__134 : option ((mword 3 * mword 6 * string)) =>
+ (_s5644_
+ _s5152_) >>= fun w__134 : option ((mword 3 * mword 6 * string)) =>
(if match w__134 with
| Some
(rsd, shamt, s_) =>
@@ -63921,8 +65090,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5466_
- _s4974_) >>= fun w__135 : option ((mword 3 * mword 6 * string)) =>
+ (_s5644_
+ _s5152_) >>= fun w__135 : option ((mword 3 * mword 6 * string)) =>
(match w__135 with
| Some
(rsd, shamt, s_) =>
@@ -63945,8 +65114,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5478_
- _s4974_) >>= fun w__138 : option ((mword 3 * mword 6 * string)) =>
+ (_s5656_
+ _s5152_) >>= fun w__138 : option ((mword 3 * mword 6 * string)) =>
(if match w__138 with
| Some
(rsd, shamt, s_) =>
@@ -63958,8 +65127,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5478_
- _s4974_) >>= fun w__139 : option ((mword 3 * mword 6 * string)) =>
+ (_s5656_
+ _s5152_) >>= fun w__139 : option ((mword 3 * mword 6 * string)) =>
(match w__139 with
| Some
(rsd, shamt, s_) =>
@@ -63982,8 +65151,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5490_
- _s4974_) >>= fun w__142 : option ((mword 3 * mword 6 * string)) =>
+ (_s5668_
+ _s5152_) >>= fun w__142 : option ((mword 3 * mword 6 * string)) =>
(if
match w__142 with
| Some
@@ -63993,8 +65162,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5490_
- _s4974_) >>= fun w__143 : option ((mword 3 * mword 6 * string)) =>
+ (_s5668_
+ _s5152_) >>= fun w__143 : option ((mword 3 * mword 6 * string)) =>
(match w__143 with
| Some
(rsd, imm, s_) =>
@@ -64017,8 +65186,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5502_
- _s4974_) >>= fun w__146 : option ((mword 3 * mword 3 * string)) =>
+ (_s5680_
+ _s5152_) >>= fun w__146 : option ((mword 3 * mword 3 * string)) =>
(if
match w__146 with
| Some
@@ -64028,8 +65197,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5502_
- _s4974_) >>= fun w__147 : option ((mword 3 * mword 3 * string)) =>
+ (_s5680_
+ _s5152_) >>= fun w__147 : option ((mword 3 * mword 3 * string)) =>
(match w__147 with
| Some
(rsd, rs2, s_) =>
@@ -64052,8 +65221,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5514_
- _s4974_) >>= fun w__150 : option ((mword 3 * mword 3 * string)) =>
+ (_s5692_
+ _s5152_) >>= fun w__150 : option ((mword 3 * mword 3 * string)) =>
(if
match w__150 with
| Some
@@ -64063,8 +65232,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5514_
- _s4974_) >>= fun w__151 : option ((mword 3 * mword 3 * string)) =>
+ (_s5692_
+ _s5152_) >>= fun w__151 : option ((mword 3 * mword 3 * string)) =>
(match w__151 with
| Some
(rsd, rs2, s_) =>
@@ -64087,8 +65256,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5526_
- _s4974_) >>= fun w__154 : option ((mword 3 * mword 3 * string)) =>
+ (_s5704_
+ _s5152_) >>= fun w__154 : option ((mword 3 * mword 3 * string)) =>
(if
match w__154 with
| Some
@@ -64098,8 +65267,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5526_
- _s4974_) >>= fun w__155 : option ((mword 3 * mword 3 * string)) =>
+ (_s5704_
+ _s5152_) >>= fun w__155 : option ((mword 3 * mword 3 * string)) =>
(match w__155 with
| Some
(rsd, rs2, s_) =>
@@ -64122,8 +65291,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5538_
- _s4974_) >>= fun w__158 : option ((mword 3 * mword 3 * string)) =>
+ (_s5716_
+ _s5152_) >>= fun w__158 : option ((mword 3 * mword 3 * string)) =>
(if
match w__158 with
| Some
@@ -64133,8 +65302,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5538_
- _s4974_) >>= fun w__159 : option ((mword 3 * mword 3 * string)) =>
+ (_s5716_
+ _s5152_) >>= fun w__159 : option ((mword 3 * mword 3 * string)) =>
(match w__159 with
| Some
(rsd, rs2, s_) =>
@@ -64157,8 +65326,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5550_
- _s4974_) >>= fun w__162 : option ((mword 3 * mword 3 * string)) =>
+ (_s5728_
+ _s5152_) >>= fun w__162 : option ((mword 3 * mword 3 * string)) =>
(if
match w__162 with
| Some
@@ -64170,8 +65339,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5550_
- _s4974_) >>= fun w__163 : option ((mword 3 * mword 3 * string)) =>
+ (_s5728_
+ _s5152_) >>= fun w__163 : option ((mword 3 * mword 3 * string)) =>
(match w__163 with
| Some
(rsd, rs2, s_) =>
@@ -64194,8 +65363,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5562_
- _s4974_) >>= fun w__166 : option ((mword 3 * mword 3 * string)) =>
+ (_s5740_
+ _s5152_) >>= fun w__166 : option ((mword 3 * mword 3 * string)) =>
(if
match w__166 with
| Some
@@ -64207,8 +65376,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5562_
- _s4974_) >>= fun w__167 : option ((mword 3 * mword 3 * string)) =>
+ (_s5740_
+ _s5152_) >>= fun w__167 : option ((mword 3 * mword 3 * string)) =>
(match w__167 with
| Some
(rsd, rs2, s_) =>
@@ -64231,8 +65400,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5574_
- _s4974_) >>= fun w__170 : option ((mword 11 * string)) =>
+ (_s5752_
+ _s5152_) >>= fun w__170 : option ((mword 11 * string)) =>
(if
match w__170 with
| Some
@@ -64242,8 +65411,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5574_
- _s4974_) >>= fun w__171 : option ((mword 11 * string)) =>
+ (_s5752_
+ _s5152_) >>= fun w__171 : option ((mword 11 * string)) =>
(match w__171 with
| Some
(imm, s_) =>
@@ -64266,8 +65435,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5582_
- _s4974_) >>= fun w__174 : option ((mword 3 * mword 8 * string)) =>
+ (_s5760_
+ _s5152_) >>= fun w__174 : option ((mword 3 * mword 8 * string)) =>
(if
match w__174 with
| Some
@@ -64277,8 +65446,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5582_
- _s4974_) >>= fun w__175 : option ((mword 3 * mword 8 * string)) =>
+ (_s5760_
+ _s5152_) >>= fun w__175 : option ((mword 3 * mword 8 * string)) =>
(match w__175 with
| Some
(rs, imm, s_) =>
@@ -64301,8 +65470,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5594_
- _s4974_) >>= fun w__178 : option ((mword 3 * mword 8 * string)) =>
+ (_s5772_
+ _s5152_) >>= fun w__178 : option ((mword 3 * mword 8 * string)) =>
(if
match w__178 with
| Some
@@ -64312,8 +65481,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5594_
- _s4974_) >>= fun w__179 : option ((mword 3 * mword 8 * string)) =>
+ (_s5772_
+ _s5152_) >>= fun w__179 : option ((mword 3 * mword 8 * string)) =>
(match w__179 with
| Some
(rs, imm, s_) =>
@@ -64336,8 +65505,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5606_
- _s4974_) >>= fun w__182 : option ((mword 5 * mword 6 * string)) =>
+ (_s5784_
+ _s5152_) >>= fun w__182 : option ((mword 5 * mword 6 * string)) =>
(if
match w__182 with
| Some
@@ -64354,8 +65523,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5606_
- _s4974_) >>= fun w__183 : option ((mword 5 * mword 6 * string)) =>
+ (_s5784_
+ _s5152_) >>= fun w__183 : option ((mword 5 * mword 6 * string)) =>
(match w__183 with
| Some
(rsd, shamt, s_) =>
@@ -64378,8 +65547,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5618_
- _s4974_) >>= fun w__186 : option ((mword 5 * mword 6 * string)) =>
+ (_s5796_
+ _s5152_) >>= fun w__186 : option ((mword 5 * mword 6 * string)) =>
(if
match w__186 with
| Some
@@ -64391,8 +65560,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5618_
- _s4974_) >>= fun w__187 : option ((mword 5 * mword 6 * string)) =>
+ (_s5796_
+ _s5152_) >>= fun w__187 : option ((mword 5 * mword 6 * string)) =>
(match w__187 with
| Some
(rd, uimm, s_) =>
@@ -64415,8 +65584,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5630_
- _s4974_) >>= fun w__190 : option ((mword 5 * mword 6 * string)) =>
+ (_s5808_
+ _s5152_) >>= fun w__190 : option ((mword 5 * mword 6 * string)) =>
(if
match w__190 with
| Some
@@ -64432,8 +65601,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5630_
- _s4974_) >>= fun w__191 : option ((mword 5 * mword 6 * string)) =>
+ (_s5808_
+ _s5152_) >>= fun w__191 : option ((mword 5 * mword 6 * string)) =>
(match w__191 with
| Some
(rd, uimm, s_) =>
@@ -64456,8 +65625,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5642_
- _s4974_) >>= fun w__194 : option ((mword 5 * mword 6 * string)) =>
+ (_s5820_
+ _s5152_) >>= fun w__194 : option ((mword 5 * mword 6 * string)) =>
(if
match w__194 with
| Some
@@ -64467,8 +65636,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5642_
- _s4974_) >>= fun w__195 : option ((mword 5 * mword 6 * string)) =>
+ (_s5820_
+ _s5152_) >>= fun w__195 : option ((mword 5 * mword 6 * string)) =>
(match w__195 with
| Some
(rd, uimm, s_) =>
@@ -64491,8 +65660,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5654_
- _s4974_) >>= fun w__198 : option ((mword 5 * mword 6 * string)) =>
+ (_s5832_
+ _s5152_) >>= fun w__198 : option ((mword 5 * mword 6 * string)) =>
(if
match w__198 with
| Some
@@ -64504,8 +65673,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5654_
- _s4974_) >>= fun w__199 : option ((mword 5 * mword 6 * string)) =>
+ (_s5832_
+ _s5152_) >>= fun w__199 : option ((mword 5 * mword 6 * string)) =>
(match w__199 with
| Some
(rs2, uimm, s_) =>
@@ -64528,8 +65697,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5666_
- _s4974_) >>= fun w__202 : option ((mword 5 * string)) =>
+ (_s5844_
+ _s5152_) >>= fun w__202 : option ((mword 5 * string)) =>
(if
match w__202 with
| Some
@@ -64541,8 +65710,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5666_
- _s4974_) >>= fun w__203 : option ((mword 5 * string)) =>
+ (_s5844_
+ _s5152_) >>= fun w__203 : option ((mword 5 * string)) =>
(match w__203 with
| Some
(rs1, s_) =>
@@ -64565,8 +65734,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5674_
- _s4974_) >>= fun w__206 : option ((mword 5 * string)) =>
+ (_s5852_
+ _s5152_) >>= fun w__206 : option ((mword 5 * string)) =>
(if
match w__206 with
| Some
@@ -64578,8 +65747,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5674_
- _s4974_) >>= fun w__207 : option ((mword 5 * string)) =>
+ (_s5852_
+ _s5152_) >>= fun w__207 : option ((mword 5 * string)) =>
(match w__207 with
| Some
(rs1, s_) =>
@@ -64602,8 +65771,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5682_
- _s4974_) >>= fun w__210 : option ((mword 5 * mword 5 * string)) =>
+ (_s5860_
+ _s5152_) >>= fun w__210 : option ((mword 5 * mword 5 * string)) =>
(if
match w__210 with
| Some
@@ -64619,8 +65788,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5682_
- _s4974_) >>= fun w__211 : option ((mword 5 * mword 5 * string)) =>
+ (_s5860_
+ _s5152_) >>= fun w__211 : option ((mword 5 * mword 5 * string)) =>
(match w__211 with
| Some
(rd, rs2, s_) =>
@@ -64643,8 +65812,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else if
- match (_s5694_
- _s4974_) with
+ match (_s5872_
+ _s5152_) with
| Some
s_ =>
true
@@ -64652,8 +65821,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (match (_s5694_
- _s4974_) with
+ (match (_s5872_
+ _s5152_) with
| Some
s_ =>
returnm (Some
@@ -64675,8 +65844,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5698_
- _s4974_) >>= fun w__216 : option ((mword 5 * mword 5 * string)) =>
+ (_s5876_
+ _s5152_) >>= fun w__216 : option ((mword 5 * mword 5 * string)) =>
(if
match w__216 with
| Some
@@ -64692,8 +65861,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5698_
- _s4974_) >>= fun w__217 : option ((mword 5 * mword 5 * string)) =>
+ (_s5876_
+ _s5152_) >>= fun w__217 : option ((mword 5 * mword 5 * string)) =>
(match w__217 with
| Some
(rsd, rs2, s_) =>
@@ -64716,8 +65885,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5710_
- _s4974_) >>= fun w__220 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5888_
+ _s5152_) >>= fun w__220 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__220 with
| Some
@@ -64727,8 +65896,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5710_
- _s4974_) >>= fun w__221 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5888_
+ _s5152_) >>= fun w__221 : option ((bool * bool * bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__221 with
| Some
(high, signed1, signed2, rd, rs1, rs2, s_) =>
@@ -64751,8 +65920,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5727_
- _s4974_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5905_
+ _s5152_) >>= fun w__224 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__224 with
| Some
@@ -64762,8 +65931,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5727_
- _s4974_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5905_
+ _s5152_) >>= fun w__225 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__225 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -64786,8 +65955,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5745_
- _s4974_) >>= fun w__228 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5923_
+ _s5152_) >>= fun w__228 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__228 with
| Some
@@ -64797,8 +65966,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5745_
- _s4974_) >>= fun w__229 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5923_
+ _s5152_) >>= fun w__229 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__229 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -64821,8 +65990,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5763_
- _s4974_) >>= fun w__232 : option ((mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5941_
+ _s5152_) >>= fun w__232 : option ((mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__232 with
| Some
@@ -64834,8 +66003,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5763_
- _s4974_) >>= fun w__233 : option ((mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5941_
+ _s5152_) >>= fun w__233 : option ((mword 5 * mword 5 * mword 5 * string)) =>
(match w__233 with
| Some
(rd, rs1, rs2, s_) =>
@@ -64858,8 +66027,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5779_
- _s4974_) >>= fun w__236 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5957_
+ _s5152_) >>= fun w__236 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__236 with
| Some
@@ -64871,8 +66040,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5779_
- _s4974_) >>= fun w__237 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5957_
+ _s5152_) >>= fun w__237 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__237 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -64895,8 +66064,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5798_
- _s4974_) >>= fun w__240 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5976_
+ _s5152_) >>= fun w__240 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(if
match w__240 with
| Some
@@ -64908,8 +66077,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5798_
- _s4974_) >>= fun w__241 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s5976_
+ _s5152_) >>= fun w__241 : option ((bool * mword 5 * mword 5 * mword 5 * string)) =>
(match w__241 with
| Some
(s, rd, rs1, rs2, s_) =>
@@ -64932,8 +66101,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5817_
- _s4974_) >>= fun w__244 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s5995_
+ _s5152_) >>= fun w__244 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(if
match w__244 with
| Some
@@ -64943,8 +66112,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5817_
- _s4974_) >>= fun w__245 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s5995_
+ _s5152_) >>= fun w__245 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(match w__245 with
| Some
(op, rd, csr, rs1, s_) =>
@@ -64967,8 +66136,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5835_
- _s4974_) >>= fun w__248 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s6013_
+ _s5152_) >>= fun w__248 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(if
match w__248 with
| Some
@@ -64978,8 +66147,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (_s5835_
- _s4974_) >>= fun w__249 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s6013_
+ _s5152_) >>= fun w__249 : option ((csrop * mword 5 * mword 12 * mword 5 * string)) =>
(match w__249 with
| Some
(op, rd, csr, rs1, s_) =>
@@ -65002,8 +66171,8 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else if
- match (_s5852_
- _s4974_) with
+ match (_s6030_
+ _s5152_) with
| Some
s_ =>
true
@@ -65011,8 +66180,8 @@ Definition assembly_matches_prefix (arg_ : string)
false
end
then
- (match (_s5852_
- _s4974_) with
+ (match (_s6030_
+ _s5152_) with
| Some
s_ =>
returnm (Some
@@ -65033,26 +66202,127 @@ Definition assembly_matches_prefix (arg_ : string)
end)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
+ else if
+ match (_s6034_
+ _s5152_) with
+ | Some
+ (imm, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (match (_s6034_
+ _s5152_) with
+ | Some
+ (imm, s_) =>
+ returnm (Some
+ (C_NOP_HINT
+ imm, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
else
- (_s5856_
- _s4974_) >>= fun w__254 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s6040_
+ _s5152_) >>= fun w__256 : option ((mword 5 * string)) =>
(if
- match w__254 with
+ match w__256 with
+ | Some
+ (rsd, s_) =>
+ neq_vec
+ rsd
+ zreg
+ | _ =>
+ false
+ end
+ then
+ (_s6040_
+ _s5152_) >>= fun w__257 : option ((mword 5 * string)) =>
+ (match w__257 with
+ | Some
+ (rsd, s_) =>
+ returnm (Some
+ (C_ADDI_HINT
+ rsd, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else if
+ match (_s6046_
+ _s5152_) with
| Some
- (width, rd, imm, rs1, s_) =>
+ (imm, s_) =>
true
| _ =>
false
end
then
- (_s5856_
- _s4974_) >>= fun w__255 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
- (match w__255 with
+ (match (_s6046_
+ _s5152_) with
| Some
- (width, rd, imm, rs1, s_) =>
+ (imm, s_) =>
returnm (Some
- (LOAD_FP
- (imm, rs1, rd, width), build_ex
+ (C_LI_HINT
+ imm, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else if
+ match (_s6052_
+ _s5152_) with
+ | Some
+ (imm, s_) =>
+ neq_vec
+ imm
+ ('b"000000"
+ : mword 6)
+ | _ =>
+ false
+ end
+ then
+ (match (_s6052_
+ _s5152_) with
+ | Some
+ (imm, s_) =>
+ returnm (Some
+ (C_LUI_HINT
+ imm, build_ex
(projT1
(sub_nat
(projT1
@@ -65069,25 +66339,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5880_
- _s4974_) >>= fun w__258 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (_s6058_
+ _s5152_) >>= fun w__264 : option ((mword 5 * string)) =>
(if
- match w__258 with
+ match w__264 with
| Some
- (width, rs2, imm, rs1, s_) =>
- true
+ (rs2, s_) =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s5880_
- _s4974_) >>= fun w__259 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
- (match w__259 with
+ (_s6058_
+ _s5152_) >>= fun w__265 : option ((mword 5 * string)) =>
+ (match w__265 with
| Some
- (width, rs2, imm, rs1, s_) =>
+ (rs2, s_) =>
returnm (Some
- (STORE_FP
- (imm, rs2, rs1, width), build_ex
+ (C_MV_HINT
+ rs2, build_ex
(projT1
(sub_nat
(projT1
@@ -65104,25 +66376,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5904_
- _s4974_) >>= fun w__262 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6064_
+ _s5152_) >>= fun w__268 : option ((mword 5 * string)) =>
(if
- match w__262 with
+ match w__268 with
| Some
- (op, rd, rs1, rs2, rs3, rm, s_) =>
- true
+ (rs2, s_) =>
+ neq_vec
+ rs2
+ zreg
| _ =>
false
end
then
- (_s5904_
- _s4974_) >>= fun w__263 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__263 with
+ (_s6064_
+ _s5152_) >>= fun w__269 : option ((mword 5 * string)) =>
+ (match w__269 with
| Some
- (op, rd, rs1, rs2, rs3, rm, s_) =>
+ (rs2, s_) =>
returnm (Some
- (F_MADD_TYPE_S
- (rs3, rs2, rs1, rm, rd, op), build_ex
+ (C_ADD_HINT
+ rs2, build_ex
(projT1
(sub_nat
(projT1
@@ -65139,25 +66413,32 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5929_
- _s4974_) >>= fun w__266 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6070_
+ _s5152_) >>= fun w__272 : option ((mword 5 * mword 6 * string)) =>
(if
- match w__266 with
+ match w__272 with
| Some
- (op, rd, rs1, rs2, rm, s_) =>
- true
+ (rsd, shamt, s_) =>
+ orb
+ (eq_vec
+ shamt
+ ('b"000000"
+ : mword 6))
+ (eq_vec
+ rsd
+ zreg)
| _ =>
false
end
then
- (_s5929_
- _s4974_) >>= fun w__267 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__267 with
+ (_s6070_
+ _s5152_) >>= fun w__273 : option ((mword 5 * mword 6 * string)) =>
+ (match w__273 with
| Some
- (op, rd, rs1, rs2, rm, s_) =>
+ (rsd, shamt, s_) =>
returnm (Some
- (F_BIN_RM_TYPE_S
- (rs2, rs1, rm, rd, op), build_ex
+ (C_SLLI_HINT
+ (shamt, rsd), build_ex
(projT1
(sub_nat
(projT1
@@ -65174,25 +66455,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5950_
- _s4974_) >>= fun w__270 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6079_
+ _s5152_) >>= fun w__276 : option ((mword 3 * string)) =>
(if
- match w__270 with
+ match w__276 with
| Some
- (FSQRT_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
true
| _ =>
false
end
then
- (_s5950_
- _s4974_) >>= fun w__271 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__271 with
+ (_s6079_
+ _s5152_) >>= fun w__277 : option ((mword 3 * string)) =>
+ (match w__277 with
| Some
- (FSQRT_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FSQRT_S), build_ex
+ (C_SRLI_HINT
+ rsd, build_ex
(projT1
(sub_nat
(projT1
@@ -65209,25 +66490,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5967_
- _s4974_) >>= fun w__274 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6085_
+ _s5152_) >>= fun w__280 : option ((mword 3 * string)) =>
(if
- match w__274 with
+ match w__280 with
| Some
- (FCVT_W_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
true
| _ =>
false
end
then
- (_s5967_
- _s4974_) >>= fun w__275 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__275 with
+ (_s6085_
+ _s5152_) >>= fun w__281 : option ((mword 3 * string)) =>
+ (match w__281 with
| Some
- (FCVT_W_S, rd, rs1, rm, s_) =>
+ (rsd, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_W_S), build_ex
+ (C_SRAI_HINT
+ rsd, build_ex
(projT1
(sub_nat
(projT1
@@ -65244,25 +66525,43 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s5984_
- _s4974_) >>= fun w__278 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6091_
+ _s5152_) >>= fun w__284 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)) =>
(if
- match w__278 with
+ match w__284 with
| Some
- (FCVT_WU_S, rd, rs1, rm, s_) =>
- true
+ (pred, succ, rs, rd, fm, s_) =>
+ orb
+ (andb
+ (neq_vec
+ fm
+ (Ox"0"
+ : mword 4))
+ (neq_vec
+ fm
+ (Ox"8"
+ : mword 4)))
+ (orb
+ (neq_vec
+ rs
+ ('b"00000"
+ : mword 5))
+ (neq_vec
+ rd
+ ('b"00000"
+ : mword 5)))
| _ =>
false
end
then
- (_s5984_
- _s4974_) >>= fun w__279 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__279 with
+ (_s6091_
+ _s5152_) >>= fun w__285 : option ((mword 4 * mword 4 * mword 5 * mword 5 * mword 4 * string)) =>
+ (match w__285 with
| Some
- (FCVT_WU_S, rd, rs1, rm, s_) =>
+ (pred, succ, rs, rd, fm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_WU_S), build_ex
+ (FENCE_RESERVED
+ (fm, pred, succ, rs, rd), build_ex
(projT1
(sub_nat
(projT1
@@ -65279,25 +66578,36 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6001_
- _s4974_) >>= fun w__282 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6109_
+ _s5152_) >>= fun w__288 : option ((mword 5 * mword 5 * mword 12 * string)) =>
(if
- match w__282 with
+ match w__288 with
| Some
- (FCVT_S_W, rd, rs1, rm, s_) =>
- true
+ (rd, rs, imm, s_) =>
+ orb
+ (neq_vec
+ imm
+ (Ox"000"
+ : mword 12))
+ (orb
+ (neq_vec
+ rs
+ zreg)
+ (neq_vec
+ rd
+ zreg))
| _ =>
false
end
then
- (_s6001_
- _s4974_) >>= fun w__283 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__283 with
+ (_s6109_
+ _s5152_) >>= fun w__289 : option ((mword 5 * mword 5 * mword 12 * string)) =>
+ (match w__289 with
| Some
- (FCVT_S_W, rd, rs1, rm, s_) =>
+ (rd, rs, imm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_W), build_ex
+ (FENCEI_RESERVED
+ (imm, rs, rd), build_ex
(projT1
(sub_nat
(projT1
@@ -65314,25 +66624,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6018_
- _s4974_) >>= fun w__286 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6121_
+ _s5152_) >>= fun w__292 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
(if
- match w__286 with
+ match w__292 with
| Some
- (FCVT_S_WU, rd, rs1, rm, s_) =>
+ (width, rd, imm, rs1, s_) =>
true
| _ =>
false
end
then
- (_s6018_
- _s4974_) >>= fun w__287 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__287 with
+ (_s6121_
+ _s5152_) >>= fun w__293 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (match w__293 with
| Some
- (FCVT_S_WU, rd, rs1, rm, s_) =>
+ (width, rd, imm, rs1, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_WU), build_ex
+ (LOAD_FP
+ (imm, rs1, rd, width), build_ex
(projT1
(sub_nat
(projT1
@@ -65349,25 +66659,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6035_
- _s4974_) >>= fun w__290 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6145_
+ _s5152_) >>= fun w__296 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
(if
- match w__290 with
+ match w__296 with
| Some
- (FCVT_L_S, rd, rs1, rm, s_) =>
+ (width, rs2, imm, rs1, s_) =>
true
| _ =>
false
end
then
- (_s6035_
- _s4974_) >>= fun w__291 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__291 with
+ (_s6145_
+ _s5152_) >>= fun w__297 : option ((word_width * mword 5 * mword 12 * mword 5 * string)) =>
+ (match w__297 with
| Some
- (FCVT_L_S, rd, rs1, rm, s_) =>
+ (width, rs2, imm, rs1, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_L_S), build_ex
+ (STORE_FP
+ (imm, rs2, rs1, width), build_ex
(projT1
(sub_nat
(projT1
@@ -65384,25 +66694,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6052_
- _s4974_) >>= fun w__294 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6169_
+ _s5152_) >>= fun w__300 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__294 with
+ match w__300 with
| Some
- (FCVT_LU_S, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rs3, rm, s_) =>
true
| _ =>
false
end
then
- (_s6052_
- _s4974_) >>= fun w__295 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__295 with
+ (_s6169_
+ _s5152_) >>= fun w__301 : option ((f_madd_op_S * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__301 with
| Some
- (FCVT_LU_S, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rs3, rm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_LU_S), build_ex
+ (F_MADD_TYPE_S
+ (rs3, rs2, rs1, rm, rd, op), build_ex
(projT1
(sub_nat
(projT1
@@ -65419,25 +66729,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6069_
- _s4974_) >>= fun w__298 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6194_
+ _s5152_) >>= fun w__304 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__298 with
+ match w__304 with
| Some
- (FCVT_S_L, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rm, s_) =>
true
| _ =>
false
end
then
- (_s6069_
- _s4974_) >>= fun w__299 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__299 with
+ (_s6194_
+ _s5152_) >>= fun w__305 : option ((f_bin_rm_op_S * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__305 with
| Some
- (FCVT_S_L, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_L), build_ex
+ (F_BIN_RM_TYPE_S
+ (rs2, rs1, rm, rd, op), build_ex
(projT1
(sub_nat
(projT1
@@ -65454,25 +66764,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6086_
- _s4974_) >>= fun w__302 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6215_
+ _s5152_) >>= fun w__308 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__302 with
+ match w__308 with
| Some
- (FCVT_S_LU, rd, rs1, rm, s_) =>
+ (FSQRT_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6086_
- _s4974_) >>= fun w__303 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__303 with
+ (_s6215_
+ _s5152_) >>= fun w__309 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__309 with
| Some
- (FCVT_S_LU, rd, rs1, rm, s_) =>
+ (FSQRT_S, rd, rs1, rm, s_) =>
returnm (Some
(F_UN_RM_TYPE_S
- (rs1, rm, rd, FCVT_S_LU), build_ex
+ (rs1, rm, rd, FSQRT_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65489,25 +66799,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6103_
- _s4974_) >>= fun w__306 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6232_
+ _s5152_) >>= fun w__312 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__306 with
+ match w__312 with
| Some
- (FSGNJ_S, rd, rs1, rs2, s_) =>
+ (FCVT_W_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6103_
- _s4974_) >>= fun w__307 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__307 with
+ (_s6232_
+ _s5152_) >>= fun w__313 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__313 with
| Some
- (FSGNJ_S, rd, rs1, rs2, s_) =>
+ (FCVT_W_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJ_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_W_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65524,25 +66834,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6120_
- _s4974_) >>= fun w__310 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6249_
+ _s5152_) >>= fun w__316 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__310 with
+ match w__316 with
| Some
- (FSGNJN_S, rd, rs1, rs2, s_) =>
+ (FCVT_WU_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6120_
- _s4974_) >>= fun w__311 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__311 with
+ (_s6249_
+ _s5152_) >>= fun w__317 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__317 with
| Some
- (FSGNJN_S, rd, rs1, rs2, s_) =>
+ (FCVT_WU_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJN_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_WU_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65559,25 +66869,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6137_
- _s4974_) >>= fun w__314 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6266_
+ _s5152_) >>= fun w__320 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__314 with
+ match w__320 with
| Some
- (FSGNJX_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_W, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6137_
- _s4974_) >>= fun w__315 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__315 with
+ (_s6266_
+ _s5152_) >>= fun w__321 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__321 with
| Some
- (FSGNJX_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_W, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FSGNJX_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_W), build_ex
(projT1
(sub_nat
(projT1
@@ -65594,25 +66904,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6154_
- _s4974_) >>= fun w__318 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6283_
+ _s5152_) >>= fun w__324 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__318 with
+ match w__324 with
| Some
- (FMIN_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_WU, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6154_
- _s4974_) >>= fun w__319 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__319 with
+ (_s6283_
+ _s5152_) >>= fun w__325 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__325 with
| Some
- (FMIN_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_WU, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FMIN_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_WU), build_ex
(projT1
(sub_nat
(projT1
@@ -65629,25 +66939,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6171_
- _s4974_) >>= fun w__322 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6300_
+ _s5152_) >>= fun w__328 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__322 with
+ match w__328 with
| Some
- (FMAX_S, rd, rs1, rs2, s_) =>
+ (FCVT_L_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6171_
- _s4974_) >>= fun w__323 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__323 with
+ (_s6300_
+ _s5152_) >>= fun w__329 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__329 with
| Some
- (FMAX_S, rd, rs1, rs2, s_) =>
+ (FCVT_L_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FMAX_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_L_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65664,25 +66974,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6188_
- _s4974_) >>= fun w__326 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6317_
+ _s5152_) >>= fun w__332 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__326 with
+ match w__332 with
| Some
- (FEQ_S, rd, rs1, rs2, s_) =>
+ (FCVT_LU_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6188_
- _s4974_) >>= fun w__327 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__327 with
+ (_s6317_
+ _s5152_) >>= fun w__333 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__333 with
| Some
- (FEQ_S, rd, rs1, rs2, s_) =>
+ (FCVT_LU_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FEQ_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_LU_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65699,25 +67009,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6205_
- _s4974_) >>= fun w__330 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6334_
+ _s5152_) >>= fun w__336 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__330 with
+ match w__336 with
| Some
- (FLT_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_L, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6205_
- _s4974_) >>= fun w__331 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__331 with
+ (_s6334_
+ _s5152_) >>= fun w__337 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__337 with
| Some
- (FLT_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_L, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FLT_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_L), build_ex
(projT1
(sub_nat
(projT1
@@ -65734,25 +67044,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6222_
- _s4974_) >>= fun w__334 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6351_
+ _s5152_) >>= fun w__340 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__334 with
+ match w__340 with
| Some
- (FLE_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_LU, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6222_
- _s4974_) >>= fun w__335 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__335 with
+ (_s6351_
+ _s5152_) >>= fun w__341 : option ((f_un_rm_op_S * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__341 with
| Some
- (FLE_S, rd, rs1, rs2, s_) =>
+ (FCVT_S_LU, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_S
- (rs2, rs1, rd, FLE_S), build_ex
+ (F_UN_RM_TYPE_S
+ (rs1, rm, rd, FCVT_S_LU), build_ex
(projT1
(sub_nat
(projT1
@@ -65769,25 +67079,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6239_
- _s4974_) >>= fun w__338 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (_s6368_
+ _s5152_) >>= fun w__344 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__338 with
+ match w__344 with
| Some
- (FMV_X_W, rd, rs1, s_) =>
+ (FSGNJ_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6239_
- _s4974_) >>= fun w__339 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
- (match w__339 with
+ (_s6368_
+ _s5152_) >>= fun w__345 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__345 with
| Some
- (FMV_X_W, rd, rs1, s_) =>
+ (FSGNJ_S, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_S
- (rs1, rd, FMV_X_W), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJ_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65804,25 +67114,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6252_
- _s4974_) >>= fun w__342 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (_s6385_
+ _s5152_) >>= fun w__348 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__342 with
+ match w__348 with
| Some
- (FMV_W_X, rd, rs1, s_) =>
+ (FSGNJN_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6252_
- _s4974_) >>= fun w__343 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
- (match w__343 with
+ (_s6385_
+ _s5152_) >>= fun w__349 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__349 with
| Some
- (FMV_W_X, rd, rs1, s_) =>
+ (FSGNJN_S, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_S
- (rs1, rd, FMV_W_X), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJN_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65839,25 +67149,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6265_
- _s4974_) >>= fun w__346 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (_s6402_
+ _s5152_) >>= fun w__352 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__346 with
+ match w__352 with
| Some
- (FCLASS_S, rd, rs1, s_) =>
+ (FSGNJX_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6265_
- _s4974_) >>= fun w__347 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
- (match w__347 with
+ (_s6402_
+ _s5152_) >>= fun w__353 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__353 with
| Some
- (FCLASS_S, rd, rs1, s_) =>
+ (FSGNJX_S, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_S
- (rs1, rd, FCLASS_S), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FSGNJX_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65874,27 +67184,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6278_
- _s4974_) >>= fun w__350 : option ((mword 5 * mword 6 * string)) =>
+ (_s6419_
+ _s5152_) >>= fun w__356 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__350 with
+ match w__356 with
| Some
- (rd, imm, s_) =>
- Z.eqb
- 64
- 32
+ (FMIN_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6278_
- _s4974_) >>= fun w__351 : option ((mword 5 * mword 6 * string)) =>
- (match w__351 with
+ (_s6419_
+ _s5152_) >>= fun w__357 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__357 with
| Some
- (rd, imm, s_) =>
+ (FMIN_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FLWSP
- (imm, rd), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMIN_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65911,27 +67219,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6290_
- _s4974_) >>= fun w__354 : option ((mword 5 * mword 6 * string)) =>
+ (_s6436_
+ _s5152_) >>= fun w__360 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__354 with
+ match w__360 with
| Some
- (rd, uimm, s_) =>
- Z.eqb
- 64
- 32
+ (FMAX_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6290_
- _s4974_) >>= fun w__355 : option ((mword 5 * mword 6 * string)) =>
- (match w__355 with
+ (_s6436_
+ _s5152_) >>= fun w__361 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__361 with
| Some
- (rd, uimm, s_) =>
+ (FMAX_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FSWSP
- (uimm, rd), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FMAX_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65948,27 +67254,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6302_
- _s4974_) >>= fun w__358 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s6453_
+ _s5152_) >>= fun w__364 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__358 with
+ match w__364 with
| Some
- (rdc, rsc, uimm, s_) =>
- Z.eqb
- 64
- 32
+ (FEQ_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6302_
- _s4974_) >>= fun w__359 : option ((mword 3 * mword 3 * mword 5 * string)) =>
- (match w__359 with
+ (_s6453_
+ _s5152_) >>= fun w__365 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__365 with
| Some
- (rdc, rsc, uimm, s_) =>
+ (FEQ_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FLW
- (uimm, rsc, rdc), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FEQ_S), build_ex
(projT1
(sub_nat
(projT1
@@ -65985,27 +67289,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6318_
- _s4974_) >>= fun w__362 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s6470_
+ _s5152_) >>= fun w__368 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__362 with
+ match w__368 with
| Some
- (rsc1, rsc2, uimm, s_) =>
- Z.eqb
- 64
- 32
+ (FLT_S, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6318_
- _s4974_) >>= fun w__363 : option ((mword 3 * mword 3 * mword 5 * string)) =>
- (match w__363 with
+ (_s6470_
+ _s5152_) >>= fun w__369 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__369 with
| Some
- (rsc1, rsc2, uimm, s_) =>
+ (FLT_S, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FSW
- (uimm, rsc1, rsc2), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLT_S), build_ex
(projT1
(sub_nat
(projT1
@@ -66022,25 +67324,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6334_
- _s4974_) >>= fun w__366 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6487_
+ _s5152_) >>= fun w__372 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__366 with
+ match w__372 with
| Some
- (op, rd, rs1, rs2, rs3, rm, s_) =>
+ (FLE_S, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6334_
- _s4974_) >>= fun w__367 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__367 with
+ (_s6487_
+ _s5152_) >>= fun w__373 : option ((f_bin_op_S * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__373 with
| Some
- (op, rd, rs1, rs2, rs3, rm, s_) =>
+ (FLE_S, rd, rs1, rs2, s_) =>
returnm (Some
- (F_MADD_TYPE_D
- (rs3, rs2, rs1, rm, rd, op), build_ex
+ (F_BIN_TYPE_S
+ (rs2, rs1, rd, FLE_S), build_ex
(projT1
(sub_nat
(projT1
@@ -66057,25 +67359,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6359_
- _s4974_) >>= fun w__370 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6504_
+ _s5152_) >>= fun w__376 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
(if
- match w__370 with
+ match w__376 with
| Some
- (op, rd, rs1, rs2, rm, s_) =>
+ (FMV_X_W, rd, rs1, s_) =>
true
| _ =>
false
end
then
- (_s6359_
- _s4974_) >>= fun w__371 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__371 with
+ (_s6504_
+ _s5152_) >>= fun w__377 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (match w__377 with
| Some
- (op, rd, rs1, rs2, rm, s_) =>
+ (FMV_X_W, rd, rs1, s_) =>
returnm (Some
- (F_BIN_RM_TYPE_D
- (rs2, rs1, rm, rd, op), build_ex
+ (F_UN_TYPE_S
+ (rs1, rd, FMV_X_W), build_ex
(projT1
(sub_nat
(projT1
@@ -66092,25 +67394,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6380_
- _s4974_) >>= fun w__374 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6517_
+ _s5152_) >>= fun w__380 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
(if
- match w__374 with
+ match w__380 with
| Some
- (FSQRT_D, rd, rs1, rm, s_) =>
+ (FMV_W_X, rd, rs1, s_) =>
true
| _ =>
false
end
then
- (_s6380_
- _s4974_) >>= fun w__375 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__375 with
+ (_s6517_
+ _s5152_) >>= fun w__381 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (match w__381 with
| Some
- (FSQRT_D, rd, rs1, rm, s_) =>
+ (FMV_W_X, rd, rs1, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FSQRT_D), build_ex
+ (F_UN_TYPE_S
+ (rs1, rd, FMV_W_X), build_ex
(projT1
(sub_nat
(projT1
@@ -66127,25 +67429,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6397_
- _s4974_) >>= fun w__378 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6530_
+ _s5152_) >>= fun w__384 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
(if
- match w__378 with
+ match w__384 with
| Some
- (FCVT_W_D, rd, rs1, rm, s_) =>
+ (FCLASS_S, rd, rs1, s_) =>
true
| _ =>
false
end
then
- (_s6397_
- _s4974_) >>= fun w__379 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__379 with
+ (_s6530_
+ _s5152_) >>= fun w__385 : option ((f_un_op_S * mword 5 * mword 5 * string)) =>
+ (match w__385 with
| Some
- (FCVT_W_D, rd, rs1, rm, s_) =>
+ (FCLASS_S, rd, rs1, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_W_D), build_ex
+ (F_UN_TYPE_S
+ (rs1, rd, FCLASS_S), build_ex
(projT1
(sub_nat
(projT1
@@ -66162,25 +67464,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6414_
- _s4974_) >>= fun w__382 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6543_
+ _s5152_) >>= fun w__388 : option ((mword 5 * mword 6 * string)) =>
(if
- match w__382 with
+ match w__388 with
| Some
- (FCVT_WU_D, rd, rs1, rm, s_) =>
- true
+ (rd, imm, s_) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s6414_
- _s4974_) >>= fun w__383 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__383 with
+ (_s6543_
+ _s5152_) >>= fun w__389 : option ((mword 5 * mword 6 * string)) =>
+ (match w__389 with
| Some
- (FCVT_WU_D, rd, rs1, rm, s_) =>
+ (rd, imm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_WU_D), build_ex
+ (C_FLWSP
+ (imm, rd), build_ex
(projT1
(sub_nat
(projT1
@@ -66197,25 +67501,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6431_
- _s4974_) >>= fun w__386 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6555_
+ _s5152_) >>= fun w__392 : option ((mword 5 * mword 6 * string)) =>
(if
- match w__386 with
+ match w__392 with
| Some
- (FCVT_D_W, rd, rs1, rm, s_) =>
- true
+ (rd, uimm, s_) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s6431_
- _s4974_) >>= fun w__387 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__387 with
+ (_s6555_
+ _s5152_) >>= fun w__393 : option ((mword 5 * mword 6 * string)) =>
+ (match w__393 with
| Some
- (FCVT_D_W, rd, rs1, rm, s_) =>
+ (rd, uimm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_W), build_ex
+ (C_FSWSP
+ (uimm, rd), build_ex
(projT1
(sub_nat
(projT1
@@ -66232,25 +67538,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6448_
- _s4974_) >>= fun w__390 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6567_
+ _s5152_) >>= fun w__396 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if
- match w__390 with
+ match w__396 with
| Some
- (FCVT_D_WU, rd, rs1, rm, s_) =>
- true
+ (rdc, rsc, uimm, s_) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s6448_
- _s4974_) >>= fun w__391 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__391 with
+ (_s6567_
+ _s5152_) >>= fun w__397 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (match w__397 with
| Some
- (FCVT_D_WU, rd, rs1, rm, s_) =>
+ (rdc, rsc, uimm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_WU), build_ex
+ (C_FLW
+ (uimm, rsc, rdc), build_ex
(projT1
(sub_nat
(projT1
@@ -66267,25 +67575,27 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6465_
- _s4974_) >>= fun w__394 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6583_
+ _s5152_) >>= fun w__400 : option ((mword 3 * mword 3 * mword 5 * string)) =>
(if
- match w__394 with
+ match w__400 with
| Some
- (FCVT_L_D, rd, rs1, rm, s_) =>
- true
+ (rsc1, rsc2, uimm, s_) =>
+ Z.eqb
+ 64
+ 32
| _ =>
false
end
then
- (_s6465_
- _s4974_) >>= fun w__395 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__395 with
+ (_s6583_
+ _s5152_) >>= fun w__401 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (match w__401 with
| Some
- (FCVT_L_D, rd, rs1, rm, s_) =>
+ (rsc1, rsc2, uimm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_L_D), build_ex
+ (C_FSW
+ (uimm, rsc1, rsc2), build_ex
(projT1
(sub_nat
(projT1
@@ -66302,25 +67612,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6482_
- _s4974_) >>= fun w__398 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6599_
+ _s5152_) >>= fun w__404 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__398 with
+ match w__404 with
| Some
- (FCVT_LU_D, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rs3, rm, s_) =>
true
| _ =>
false
end
then
- (_s6482_
- _s4974_) >>= fun w__399 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__399 with
+ (_s6599_
+ _s5152_) >>= fun w__405 : option ((f_madd_op_D * mword 5 * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__405 with
| Some
- (FCVT_LU_D, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rs3, rm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_LU_D), build_ex
+ (F_MADD_TYPE_D
+ (rs3, rs2, rs1, rm, rd, op), build_ex
(projT1
(sub_nat
(projT1
@@ -66337,25 +67647,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6499_
- _s4974_) >>= fun w__402 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6624_
+ _s5152_) >>= fun w__408 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__402 with
+ match w__408 with
| Some
- (FCVT_D_L, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rm, s_) =>
true
| _ =>
false
end
then
- (_s6499_
- _s4974_) >>= fun w__403 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__403 with
+ (_s6624_
+ _s5152_) >>= fun w__409 : option ((f_bin_rm_op_D * mword 5 * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__409 with
| Some
- (FCVT_D_L, rd, rs1, rm, s_) =>
+ (op, rd, rs1, rs2, rm, s_) =>
returnm (Some
- (F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_L), build_ex
+ (F_BIN_RM_TYPE_D
+ (rs2, rs1, rm, rd, op), build_ex
(projT1
(sub_nat
(projT1
@@ -66372,25 +67682,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6516_
- _s4974_) >>= fun w__406 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6645_
+ _s5152_) >>= fun w__412 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__406 with
+ match w__412 with
| Some
- (FCVT_D_LU, rd, rs1, rm, s_) =>
+ (FSQRT_D, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6516_
- _s4974_) >>= fun w__407 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__407 with
+ (_s6645_
+ _s5152_) >>= fun w__413 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__413 with
| Some
- (FCVT_D_LU, rd, rs1, rm, s_) =>
+ (FSQRT_D, rd, rs1, rm, s_) =>
returnm (Some
(F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_LU), build_ex
+ (rs1, rm, rd, FSQRT_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66407,25 +67717,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6533_
- _s4974_) >>= fun w__410 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6662_
+ _s5152_) >>= fun w__416 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__410 with
+ match w__416 with
| Some
- (FCVT_S_D, rd, rs1, rm, s_) =>
+ (FCVT_W_D, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6533_
- _s4974_) >>= fun w__411 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__411 with
+ (_s6662_
+ _s5152_) >>= fun w__417 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__417 with
| Some
- (FCVT_S_D, rd, rs1, rm, s_) =>
+ (FCVT_W_D, rd, rs1, rm, s_) =>
returnm (Some
(F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_S_D), build_ex
+ (rs1, rm, rd, FCVT_W_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66442,25 +67752,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6550_
- _s4974_) >>= fun w__414 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (_s6679_
+ _s5152_) >>= fun w__420 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__414 with
+ match w__420 with
| Some
- (FCVT_D_S, rd, rs1, rm, s_) =>
+ (FCVT_WU_D, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6550_
- _s4974_) >>= fun w__415 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
- (match w__415 with
+ (_s6679_
+ _s5152_) >>= fun w__421 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__421 with
| Some
- (FCVT_D_S, rd, rs1, rm, s_) =>
+ (FCVT_WU_D, rd, rs1, rm, s_) =>
returnm (Some
(F_UN_RM_TYPE_D
- (rs1, rm, rd, FCVT_D_S), build_ex
+ (rs1, rm, rd, FCVT_WU_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66477,25 +67787,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6567_
- _s4974_) >>= fun w__418 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6696_
+ _s5152_) >>= fun w__424 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__418 with
+ match w__424 with
| Some
- (FSGNJ_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_W, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6567_
- _s4974_) >>= fun w__419 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__419 with
+ (_s6696_
+ _s5152_) >>= fun w__425 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__425 with
| Some
- (FSGNJ_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_W, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJ_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_W), build_ex
(projT1
(sub_nat
(projT1
@@ -66512,25 +67822,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6584_
- _s4974_) >>= fun w__422 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6713_
+ _s5152_) >>= fun w__428 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__422 with
+ match w__428 with
| Some
- (FSGNJN_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_WU, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6584_
- _s4974_) >>= fun w__423 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__423 with
+ (_s6713_
+ _s5152_) >>= fun w__429 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__429 with
| Some
- (FSGNJN_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_WU, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJN_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_WU), build_ex
(projT1
(sub_nat
(projT1
@@ -66547,25 +67857,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6601_
- _s4974_) >>= fun w__426 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6730_
+ _s5152_) >>= fun w__432 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__426 with
+ match w__432 with
| Some
- (FSGNJX_D, rd, rs1, rs2, s_) =>
+ (FCVT_L_D, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6601_
- _s4974_) >>= fun w__427 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__427 with
+ (_s6730_
+ _s5152_) >>= fun w__433 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__433 with
| Some
- (FSGNJX_D, rd, rs1, rs2, s_) =>
+ (FCVT_L_D, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FSGNJX_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_L_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66582,25 +67892,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6618_
- _s4974_) >>= fun w__430 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6747_
+ _s5152_) >>= fun w__436 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__430 with
+ match w__436 with
| Some
- (FMIN_D, rd, rs1, rs2, s_) =>
+ (FCVT_LU_D, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6618_
- _s4974_) >>= fun w__431 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__431 with
+ (_s6747_
+ _s5152_) >>= fun w__437 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__437 with
| Some
- (FMIN_D, rd, rs1, rs2, s_) =>
+ (FCVT_LU_D, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FMIN_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_LU_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66617,25 +67927,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6635_
- _s4974_) >>= fun w__434 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6764_
+ _s5152_) >>= fun w__440 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__434 with
+ match w__440 with
| Some
- (FMAX_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_L, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6635_
- _s4974_) >>= fun w__435 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__435 with
+ (_s6764_
+ _s5152_) >>= fun w__441 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__441 with
| Some
- (FMAX_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_L, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FMAX_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_L), build_ex
(projT1
(sub_nat
(projT1
@@ -66652,25 +67962,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6652_
- _s4974_) >>= fun w__438 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6781_
+ _s5152_) >>= fun w__444 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__438 with
+ match w__444 with
| Some
- (FEQ_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_LU, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6652_
- _s4974_) >>= fun w__439 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__439 with
+ (_s6781_
+ _s5152_) >>= fun w__445 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__445 with
| Some
- (FEQ_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_LU, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FEQ_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_LU), build_ex
(projT1
(sub_nat
(projT1
@@ -66687,25 +67997,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6669_
- _s4974_) >>= fun w__442 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6798_
+ _s5152_) >>= fun w__448 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__442 with
+ match w__448 with
| Some
- (FLT_D, rd, rs1, rs2, s_) =>
+ (FCVT_S_D, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6669_
- _s4974_) >>= fun w__443 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__443 with
+ (_s6798_
+ _s5152_) >>= fun w__449 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__449 with
| Some
- (FLT_D, rd, rs1, rs2, s_) =>
+ (FCVT_S_D, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FLT_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_S_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66722,25 +68032,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6686_
- _s4974_) >>= fun w__446 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (_s6815_
+ _s5152_) >>= fun w__452 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
(if
- match w__446 with
+ match w__452 with
| Some
- (FLE_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_S, rd, rs1, rm, s_) =>
true
| _ =>
false
end
then
- (_s6686_
- _s4974_) >>= fun w__447 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
- (match w__447 with
+ (_s6815_
+ _s5152_) >>= fun w__453 : option ((f_un_rm_op_D * mword 5 * mword 5 * rounding_mode * string)) =>
+ (match w__453 with
| Some
- (FLE_D, rd, rs1, rs2, s_) =>
+ (FCVT_D_S, rd, rs1, rm, s_) =>
returnm (Some
- (F_BIN_TYPE_D
- (rs2, rs1, rd, FLE_D), build_ex
+ (F_UN_RM_TYPE_D
+ (rs1, rm, rd, FCVT_D_S), build_ex
(projT1
(sub_nat
(projT1
@@ -66757,25 +68067,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6703_
- _s4974_) >>= fun w__450 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (_s6832_
+ _s5152_) >>= fun w__456 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__450 with
+ match w__456 with
| Some
- (FMV_X_D, rd, rs1, s_) =>
+ (FSGNJ_D, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6703_
- _s4974_) >>= fun w__451 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
- (match w__451 with
+ (_s6832_
+ _s5152_) >>= fun w__457 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__457 with
| Some
- (FMV_X_D, rd, rs1, s_) =>
+ (FSGNJ_D, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_D
- (rs1, rd, FMV_X_D), build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJ_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66792,25 +68102,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6716_
- _s4974_) >>= fun w__454 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (_s6849_
+ _s5152_) >>= fun w__460 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__454 with
+ match w__460 with
| Some
- (FMV_D_X, rd, rs1, s_) =>
+ (FSGNJN_D, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6716_
- _s4974_) >>= fun w__455 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
- (match w__455 with
+ (_s6849_
+ _s5152_) >>= fun w__461 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__461 with
| Some
- (FMV_D_X, rd, rs1, s_) =>
+ (FSGNJN_D, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_D
- (rs1, rd, FMV_D_X), build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJN_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66827,25 +68137,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6729_
- _s4974_) >>= fun w__458 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (_s6866_
+ _s5152_) >>= fun w__464 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__458 with
+ match w__464 with
| Some
- (FCLASS_D, rd, rs1, s_) =>
+ (FSGNJX_D, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6729_
- _s4974_) >>= fun w__459 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
- (match w__459 with
+ (_s6866_
+ _s5152_) >>= fun w__465 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__465 with
| Some
- (FCLASS_D, rd, rs1, s_) =>
+ (FSGNJX_D, rd, rs1, rs2, s_) =>
returnm (Some
- (F_UN_TYPE_D
- (rs1, rd, FCLASS_D), build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FSGNJX_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66862,31 +68172,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6742_
- _s4974_) >>= fun w__462 : option ((mword 5 * mword 6 * string)) =>
+ (_s6883_
+ _s5152_) >>= fun w__468 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__462 with
+ match w__468 with
| Some
- (rd, uimm, s_) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FMIN_D, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6742_
- _s4974_) >>= fun w__463 : option ((mword 5 * mword 6 * string)) =>
- (match w__463 with
+ (_s6883_
+ _s5152_) >>= fun w__469 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__469 with
| Some
- (rd, uimm, s_) =>
+ (FMIN_D, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FLDSP
- (uimm, rd), build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FMIN_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66903,31 +68207,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6754_
- _s4974_) >>= fun w__466 : option ((mword 5 * mword 6 * string)) =>
+ (_s6900_
+ _s5152_) >>= fun w__472 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__466 with
+ match w__472 with
| Some
- (rs2, uimm, s_) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FMAX_D, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6754_
- _s4974_) >>= fun w__467 : option ((mword 5 * mword 6 * string)) =>
- (match w__467 with
+ (_s6900_
+ _s5152_) >>= fun w__473 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__473 with
| Some
- (rs2, uimm, s_) =>
+ (FMAX_D, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FSDSP
- (uimm, rs2), build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FMAX_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66944,31 +68242,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6766_
- _s4974_) >>= fun w__470 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s6917_
+ _s5152_) >>= fun w__476 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__470 with
+ match w__476 with
| Some
- (rdc, rsc, uimm, s_) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FEQ_D, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6766_
- _s4974_) >>= fun w__471 : option ((mword 3 * mword 3 * mword 5 * string)) =>
- (match w__471 with
+ (_s6917_
+ _s5152_) >>= fun w__477 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__477 with
| Some
- (rdc, rsc, uimm, s_) =>
+ (FEQ_D, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FLD
- (uimm, rsc, rdc), build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FEQ_D), build_ex
(projT1
(sub_nat
(projT1
@@ -66985,31 +68277,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6782_
- _s4974_) >>= fun w__474 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (_s6934_
+ _s5152_) >>= fun w__480 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__474 with
+ match w__480 with
| Some
- (rsc1, rsc2, uimm, s_) =>
- orb
- (Z.eqb
- 64
- 32)
- (Z.eqb
- 64
- 64)
+ (FLT_D, rd, rs1, rs2, s_) =>
+ true
| _ =>
false
end
then
- (_s6782_
- _s4974_) >>= fun w__475 : option ((mword 3 * mword 3 * mword 5 * string)) =>
- (match w__475 with
+ (_s6934_
+ _s5152_) >>= fun w__481 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__481 with
| Some
- (rsc1, rsc2, uimm, s_) =>
+ (FLT_D, rd, rs1, rs2, s_) =>
returnm (Some
- (C_FSD
- (uimm, rsc1, rsc2), build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FLT_D), build_ex
(projT1
(sub_nat
(projT1
@@ -67026,25 +68312,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6798_
- _s4974_) >>= fun w__478 : option ((mword 32 * string)) =>
+ (_s6951_
+ _s5152_) >>= fun w__484 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
(if
- match w__478 with
+ match w__484 with
| Some
- (s, s_) =>
+ (FLE_D, rd, rs1, rs2, s_) =>
true
| _ =>
false
end
then
- (_s6798_
- _s4974_) >>= fun w__479 : option ((mword 32 * string)) =>
- (match w__479 with
+ (_s6951_
+ _s5152_) >>= fun w__485 : option ((f_bin_op_D * mword 5 * mword 5 * mword 5 * string)) =>
+ (match w__485 with
| Some
- (s, s_) =>
+ (FLE_D, rd, rs1, rs2, s_) =>
returnm (Some
- (ILLEGAL
- s, build_ex
+ (F_BIN_TYPE_D
+ (rs2, rs1, rd, FLE_D), build_ex
(projT1
(sub_nat
(projT1
@@ -67061,25 +68347,25 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- (_s6806_
- _s4974_) >>= fun w__482 : option ((mword 16 * string)) =>
+ (_s6968_
+ _s5152_) >>= fun w__488 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
(if
- match w__482 with
+ match w__488 with
| Some
- (s, s_) =>
+ (FMV_X_D, rd, rs1, s_) =>
true
| _ =>
false
end
then
- (_s6806_
- _s4974_) >>= fun w__483 : option ((mword 16 * string)) =>
- (match w__483 with
+ (_s6968_
+ _s5152_) >>= fun w__489 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (match w__489 with
| Some
- (s, s_) =>
+ (FMV_X_D, rd, rs1, s_) =>
returnm (Some
- (C_ILLEGAL
- s, build_ex
+ (F_UN_TYPE_D
+ (rs1, rd, FMV_X_D), build_ex
(projT1
(sub_nat
(projT1
@@ -67096,7 +68382,327 @@ Definition assembly_matches_prefix (arg_ : string)
: M (option ((ast * {n : Z & ArithFact (n >=?
0)})))
else
- returnm None)
+ (_s6981_
+ _s5152_) >>= fun w__492 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (if
+ match w__492 with
+ | Some
+ (FMV_D_X, rd, rs1, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s6981_
+ _s5152_) >>= fun w__493 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (match w__493 with
+ | Some
+ (FMV_D_X, rd, rs1, s_) =>
+ returnm (Some
+ (F_UN_TYPE_D
+ (rs1, rd, FMV_D_X), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s6994_
+ _s5152_) >>= fun w__496 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (if
+ match w__496 with
+ | Some
+ (FCLASS_D, rd, rs1, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s6994_
+ _s5152_) >>= fun w__497 : option ((f_un_op_D * mword 5 * mword 5 * string)) =>
+ (match w__497 with
+ | Some
+ (FCLASS_D, rd, rs1, s_) =>
+ returnm (Some
+ (F_UN_TYPE_D
+ (rs1, rd, FCLASS_D), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s7007_
+ _s5152_) >>= fun w__500 : option ((mword 5 * mword 6 * string)) =>
+ (if
+ match w__500 with
+ | Some
+ (rd, uimm, s_) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s7007_
+ _s5152_) >>= fun w__501 : option ((mword 5 * mword 6 * string)) =>
+ (match w__501 with
+ | Some
+ (rd, uimm, s_) =>
+ returnm (Some
+ (C_FLDSP
+ (uimm, rd), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s7019_
+ _s5152_) >>= fun w__504 : option ((mword 5 * mword 6 * string)) =>
+ (if
+ match w__504 with
+ | Some
+ (rs2, uimm, s_) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s7019_
+ _s5152_) >>= fun w__505 : option ((mword 5 * mword 6 * string)) =>
+ (match w__505 with
+ | Some
+ (rs2, uimm, s_) =>
+ returnm (Some
+ (C_FSDSP
+ (uimm, rs2), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s7031_
+ _s5152_) >>= fun w__508 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (if
+ match w__508 with
+ | Some
+ (rdc, rsc, uimm, s_) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s7031_
+ _s5152_) >>= fun w__509 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (match w__509 with
+ | Some
+ (rdc, rsc, uimm, s_) =>
+ returnm (Some
+ (C_FLD
+ (uimm, rsc, rdc), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s7047_
+ _s5152_) >>= fun w__512 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (if
+ match w__512 with
+ | Some
+ (rsc1, rsc2, uimm, s_) =>
+ orb
+ (Z.eqb
+ 64
+ 32)
+ (Z.eqb
+ 64
+ 64)
+ | _ =>
+ false
+ end
+ then
+ (_s7047_
+ _s5152_) >>= fun w__513 : option ((mword 3 * mword 3 * mword 5 * string)) =>
+ (match w__513 with
+ | Some
+ (rsc1, rsc2, uimm, s_) =>
+ returnm (Some
+ (C_FSD
+ (uimm, rsc1, rsc2), build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s7063_
+ _s5152_) >>= fun w__516 : option ((mword 32 * string)) =>
+ (if
+ match w__516 with
+ | Some
+ (s, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s7063_
+ _s5152_) >>= fun w__517 : option ((mword 32 * string)) =>
+ (match w__517 with
+ | Some
+ (s, s_) =>
+ returnm (Some
+ (ILLEGAL
+ s, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ (_s7071_
+ _s5152_) >>= fun w__520 : option ((mword 16 * string)) =>
+ (if
+ match w__520 with
+ | Some
+ (s, s_) =>
+ true
+ | _ =>
+ false
+ end
+ then
+ (_s7071_
+ _s5152_) >>= fun w__521 : option ((mword 16 * string)) =>
+ (match w__521 with
+ | Some
+ (s, s_) =>
+ returnm (Some
+ (C_ILLEGAL
+ s, build_ex
+ (projT1
+ (sub_nat
+ (projT1
+ (string_length
+ arg_))
+ (projT1
+ (string_length
+ s_))))))
+ | _ =>
+ exit tt
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ end)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)})))
+ else
+ returnm None)
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
+ : M (option ((ast * {n : Z & ArithFact (n >=?
+ 0)}))))
: M (option ((ast * {n : Z & ArithFact (n >=?
0)}))))
: M (option ((ast * {n : Z & ArithFact (n >=?
@@ -67487,36 +69093,36 @@ Definition initial_analysis (instr : ast)
returnm (Nias, aR, iR, ik, oR)
| FENCE (pred, succ) =>
(match (pred, succ) with
- | (v__1398, v__1399) =>
- (if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ | (v__1502, v__1503) =>
+ (if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"11" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_rw_rw tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"11" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_r_rw tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"10" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_r_r tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_rw_w tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_w_w tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"11" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_w_rw tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"10" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_rw_r tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"10" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"01" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"10" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"01" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_r_w tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"01" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"10" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"01" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"10" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_w_r tt))
- else if andb (eq_vec (subrange_vec_dec v__1398 1 0) ('b"00" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1399 1 0) ('b"00" : mword (1 - 0 + 1))) then
+ else if andb (eq_vec (subrange_vec_dec v__1502 1 0) ('b"00" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1503 1 0) ('b"00" : mword (1 - 0 + 1))) then
returnm (IK_simple tt)
else
(internal_error "barrier type not implemented in initial_analysis")
@@ -67527,9 +69133,9 @@ Definition initial_analysis (instr : ast)
returnm (Nias, aR, iR, ik, oR)
| FENCE_TSO (pred, succ) =>
(match (pred, succ) with
- | (v__1438, v__1439) =>
- (if andb (eq_vec (subrange_vec_dec v__1438 1 0) ('b"11" : mword (1 - 0 + 1)))
- (eq_vec (subrange_vec_dec v__1439 1 0) ('b"11" : mword (1 - 0 + 1))) then
+ | (v__1542, v__1543) =>
+ (if andb (eq_vec (subrange_vec_dec v__1542 1 0) ('b"11" : mword (1 - 0 + 1)))
+ (eq_vec (subrange_vec_dec v__1543 1 0) ('b"11" : mword (1 - 0 + 1))) then
returnm (IK_barrier (Barrier_RISCV_tso tt))
else
(internal_error "barrier type not implemented in initial_analysis")
diff --git a/prover_snapshots/coq/RV64/riscv_extras.v b/prover_snapshots/coq/RV64/riscv_extras.v
index 02d5609..4b069ec 100644
--- a/prover_snapshots/coq/RV64/riscv_extras.v
+++ b/prover_snapshots/coq/RV64/riscv_extras.v
@@ -141,6 +141,7 @@ Definition string_of_int z := DecimalString.NilZero.string_of_int (Z.to_int z).
Axiom sys_enable_writable_misa : unit -> bool.
Axiom sys_enable_rvc : unit -> bool.
Axiom sys_enable_fdext : unit -> bool.
+Axiom sys_enable_next : unit -> bool.
(* The constraint solver can do this itself, but a Coq bug puts
anonymous_subproof into the term instead of an actual subproof. *)
diff --git a/prover_snapshots/coq/RV64/riscv_types.v b/prover_snapshots/coq/RV64/riscv_types.v
index a68c649..1eb1e4d 100644
--- a/prover_snapshots/coq/RV64/riscv_types.v
+++ b/prover_snapshots/coq/RV64/riscv_types.v
@@ -83,6 +83,8 @@ Definition exc_code : Type := bits 8.
Definition ext_ptw : Type := unit.
+Definition ext_ptw_fail : Type := unit.
+
Definition ext_ptw_error : Type := unit.
Definition ext_exc_type : Type := unit.
@@ -126,7 +128,7 @@ Decidable_eq_from_dec Privilege_eq_dec.
Inductive AccessType {a : Type} :=
| Read : a -> AccessType
| Write : a -> AccessType
- | ReadWrite : a -> AccessType
+ | ReadWrite : (a * a) -> AccessType
| Execute : unit -> AccessType.
Arguments AccessType : clear implicits.
Instance Decidable_eq_AccessType {a : Type} `{forall x y : a, Decidable (x = y)}:
@@ -379,6 +381,17 @@ Inductive ast :=
| REMW : (regidx * regidx * regidx * bool) -> ast
| CSR : (bits 12 * regidx * regidx * bool * csrop) -> ast
| URET : unit -> ast
+ | C_NOP_HINT : bits 6 -> ast
+ | C_ADDI_HINT : regidx -> ast
+ | C_LI_HINT : bits 6 -> ast
+ | C_LUI_HINT : bits 6 -> ast
+ | C_MV_HINT : regidx -> ast
+ | C_ADD_HINT : regidx -> ast
+ | C_SLLI_HINT : (bits 6 * regidx) -> ast
+ | C_SRLI_HINT : cregidx -> ast
+ | C_SRAI_HINT : cregidx -> ast
+ | FENCE_RESERVED : (bits 4 * bits 4 * bits 4 * regidx * regidx) -> ast
+ | FENCEI_RESERVED : (bits 12 * regidx * regidx) -> ast
| LOAD_FP : (bits 12 * regidx * regidx * word_width) -> ast
| STORE_FP : (bits 12 * regidx * regidx * word_width) -> ast
| F_MADD_TYPE_S : (regidx * regidx * regidx * rounding_mode * regidx * f_madd_op_S) -> ast
@@ -508,6 +521,11 @@ Arguments Mstatus : clear implicits.
Notation "{[ r 'with' 'Mstatus_Mstatus_chunk_0' := e ]}" :=
{| Mstatus_Mstatus_chunk_0 := e |} (only parsing).
+Record Mstatush := { Mstatush_Mstatush_chunk_0 : mword 32; }.
+Arguments Mstatush : clear implicits.
+Notation "{[ r 'with' 'Mstatush_Mstatush_chunk_0' := e ]}" :=
+ {| Mstatush_Mstatush_chunk_0 := e |} (only parsing).
+
Record Mtvec := { Mtvec_Mtvec_chunk_0 : mword 64; }.
Arguments Mtvec : clear implicits.
Notation "{[ r 'with' 'Mtvec_Mtvec_chunk_0' := e ]}" :=
@@ -642,6 +660,11 @@ Inductive Ext_DataAddr_Check {a : Type} :=
| Ext_DataAddr_OK : xlenbits -> Ext_DataAddr_Check | Ext_DataAddr_Error : a -> Ext_DataAddr_Check.
Arguments Ext_DataAddr_Check : clear implicits.
+Inductive Ext_PhysAddr_Check :=
+ | Ext_PhysAddr_OK : unit -> Ext_PhysAddr_Check
+ | Ext_PhysAddr_Error : ExceptionType -> Ext_PhysAddr_Check.
+Arguments Ext_PhysAddr_Check : clear implicits.
+
Definition ext_fetch_addr_error : Type := unit.
Definition ext_control_addr_error : Type := unit.
@@ -700,7 +723,8 @@ Definition pteAttribs : Type := bits 8.
Definition extPte : Type := bits 10.
Inductive PTE_Check :=
- | PTE_Check_Success : ext_ptw -> PTE_Check | PTE_Check_Failure : ext_ptw -> PTE_Check.
+ | PTE_Check_Success : ext_ptw -> PTE_Check
+ | PTE_Check_Failure : (ext_ptw * ext_ptw_fail) -> PTE_Check.
Arguments PTE_Check : clear implicits.
Definition vaddr32 : Type := bits 32.
@@ -787,6 +811,7 @@ Inductive register_value :=
| Regval_Minterrupts : Minterrupts -> register_value
| Regval_Misa : Misa -> register_value
| Regval_Mstatus : Mstatus -> register_value
+ | Regval_Mstatush : Mstatush -> register_value
| Regval_Mtvec : Mtvec -> register_value
| Regval_Pmpcfg_ent : Pmpcfg_ent -> register_value
| Regval_Privilege : Privilege -> register_value
@@ -796,6 +821,7 @@ Inductive register_value :=
| Regval_TLB_Entry_16_48_56_64 : TLB_Entry 16 48 56 64 -> register_value
| Regval_bit : bitU -> register_value
| Regval_bitvector_32_dec : mword 32 -> register_value
+ | Regval_bitvector_4_dec : mword 4 -> register_value
| Regval_bitvector_64_dec : mword 64 -> register_value
| Regval_bool : bool -> register_value.
Arguments register_value : clear implicits.
@@ -804,6 +830,8 @@ Record regstate :=
{ satp : mword 64;
tlb48 : option (TLB_Entry 16 48 56 64);
tlb39 : option (TLB_Entry 16 39 56 64);
+ htif_payload_writes : mword 4;
+ htif_cmd_write : bitU;
htif_exit_code : mword 64;
htif_done : bool;
htif_tohost : mword 64;
@@ -841,7 +869,6 @@ Record regstate :=
f2 : mword 64;
f1 : mword 64;
f0 : mword 64;
- fs : vec (mword 64) 32;
float_fflags : mword 64;
float_result : mword 64;
utval : mword 64;
@@ -910,6 +937,7 @@ Record regstate :=
mie : Minterrupts;
mip : Minterrupts;
mstatus : Mstatus;
+ mstatush : Mstatush;
misa : Misa;
cur_inst : mword 64;
cur_privilege : Privilege;
@@ -944,598 +972,601 @@ Record regstate :=
x3 : mword 64;
x2 : mword 64;
x1 : mword 64;
- Xs : vec (mword 64) 32;
instbits : mword 64;
nextPC : mword 64;
PC : mword 64; }.
Arguments regstate : clear implicits.
Notation "{[ r 'with' 'satp' := e ]}" :=
- match r with Build_regstate _ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate e f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate _ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate e f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'tlb48' := e ]}" :=
- match r with Build_regstate f0 _ f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 e f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 _ f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 e f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'tlb39' := e ]}" :=
- match r with Build_regstate f0 f1 _ f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 e f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 _ f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 e f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
+ end.
+Notation "{[ r 'with' 'htif_payload_writes' := e ]}" :=
+ match r with Build_regstate f0 f1 f2 _ f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 e f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
+ end.
+Notation "{[ r 'with' 'htif_cmd_write' := e ]}" :=
+ match r with Build_regstate f0 f1 f2 f3 _ f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 e f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'htif_exit_code' := e ]}" :=
- match r with Build_regstate f0 f1 f2 _ f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 e f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 _ f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 e f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'htif_done' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 _ f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 e f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 _ f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 e f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'htif_tohost' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 _ f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 e f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 _ f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 e f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mtimecmp' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 _ f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 e f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 _ f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 e f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'fcsr' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 _ f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 e f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 _ f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 e f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f31' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 _ f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 e f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 _ f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 e f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f30' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 _ f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 e f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 _ f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 e f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f29' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 _ f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 e f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 _ f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 e f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f28' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 _ f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 e f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _ f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 e f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f27' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 _ f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 e f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 _ f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 e f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f26' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _ f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 e f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 _ f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 e f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f25' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 _ f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 e f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 _ f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 e f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f24' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 _ f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 e f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 _ f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 e f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f23' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 _ f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 e f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 _ f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 e f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f22' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 _ f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 e f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 _ f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 e f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f21' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 _ f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 e f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 _ f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 e f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f20' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 _ f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 e f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 _ f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 e f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f19' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 _ f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 e f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 _ f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 e f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f18' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 _ f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 e f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 _ f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 e f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f17' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 _ f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 e f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 _ f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 e f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f16' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 _ f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 e f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 _ f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 e f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f15' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 _ f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 e f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 _ f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 e f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f14' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 _ f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 e f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 _ f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 e f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f13' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 _ f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 e f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 _ f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 e f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f12' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 _ f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 e f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 _ f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 e f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f11' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 _ f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 e f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 _ f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 e f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f10' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 _ f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 e f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 _ f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 e f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f9' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 _ f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 e f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 _ f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 e f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f8' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 _ f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 e f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 _ f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 e f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f7' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 _ f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 e f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 _ f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 e f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f6' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 _ f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 e f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 _ f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 e f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f5' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 _ f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 e f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 _ f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 e f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f4' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 _ f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 e f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 _ f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 e f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f3' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 _ f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 e f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 _ f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 e f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f2' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 _ f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 e f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 _ f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 e f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f1' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 _ f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 e f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 _ f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 e f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'f0' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 _ f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 e f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
- end.
-Notation "{[ r 'with' 'fs' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 _ f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 e f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 _ f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 e f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'float_fflags' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 _ f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 e f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 _ f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 e f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'float_result' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 _ f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 e f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 _ f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 e f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'utval' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 _ f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 e f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 _ f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 e f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'ucause' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 _ f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 e f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 _ f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 e f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'uepc' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 _ f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 e f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 _ f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 e f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'uscratch' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 _ f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 e f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 _ f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 e f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'utvec' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 _ f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 e f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 _ f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 e f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr15' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 _ f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 e f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 _ f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 e f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr14' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 _ f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 e f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 _ f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 e f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr13' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 _ f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 e f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 _ f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 e f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr12' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 _ f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 e f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 _ f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 e f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr11' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 _ f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 e f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 _ f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 e f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr10' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 _ f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 e f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 _ f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 e f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr9' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 _ f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 e f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 _ f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 e f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr8' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 _ f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 e f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 _ f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 e f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr7' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 _ f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 e f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 _ f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 e f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr6' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 _ f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 e f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 _ f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 e f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr5' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 _ f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 e f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 _ f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 e f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr4' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 _ f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 e f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 _ f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 e f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr3' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 _ f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 e f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 _ f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 e f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr2' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 _ f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 e f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 _ f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 e f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr1' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 _ f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 e f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 _ f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 e f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmpaddr0' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 _ f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 e f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 _ f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 e f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp15cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 _ f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 e f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 _ f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 e f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp14cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 _ f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 e f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 _ f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 e f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp13cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 _ f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 e f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 _ f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 e f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp12cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 _ f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 e f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 _ f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 e f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp11cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 _ f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 e f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 _ f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 e f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp10cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 _ f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 e f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 _ f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 e f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp9cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 _ f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 e f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 _ f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 e f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp8cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 _ f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 e f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 _ f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 e f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp7cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 _ f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 e f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 _ f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 e f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp6cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 _ f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 e f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 _ f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 e f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp5cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 _ f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 e f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 _ f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 e f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp4cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 _ f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 e f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 _ f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 e f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp3cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 _ f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 e f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 _ f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 e f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp2cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 _ f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 e f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 _ f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 e f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp1cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 _ f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 e f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 _ f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 e f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'pmp0cfg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 _ f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 e f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 _ f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 e f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'tselect' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 _ f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 e f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 _ f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 e f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'stval' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 _ f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 e f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 _ f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 e f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'scause' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 _ f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 e f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 _ f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 e f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'sepc' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 _ f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 e f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 _ f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 e f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'sscratch' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 _ f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 e f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 _ f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 e f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'stvec' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 _ f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 e f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 _ f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 e f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'sideleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 _ f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 e f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 _ f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 e f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'sedeleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 _ f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 e f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 _ f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 e f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mhartid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 _ f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 e f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 _ f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 e f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'marchid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 _ f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 e f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 _ f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 e f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mimpid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 _ f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 e f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 _ f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 e f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mvendorid' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 _ f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 e f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 _ f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 e f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'minstret_written' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 _ f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 e f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 _ f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 e f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'minstret' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 _ f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 e f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 _ f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 e f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mtime' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 _ f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 e f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 _ f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 e f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mcycle' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 _ f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 e f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 _ f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 e f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mcountinhibit' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 _ f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 e f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 _ f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 e f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'scounteren' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 _ f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 e f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 _ f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 e f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mcounteren' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 _ f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 e f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 _ f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 e f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mscratch' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 _ f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 e f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 _ f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 e f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mtval' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 _ f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 e f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 _ f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 e f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mepc' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 _ f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 e f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 _ f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 e f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mcause' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 _ f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 e f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 _ f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 e f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mtvec' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 _ f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 e f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 _ f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 e f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'medeleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 _ f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 e f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 _ f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 e f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mideleg' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 _ f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 e f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 _ f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 e f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mie' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 _ f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 e f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 _ f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 e f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mip' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 _ f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 e f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 _ f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 e f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'mstatus' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 _ f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 e f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 _ f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 e f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
+ end.
+Notation "{[ r 'with' 'mstatush' := e ]}" :=
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 _ f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 e f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'misa' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 _ f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 e f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 _ f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 e f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'cur_inst' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 _ f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 e f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 _ f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 e f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'cur_privilege' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 _ f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 e f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 _ f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 e f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x31' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 _ f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 e f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 _ f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 e f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x30' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 _ f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 e f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 _ f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 e f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x29' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 _ f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 e f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 _ f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 e f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x28' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 _ f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 e f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 _ f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 e f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x27' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 _ f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 e f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 _ f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 e f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x26' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 _ f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 e f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 _ f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 e f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x25' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 _ f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 e f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 _ f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 e f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x24' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 _ f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 e f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 _ f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 e f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x23' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 _ f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 e f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 _ f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 e f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x22' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 _ f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 e f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 _ f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 e f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x21' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 _ f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 e f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 _ f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 e f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x20' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 _ f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 e f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 _ f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 e f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x19' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 _ f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 e f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 _ f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 e f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x18' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 _ f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 e f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 _ f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 e f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x17' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 _ f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 e f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 _ f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 e f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x16' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 _ f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 e f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 _ f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 e f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x15' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 _ f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 e f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 _ f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 e f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x14' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 _ f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 e f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 _ f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 e f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x13' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 _ f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 e f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 _ f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 e f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x12' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 _ f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 e f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 _ f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 e f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x11' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 _ f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 e f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 _ f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 e f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x10' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 _ f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 e f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 _ f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 e f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x9' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 _ f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 e f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 _ f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 e f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x8' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 _ f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 e f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 _ f138 f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 e f138 f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x7' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 _ f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 e f137 f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 _ f139 f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 e f139 f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x6' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 _ f138 f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 e f138 f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 _ f140 f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 e f140 f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x5' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 _ f139 f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 e f139 f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 _ f141 f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 e f141 f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x4' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 _ f140 f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 e f140 f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 _ f142 f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 e f142 f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x3' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 _ f141 f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 e f141 f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 _ f143 f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 e f143 f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x2' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 _ f142 f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 e f142 f143 f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 _ f144 f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 e f144 f145 f146 f147
end.
Notation "{[ r 'with' 'x1' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 _ f143 f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 e f143 f144 f145 f146
- end.
-Notation "{[ r 'with' 'Xs' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 _ f144 f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 e f144 f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 _ f145 f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 e f145 f146 f147
end.
Notation "{[ r 'with' 'instbits' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 _ f145 f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 e f145 f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 _ f146 f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 e f146 f147
end.
Notation "{[ r 'with' 'nextPC' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 _ f146 =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 e f146
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 _ f147 =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 e f147
end.
Notation "{[ r 'with' 'PC' := e ]}" :=
- match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 _ =>
- Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 e
+ match r with Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 _ =>
+ Build_regstate f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53 f54 f55 f56 f57 f58 f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109 f110 f111 f112 f113 f114 f115 f116 f117 f118 f119 f120 f121 f122 f123 f124 f125 f126 f127 f128 f129 f130 f131 f132 f133 f134 f135 f136 f137 f138 f139 f140 f141 f142 f143 f144 f145 f146 e
end.
@@ -1580,6 +1611,11 @@ Definition Mstatus_of_regval (merge_var : register_value) : option Mstatus :=
Definition regval_of_Mstatus (v : Mstatus) : register_value := Regval_Mstatus v.
+Definition Mstatush_of_regval (merge_var : register_value) : option Mstatush :=
+ match merge_var with | Regval_Mstatush v => Some v | _ => None end.
+
+Definition regval_of_Mstatush (v : Mstatush) : register_value := Regval_Mstatush v.
+
Definition Mtvec_of_regval (merge_var : register_value) : option Mtvec :=
match merge_var with | Regval_Mtvec v => Some v | _ => None end.
@@ -1629,6 +1665,11 @@ Definition bitvector_32_dec_of_regval (merge_var : register_value) : option (mwo
Definition regval_of_bitvector_32_dec (v : mword 32) : register_value := Regval_bitvector_32_dec v.
+Definition bitvector_4_dec_of_regval (merge_var : register_value) : option (mword 4) :=
+ match merge_var with | Regval_bitvector_4_dec v => Some v | _ => None end.
+
+Definition regval_of_bitvector_4_dec (v : mword 4) : register_value := Regval_bitvector_4_dec v.
+
Definition bitvector_64_dec_of_regval (merge_var : register_value) : option (mword 64) :=
match merge_var with | Regval_bitvector_64_dec v => Some v | _ => None end.
@@ -1684,6 +1725,20 @@ Definition tlb39_ref := {|
of_regval := (fun v => option_of_regval (fun v => TLB_Entry_16_39_56_64_of_regval v) v);
regval_of := (fun v => regval_of_option (fun v => regval_of_TLB_Entry_16_39_56_64 v) v) |}.
+Definition htif_payload_writes_ref := {|
+ name := "htif_payload_writes";
+ read_from := (fun s => s.(htif_payload_writes));
+ write_to := (fun v s => ({[ s with htif_payload_writes := v ]}));
+ of_regval := (fun v => bitvector_4_dec_of_regval v);
+ regval_of := (fun v => regval_of_bitvector_4_dec v) |}.
+
+Definition htif_cmd_write_ref := {|
+ name := "htif_cmd_write";
+ read_from := (fun s => s.(htif_cmd_write));
+ write_to := (fun v s => ({[ s with htif_cmd_write := v ]}));
+ of_regval := (fun v => bit_of_regval v);
+ regval_of := (fun v => regval_of_bit v) |}.
+
Definition htif_exit_code_ref := {|
name := "htif_exit_code";
read_from := (fun s => s.(htif_exit_code));
@@ -1943,13 +1998,6 @@ Definition f0_ref := {|
of_regval := (fun v => bitvector_64_dec_of_regval v);
regval_of := (fun v => regval_of_bitvector_64_dec v) |}.
-Definition fs_ref := {|
- name := "fs";
- read_from := (fun s => s.(fs));
- write_to := (fun v s => ({[ s with fs := v ]}));
- of_regval := (fun v => vector_of_regval 32 (fun v => bitvector_64_dec_of_regval v) v);
- regval_of := (fun v => regval_of_vector (fun v => regval_of_bitvector_64_dec v) v) |}.
-
Definition float_fflags_ref := {|
name := "float_fflags";
read_from := (fun s => s.(float_fflags));
@@ -2426,6 +2474,13 @@ Definition mstatus_ref := {|
of_regval := (fun v => Mstatus_of_regval v);
regval_of := (fun v => regval_of_Mstatus v) |}.
+Definition mstatush_ref := {|
+ name := "mstatush";
+ read_from := (fun s => s.(mstatush));
+ write_to := (fun v s => ({[ s with mstatush := v ]}));
+ of_regval := (fun v => Mstatush_of_regval v);
+ regval_of := (fun v => regval_of_Mstatush v) |}.
+
Definition misa_ref := {|
name := "misa";
read_from := (fun s => s.(misa));
@@ -2664,13 +2719,6 @@ Definition x1_ref := {|
of_regval := (fun v => bitvector_64_dec_of_regval v);
regval_of := (fun v => regval_of_bitvector_64_dec v) |}.
-Definition Xs_ref := {|
- name := "Xs";
- read_from := (fun s => s.(Xs));
- write_to := (fun v s => ({[ s with Xs := v ]}));
- of_regval := (fun v => vector_of_regval 32 (fun v => bitvector_64_dec_of_regval v) v);
- regval_of := (fun v => regval_of_vector (fun v => regval_of_bitvector_64_dec v) v) |}.
-
Definition instbits_ref := {|
name := "instbits";
read_from := (fun s => s.(instbits));
@@ -2697,6 +2745,8 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
if string_dec reg_name "satp" then Some (satp_ref.(regval_of) (satp_ref.(read_from) s)) else
if string_dec reg_name "tlb48" then Some (tlb48_ref.(regval_of) (tlb48_ref.(read_from) s)) else
if string_dec reg_name "tlb39" then Some (tlb39_ref.(regval_of) (tlb39_ref.(read_from) s)) else
+ if string_dec reg_name "htif_payload_writes" then Some (htif_payload_writes_ref.(regval_of) (htif_payload_writes_ref.(read_from) s)) else
+ if string_dec reg_name "htif_cmd_write" then Some (htif_cmd_write_ref.(regval_of) (htif_cmd_write_ref.(read_from) s)) else
if string_dec reg_name "htif_exit_code" then Some (htif_exit_code_ref.(regval_of) (htif_exit_code_ref.(read_from) s)) else
if string_dec reg_name "htif_done" then Some (htif_done_ref.(regval_of) (htif_done_ref.(read_from) s)) else
if string_dec reg_name "htif_tohost" then Some (htif_tohost_ref.(regval_of) (htif_tohost_ref.(read_from) s)) else
@@ -2734,7 +2784,6 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
if string_dec reg_name "f2" then Some (f2_ref.(regval_of) (f2_ref.(read_from) s)) else
if string_dec reg_name "f1" then Some (f1_ref.(regval_of) (f1_ref.(read_from) s)) else
if string_dec reg_name "f0" then Some (f0_ref.(regval_of) (f0_ref.(read_from) s)) else
- if string_dec reg_name "fs" then Some (fs_ref.(regval_of) (fs_ref.(read_from) s)) else
if string_dec reg_name "float_fflags" then Some (float_fflags_ref.(regval_of) (float_fflags_ref.(read_from) s)) else
if string_dec reg_name "float_result" then Some (float_result_ref.(regval_of) (float_result_ref.(read_from) s)) else
if string_dec reg_name "utval" then Some (utval_ref.(regval_of) (utval_ref.(read_from) s)) else
@@ -2803,6 +2852,7 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
if string_dec reg_name "mie" then Some (mie_ref.(regval_of) (mie_ref.(read_from) s)) else
if string_dec reg_name "mip" then Some (mip_ref.(regval_of) (mip_ref.(read_from) s)) else
if string_dec reg_name "mstatus" then Some (mstatus_ref.(regval_of) (mstatus_ref.(read_from) s)) else
+ if string_dec reg_name "mstatush" then Some (mstatush_ref.(regval_of) (mstatush_ref.(read_from) s)) else
if string_dec reg_name "misa" then Some (misa_ref.(regval_of) (misa_ref.(read_from) s)) else
if string_dec reg_name "cur_inst" then Some (cur_inst_ref.(regval_of) (cur_inst_ref.(read_from) s)) else
if string_dec reg_name "cur_privilege" then Some (cur_privilege_ref.(regval_of) (cur_privilege_ref.(read_from) s)) else
@@ -2837,7 +2887,6 @@ Definition get_regval (reg_name : string) (s : regstate) : option register_value
if string_dec reg_name "x3" then Some (x3_ref.(regval_of) (x3_ref.(read_from) s)) else
if string_dec reg_name "x2" then Some (x2_ref.(regval_of) (x2_ref.(read_from) s)) else
if string_dec reg_name "x1" then Some (x1_ref.(regval_of) (x1_ref.(read_from) s)) else
- if string_dec reg_name "Xs" then Some (Xs_ref.(regval_of) (Xs_ref.(read_from) s)) else
if string_dec reg_name "instbits" then Some (instbits_ref.(regval_of) (instbits_ref.(read_from) s)) else
if string_dec reg_name "nextPC" then Some (nextPC_ref.(regval_of) (nextPC_ref.(read_from) s)) else
if string_dec reg_name "PC" then Some (PC_ref.(regval_of) (PC_ref.(read_from) s)) else
@@ -2847,6 +2896,8 @@ Definition set_regval (reg_name : string) (v : register_value) (s : regstate) :
if string_dec reg_name "satp" then option_map (fun v => satp_ref.(write_to) v s) (satp_ref.(of_regval) v) else
if string_dec reg_name "tlb48" then option_map (fun v => tlb48_ref.(write_to) v s) (tlb48_ref.(of_regval) v) else
if string_dec reg_name "tlb39" then option_map (fun v => tlb39_ref.(write_to) v s) (tlb39_ref.(of_regval) v) else
+ if string_dec reg_name "htif_payload_writes" then option_map (fun v => htif_payload_writes_ref.(write_to) v s) (htif_payload_writes_ref.(of_regval) v) else
+ if string_dec reg_name "htif_cmd_write" then option_map (fun v => htif_cmd_write_ref.(write_to) v s) (htif_cmd_write_ref.(of_regval) v) else
if string_dec reg_name "htif_exit_code" then option_map (fun v => htif_exit_code_ref.(write_to) v s) (htif_exit_code_ref.(of_regval) v) else
if string_dec reg_name "htif_done" then option_map (fun v => htif_done_ref.(write_to) v s) (htif_done_ref.(of_regval) v) else
if string_dec reg_name "htif_tohost" then option_map (fun v => htif_tohost_ref.(write_to) v s) (htif_tohost_ref.(of_regval) v) else
@@ -2884,7 +2935,6 @@ Definition set_regval (reg_name : string) (v : register_value) (s : regstate) :
if string_dec reg_name "f2" then option_map (fun v => f2_ref.(write_to) v s) (f2_ref.(of_regval) v) else
if string_dec reg_name "f1" then option_map (fun v => f1_ref.(write_to) v s) (f1_ref.(of_regval) v) else
if string_dec reg_name "f0" then option_map (fun v => f0_ref.(write_to) v s) (f0_ref.(of_regval) v) else
- if string_dec reg_name "fs" then option_map (fun v => fs_ref.(write_to) v s) (fs_ref.(of_regval) v) else
if string_dec reg_name "float_fflags" then option_map (fun v => float_fflags_ref.(write_to) v s) (float_fflags_ref.(of_regval) v) else
if string_dec reg_name "float_result" then option_map (fun v => float_result_ref.(write_to) v s) (float_result_ref.(of_regval) v) else
if string_dec reg_name "utval" then option_map (fun v => utval_ref.(write_to) v s) (utval_ref.(of_regval) v) else
@@ -2953,6 +3003,7 @@ Definition set_regval (reg_name : string) (v : register_value) (s : regstate) :
if string_dec reg_name "mie" then option_map (fun v => mie_ref.(write_to) v s) (mie_ref.(of_regval) v) else
if string_dec reg_name "mip" then option_map (fun v => mip_ref.(write_to) v s) (mip_ref.(of_regval) v) else
if string_dec reg_name "mstatus" then option_map (fun v => mstatus_ref.(write_to) v s) (mstatus_ref.(of_regval) v) else
+ if string_dec reg_name "mstatush" then option_map (fun v => mstatush_ref.(write_to) v s) (mstatush_ref.(of_regval) v) else
if string_dec reg_name "misa" then option_map (fun v => misa_ref.(write_to) v s) (misa_ref.(of_regval) v) else
if string_dec reg_name "cur_inst" then option_map (fun v => cur_inst_ref.(write_to) v s) (cur_inst_ref.(of_regval) v) else
if string_dec reg_name "cur_privilege" then option_map (fun v => cur_privilege_ref.(write_to) v s) (cur_privilege_ref.(of_regval) v) else
@@ -2987,7 +3038,6 @@ Definition set_regval (reg_name : string) (v : register_value) (s : regstate) :
if string_dec reg_name "x3" then option_map (fun v => x3_ref.(write_to) v s) (x3_ref.(of_regval) v) else
if string_dec reg_name "x2" then option_map (fun v => x2_ref.(write_to) v s) (x2_ref.(of_regval) v) else
if string_dec reg_name "x1" then option_map (fun v => x1_ref.(write_to) v s) (x1_ref.(of_regval) v) else
- if string_dec reg_name "Xs" then option_map (fun v => Xs_ref.(write_to) v s) (Xs_ref.(of_regval) v) else
if string_dec reg_name "instbits" then option_map (fun v => instbits_ref.(write_to) v s) (instbits_ref.(of_regval) v) else
if string_dec reg_name "nextPC" then option_map (fun v => nextPC_ref.(write_to) v s) (nextPC_ref.(of_regval) v) else
if string_dec reg_name "PC" then option_map (fun v => PC_ref.(write_to) v s) (PC_ref.(of_regval) v) else
diff --git a/prover_snapshots/coq/clean b/prover_snapshots/coq/clean
index 6bab8e6..26a6dec 100755
--- a/prover_snapshots/coq/clean
+++ b/prover_snapshots/coq/clean
@@ -6,8 +6,8 @@ if [ ! -d RV64 ]; then
fi
set -ex
-rm -f RV32/*.{vo,glob} RV32/.*.aux
-rm -f RV64/*.{vo,glob} RV64/.*.aux
-rm -f duopod/*.{vo,glob} RV64/.*.aux
+rm -f RV32/*.{vo,vok,vos,glob} RV32/.*.aux
+rm -f RV64/*.{vo,vok,vos,glob} RV64/.*.aux
+rm -f duopod/*.{vo,vok,vos,glob} RV64/.*.aux
cd lib/sail
make clean
diff --git a/prover_snapshots/coq/duopod/riscv_duopod.v b/prover_snapshots/coq/duopod/riscv_duopod.v
index a274535..bedca97 100644
--- a/prover_snapshots/coq/duopod/riscv_duopod.v
+++ b/prover_snapshots/coq/duopod/riscv_duopod.v
@@ -25,6 +25,12 @@ Definition neq_bool (x : bool) (y : bool) : bool := negb (Bool.eqb x y).
Definition __id (x : Z) : {_retval : Z & ArithFact (_retval =? x)} := build_ex (x).
+Definition _shl_int_general (m : Z) (n : Z) : Z :=
+ if sumbool_of_bool (Z.geb n 0) then shl_int m n else shr_int m (Z.opp n).
+
+Definition _shr_int_general (m : Z) (n : Z) : Z :=
+ if sumbool_of_bool (Z.geb n 0) then shr_int m n else shl_int m (Z.opp n).
+
Definition fdiv_int (n : Z) (m : Z) : Z :=
if sumbool_of_bool (andb (Z.ltb n 0) (Z.gtb m 0)) then Z.sub (Z.quot (Z.add n 1) m) 1
else if sumbool_of_bool (andb (Z.gtb n 0) (Z.ltb m 0)) then Z.sub (Z.quot (Z.sub n 1) m) 1
diff --git a/prover_snapshots/coq/duopod/riscv_extras.v b/prover_snapshots/coq/duopod/riscv_extras.v
index 02d5609..4b069ec 100644
--- a/prover_snapshots/coq/duopod/riscv_extras.v
+++ b/prover_snapshots/coq/duopod/riscv_extras.v
@@ -141,6 +141,7 @@ Definition string_of_int z := DecimalString.NilZero.string_of_int (Z.to_int z).
Axiom sys_enable_writable_misa : unit -> bool.
Axiom sys_enable_rvc : unit -> bool.
Axiom sys_enable_fdext : unit -> bool.
+Axiom sys_enable_next : unit -> bool.
(* The constraint solver can do this itself, but a Coq bug puts
anonymous_subproof into the term instead of an actual subproof. *)
diff --git a/prover_snapshots/coq/lib/sail/Hoare.v b/prover_snapshots/coq/lib/sail/Hoare.v
index b883b7a..93033ae 100644
--- a/prover_snapshots/coq/lib/sail/Hoare.v
+++ b/prover_snapshots/coq/lib/sail/Hoare.v
@@ -1,6 +1,7 @@
Require Import String ZArith Setoid Morphisms Equivalence.
Require Import Sail.State_monad Sail.Prompt Sail.State Sail.State_monad_lemmas.
Require Import Sail.State_lemmas.
+Require Import Lia.
(*adhoc_overloading
Monad_Syntax.bind State_monad.bindS*)
@@ -837,7 +838,7 @@ unfold untilST.
apply PrePostE_use_pre. intros s0 Pre0.
assert (measure vars >= 0) as Hlimit_0 by eauto. clear s0 Pre0.
remember (measure vars) as limit eqn: Heqlimit in Hlimit_0 |- *.
-assert (measure vars <= limit) as Hlimit by omega. clear Heqlimit.
+assert (measure vars <= limit) as Hlimit by lia. clear Heqlimit.
generalize (Sail.Prompt.Zwf_guarded limit).
revert vars Hlimit.
apply Wf_Z.natlike_ind with (x := limit).
@@ -857,10 +858,10 @@ apply Wf_Z.natlike_ind with (x := limit).
intros ? [[? ?] ?]; auto.
- apply PrePostE_I;
intros ? ? ? [[Pre ?] ?] ?; exfalso;
- specialize (Hmeasure _ _ Pre); omega.
+ specialize (Hmeasure _ _ Pre); lia.
* intros limit' Hlimit' IH vars Hmeasure_limit [acc].
simpl.
- destruct (Z_ge_dec _ _); try omega.
+ destruct (Z_ge_dec _ _). 2: lia.
eapply PrePostE_bindS; [ | apply Hbody].
intros vars'.
eapply PrePostE_bindS with (R := (fun c s' => (Inv Q vars' s' /\ (c = true -> Q vars' s')) /\ measure vars' < measure vars)).
@@ -875,14 +876,14 @@ apply Wf_Z.natlike_ind with (x := limit).
- eapply PrePostE_strengthen_pre; try apply PrePostE_returnS.
intros ? [[? ?] ?]; auto.
- gen_reduces.
- replace (Z.succ limit' - 1) with limit'; [ | omega].
+ replace (Z.succ limit' - 1) with limit'; [ | lia].
intro acc'.
apply PrePostE_use_pre. intros sx [[Pre _] Hreduces].
apply Hmeasure in Pre.
eapply PrePostE_strengthen_pre; [apply IH | ].
- + omega.
+ + lia.
+ tauto.
-* omega.
+* lia.
Qed.
diff --git a/prover_snapshots/coq/lib/sail/Makefile b/prover_snapshots/coq/lib/sail/Makefile
index 1b6435e..59f0e38 100644
--- a/prover_snapshots/coq/lib/sail/Makefile
+++ b/prover_snapshots/coq/lib/sail/Makefile
@@ -20,7 +20,7 @@ TARGETS=$(SRC:.v=.vo)
all: $(TARGETS)
clean:
- rm -f -- $(TARGETS) $(TARGETS:.vo=.glob) $(TARGETS:%.vo=.%.aux) deps
+ rm -f -- $(TARGETS) $(TARGETS:.vo=.glob) $(TARGETS:.vo=.vos) $(TARGETS:.vo=.vok) $(TARGETS:%.vo=.%.aux) deps
$(TARGETS): %.vo: %.v
coqc $(COQ_LIBS) $<
diff --git a/prover_snapshots/coq/lib/sail/Operators_mwords.v b/prover_snapshots/coq/lib/sail/Operators_mwords.v
index ccb3b1d..bfbf654 100644
--- a/prover_snapshots/coq/lib/sail/Operators_mwords.v
+++ b/prover_snapshots/coq/lib/sail/Operators_mwords.v
@@ -6,7 +6,7 @@ Require Import bbv.Word.
Require bbv.BinNotation.
Require Import Arith.
Require Import ZArith.
-Require Import Omega.
+Require Import Lia.
Require Import Eqdep_dec.
Local Open Scope Z.
@@ -106,14 +106,14 @@ intros.
unwrap_ArithFacts.
unbool_comparisons.
split.
-+ apply Z2Nat.inj_le; omega.
-+ apply Z2Nat.inj_lt; omega.
++ apply Z2Nat.inj_le; lia.
++ apply Z2Nat.inj_lt; lia.
Qed.
Lemma subrange_lemma1 {n m o} : (o <= m < n -> n = m + 1 + (n - (m + 1)))%nat.
-intros. omega.
+intros. lia.
Qed.
Lemma subrange_lemma2 {n m o} : (o <= m < n -> m+1 = o+(m-o+1))%nat.
-omega.
+lia.
Qed.
Lemma subrange_lemma3 {m o} `{ArithFact (0 <=? o)} `{ArithFact (o <=? m)} :
Z.of_nat (Z.to_nat m - Z.to_nat o + 1)%nat = m - o + 1.
@@ -121,9 +121,8 @@ unwrap_ArithFacts.
unbool_comparisons.
rewrite Nat2Z.inj_add.
rewrite Nat2Z.inj_sub.
-repeat rewrite Z2Nat.id; try omega.
-reflexivity.
-apply Z2Nat.inj_le; omega.
+repeat rewrite Z2Nat.id; lia.
+apply Z2Nat.inj_le; lia.
Qed.
Definition subrange_vec_dec {n} (v : mword n) m o `{ArithFact (0 <=? o)} `{ArithFact (o <=? m <? n)} : mword (m - o + 1) :=
@@ -159,10 +158,10 @@ rewrite <- subrange_lemma3.
rewrite !Nat2Z.inj_add.
rewrite !Nat2Z.inj_sub.
rewrite Nat2Z.inj_add.
-repeat rewrite Z2Nat.id; try omega.
+repeat rewrite Z2Nat.id; lia.
rewrite Nat.add_1_r.
-apply Z2Nat.inj_lt; omega.
-apply Z2Nat.inj_le; omega.
+apply Z2Nat.inj_lt; lia.
+apply Z2Nat.inj_le; lia.
Qed.
Definition update_subrange_vec_dec {n} (v : mword n) m o `{ArithFact (0 <=? o)} `{ArithFact (o <=? m <? n)} (w : mword (m - o + 1)) : mword n.
@@ -186,8 +185,8 @@ Defined.
Definition update_subrange_vec_inc {n} (v : mword n) m o `{ArithFact (0 <=? m)} `{ArithFact (m <=? o <? n)} (w : mword (o - m + 1)) : mword n := update_subrange_vec_dec v (n-1-m) (n-1-o) (autocast w).
Lemma mword_nonneg {a} : mword a -> a >= 0.
-destruct a;
-auto using Z.le_ge, Zle_0_pos with zarith.
+destruct a.
+1,2: auto using Z.le_ge, Zle_0_pos with zarith.
destruct 1.
Qed.
@@ -197,7 +196,7 @@ refine (cast_to_mword (Word.zext (get_word v) (Z.to_nat (b - a))) _).
unwrap_ArithFacts.
unbool_comparisons.
assert (a >= 0). { apply mword_nonneg. assumption. }
-rewrite <- Z2Nat.inj_add; try omega.
+rewrite <- Z2Nat.inj_add; [ | lia | lia ].
rewrite Zplus_minus.
apply Z2Nat.id.
auto with zarith.
@@ -209,7 +208,7 @@ refine (cast_to_mword (Word.sext (get_word v) (Z.to_nat (b - a))) _).
unwrap_ArithFacts.
unbool_comparisons.
assert (a >= 0). { apply mword_nonneg. assumption. }
-rewrite <- Z2Nat.inj_add; try omega.
+rewrite <- Z2Nat.inj_add; [ | lia | lia ].
rewrite Zplus_minus.
apply Z2Nat.id.
auto with zarith.
@@ -230,32 +229,32 @@ Defined.
Lemma truncate_eq {m n} : m >= 0 -> m <= n -> (Z.to_nat n = Z.to_nat m + (Z.to_nat n - Z.to_nat m))%nat.
intros.
assert ((Z.to_nat m <= Z.to_nat n)%nat).
-{ apply Z2Nat.inj_le; omega. }
-omega.
+{ apply Z2Nat.inj_le; lia. }
+lia.
Qed.
Lemma truncateLSB_eq {m n} : m >= 0 -> m <= n -> (Z.to_nat n = (Z.to_nat n - Z.to_nat m) + Z.to_nat m)%nat.
intros.
assert ((Z.to_nat m <= Z.to_nat n)%nat).
-{ apply Z2Nat.inj_le; omega. }
-omega.
+{ apply Z2Nat.inj_le; lia. }
+lia.
Qed.
Definition vector_truncate {n} (v : mword n) (m : Z) `{ArithFact (m >=? 0)} `{ArithFact (m <=? n)} : mword m.
refine (cast_to_mword (Word.split1 _ _ (cast_word (get_word v) (_ : Z.to_nat n = Z.to_nat m + (Z.to_nat n - Z.to_nat m))%nat)) (_ : Z.of_nat (Z.to_nat m) = m)).
abstract (unwrap_ArithFacts; unbool_comparisons; apply truncate_eq; auto with zarith).
-abstract (unwrap_ArithFacts; unbool_comparisons; apply Z2Nat.id; omega).
+abstract (unwrap_ArithFacts; unbool_comparisons; apply Z2Nat.id; lia).
Defined.
Definition vector_truncateLSB {n} (v : mword n) (m : Z) `{ArithFact (m >=? 0)} `{ArithFact (m <=? n)} : mword m.
refine (cast_to_mword (Word.split2 _ _ (cast_word (get_word v) (_ : Z.to_nat n = (Z.to_nat n - Z.to_nat m) + Z.to_nat m)%nat)) (_ : Z.of_nat (Z.to_nat m) = m)).
abstract (unwrap_ArithFacts; unbool_comparisons; apply truncateLSB_eq; auto with zarith).
-abstract (unwrap_ArithFacts; unbool_comparisons; apply Z2Nat.id; omega).
+abstract (unwrap_ArithFacts; unbool_comparisons; apply Z2Nat.id; lia).
Defined.
Lemma concat_eq {a b} : a >= 0 -> b >= 0 -> Z.of_nat (Z.to_nat b + Z.to_nat a)%nat = a + b.
intros.
rewrite Nat2Z.inj_add.
-rewrite Z2Nat.id; auto with zarith.
+rewrite Z2Nat.id. 2: solve [ auto with zarith ].
rewrite Z2Nat.id; auto with zarith.
Qed.
@@ -303,9 +302,9 @@ constructor.
assert (2 ^ a - 1 = Z.of_N (2 ^ (Z.to_N a) - 1)). {
rewrite N2Z.inj_sub.
* rewrite N2Z.inj_pow.
- rewrite Z2N.id; auto.
- destruct a; auto with zarith. destruct x.
- * apply N.le_trans with (m := (2^0)%N); auto using N.le_refl.
+ rewrite Z2N.id. solve [ auto ].
+ destruct a. 1,2: auto with zarith. destruct x.
+ * apply N.le_trans with (m := (2^0)%N). solve [ auto using N.le_refl ].
apply N.pow_le_mono_r.
inversion 1.
apply N.le_0_l.
@@ -346,8 +345,8 @@ rewrite eq.
rewrite Nat2Z.id.
intro w.
destruct (Word.wordToZ_size' w) as [LO HI].
-replace 1 with (Z.of_nat 1); auto.
-rewrite <- Nat2Z.inj_sub; auto with arith.
+replace 1 with (Z.of_nat 1). 2: solve [ auto ].
+rewrite <- Nat2Z.inj_sub. 2: solve [ auto with arith ].
simpl.
rewrite <- minus_n_O.
rewrite Zpow_pow2.
@@ -489,8 +488,8 @@ end.
Lemma replicate_ok {n a} `{ArithFact (n >=? 0)} `{ArithFact (a >=? 0)} :
Z.of_nat (Z.to_nat n * Z.to_nat a) = a * n.
destruct H. destruct H0. unbool_comparisons.
-rewrite <- Z2Nat.id; auto with zarith.
-rewrite Z2Nat.inj_mul; auto with zarith.
+rewrite <- Z2Nat.id. 2: solve [ auto with zarith ].
+rewrite Z2Nat.inj_mul. 2,3: solve [ auto with zarith ].
rewrite Nat.mul_comm. reflexivity.
Qed.
Definition replicate_bits {a} (w : mword a) (n : Z) `{ArithFact (n >=? 0)} : mword (a * n) :=
@@ -529,7 +528,7 @@ destruct n.
compute. intuition.
* simpl in *. destruct (weq v w).
+ subst. rewrite weqb_eq; tauto.
- + rewrite weqb_ne; auto. intuition.
+ + rewrite weqb_ne; auto. split; congruence.
* destruct v.
Qed.
@@ -567,7 +566,7 @@ Program Fixpoint reverse_endianness_word {n} (bits : word n) : word n :=
| _ => bits
end.
Next Obligation.
-omega.
+lia.
Qed.
Definition reverse_endianness {n} (bits : mword n) := with_word (P := id) reverse_endianness_word bits.
@@ -604,11 +603,11 @@ unfold slice.
destruct (sumbool_of_bool _).
* exfalso.
unbool_comparisons.
- omega.
+ lia.
* destruct (sumbool_of_bool _).
+ exfalso.
unbool_comparisons.
- omega.
+ lia.
+ repeat replace_ArithFact_proof.
reflexivity.
Qed.
diff --git a/prover_snapshots/coq/lib/sail/Prompt.v b/prover_snapshots/coq/lib/sail/Prompt.v
index 718b2f4..6167f5b 100644
--- a/prover_snapshots/coq/lib/sail/Prompt.v
+++ b/prover_snapshots/coq/lib/sail/Prompt.v
@@ -1,6 +1,7 @@
Require Import Sail.Values.
Require Import Sail.Prompt_monad.
Require Export ZArith.Zwf.
+Require Import Lia.
Require Import List.
Import ListNotations.
Local Open Scope Z.
@@ -169,7 +170,7 @@ refine (Acc_inv _acc _).
destruct H.
unbool_comparisons.
red.
-omega.
+lia.
Defined.
(* A version of well-foundedness of measures with a guard to ensure that
diff --git a/prover_snapshots/coq/lib/sail/Real.v b/prover_snapshots/coq/lib/sail/Real.v
index a2da0e7..34b2a12 100644
--- a/prover_snapshots/coq/lib/sail/Real.v
+++ b/prover_snapshots/coq/lib/sail/Real.v
@@ -2,6 +2,7 @@ Require Export Rbase.
Require Import Reals.
Require Export ROrderedType.
Require Import Sail.Values.
+Require Import Lia.
Local Open Scope Z.
(* "Decidable" in a classical sense... *)
@@ -53,7 +54,7 @@ apply IZR_le.
apply Z.mul_div_le.
assumption.
discrR.
-omega.
+lia.
Qed.
(* One annoying use of reals in the ARM spec I've been looking at. *)
@@ -80,13 +81,13 @@ assert (diveq : n*((m+n-1)/n) = (m+n-1) - (m+n-1) mod n).
apply Zplus_minus_eq.
rewrite (Z.add_comm ((m+n-1) mod n)).
apply Z.div_mod.
-omega.
+lia.
rewrite diveq.
assert (modmax : (m+n-1) mod n < n).
specialize (Z.mod_pos_bound (m+n-1) n). intuition.
-omega.
+lia.
-discrR; omega.
+discrR; lia.
rewrite <- Z.opp_sub_distr.
rewrite Ropp_Ropp_IZR.
@@ -96,7 +97,7 @@ auto using IZR_lt.
unfold Rdiv.
rewrite <- Rmult_assoc.
rewrite Rinv_r_simpl_m.
-2: { discrR. omega. }
+2: { discrR. lia. }
rewrite <- mult_IZR.
apply IZR_lt.
rewrite Z.mul_sub_distr_l.
@@ -104,5 +105,5 @@ apply Z.le_lt_trans with (m := m+n-1-n*1).
apply Z.sub_le_mono_r.
apply Z.mul_div_le.
assumption.
-omega.
+lia.
Qed.
diff --git a/prover_snapshots/coq/lib/sail/State_lemmas.v b/prover_snapshots/coq/lib/sail/State_lemmas.v
index 6a620f2..9f419b4 100644
--- a/prover_snapshots/coq/lib/sail/State_lemmas.v
+++ b/prover_snapshots/coq/lib/sail/State_lemmas.v
@@ -1,5 +1,6 @@
Require Import Sail.Values Sail.Prompt_monad Sail.Prompt Sail.State_monad Sail.State Sail.State Sail.State_lifting.
Require Import Sail.State_monad_lemmas.
+Require Import Lia.
Local Open Scope equiv_scope.
Local Open Scope Z.
@@ -88,18 +89,19 @@ destruct (Z.le_decidable 0 limit).
reflexivity.
+ clear limit H.
intros limit H IH [acc] vars s. simpl.
- destruct (Z_ge_dec _ _); try omega.
+ destruct (Z_ge_dec _ _). 2: lia.
apply bindS_cong; auto.
intros [|]; auto.
apply bindS_cong; auto.
intros.
gen_reduces.
- replace (Z.succ limit - 1) with limit; try omega. intro acc'.
+ replace (Z.succ limit - 1) with limit. 2: lia. intro acc'.
apply IH.
+ assumption.
* intros. simpl.
- destruct (Z_ge_dec _ _); try omega.
- reflexivity.
+ destruct (Z_ge_dec _ _).
+ + lia.
+ + reflexivity.
Qed.
Lemma untilST_cong RV Vars E measure vars cond cond' (body body' : Vars -> monadS RV Vars E) :
@@ -121,17 +123,18 @@ destruct (Z.le_decidable 0 limit).
reflexivity.
+ clear limit H.
intros limit H IH [acc] vars s. simpl.
- destruct (Z_ge_dec _ _); try omega.
+ destruct (Z_ge_dec _ _). 2: lia.
apply bindS_cong; auto.
intros. apply bindS_cong; auto.
intros [|]; auto.
gen_reduces.
- replace (Z.succ limit - 1) with limit; try omega. intro acc'.
+ replace (Z.succ limit - 1) with limit. 2: lia. intro acc'.
apply IH.
+ assumption.
* intros. simpl.
- destruct (Z_ge_dec _ _); try omega.
- reflexivity.
+ destruct (Z_ge_dec _ _).
+ + lia.
+ + reflexivity.
Qed.
Lemma genlistS_cong {A RV E} f f' n :
@@ -966,19 +969,20 @@ destruct (Z.le_decidable 0 limit).
reflexivity.
+ clear limit H.
intros limit H IH [acc1] [acc2] vars s. simpl.
- destruct (Z_ge_dec _ _); try omega.
+ destruct (Z_ge_dec _ _). 2: lia.
rewrite_liftState.
apply bindS_cong; auto.
intros [|]; auto.
apply bindS_cong; auto.
intros.
repeat gen_reduces.
- replace (Z.succ limit - 1) with limit; try omega. intros acc1' acc2'.
+ replace (Z.succ limit - 1) with limit. 2: lia. intros acc1' acc2'.
apply IH.
+ assumption.
* intros. simpl.
- destruct (Z_ge_dec _ _); try omega.
- reflexivity.
+ destruct (Z_ge_dec _ _).
+ + lia.
+ + reflexivity.
Qed.
Hint Resolve liftState_whileM : liftState.
@@ -1039,18 +1043,19 @@ destruct (Z.le_decidable 0 limit).
reflexivity.
+ clear limit H.
intros limit H IH [acc1] [acc2] vars s. simpl.
- destruct (Z_ge_dec _ _); try omega.
+ destruct (Z_ge_dec _ _). 2: lia.
rewrite_liftState.
apply bindS_cong; auto.
intros. apply bindS_cong; auto.
intros [|]; auto.
repeat gen_reduces.
- replace (Z.succ limit - 1) with limit; try omega. intros acc1' acc2'.
+ replace (Z.succ limit - 1) with limit. 2: lia. intros acc1' acc2'.
apply IH.
+ assumption.
* intros. simpl.
- destruct (Z_ge_dec _ _); try omega.
- reflexivity.
+ destruct (Z_ge_dec _ _).
+ + lia.
+ + reflexivity.
Qed.
Hint Resolve liftState_untilM : liftState.
diff --git a/prover_snapshots/coq/lib/sail/Values.v b/prover_snapshots/coq/lib/sail/Values.v
index 2cab87f..e6fb212 100644
--- a/prover_snapshots/coq/lib/sail/Values.v
+++ b/prover_snapshots/coq/lib/sail/Values.v
@@ -213,7 +213,8 @@ Lemma ZEuclid_div_pos : forall x y, 0 < y -> 0 <= x -> 0 <= ZEuclid.div x y.
intros.
unfold ZEuclid.div.
change 0 with (0 * 0).
-apply Zmult_le_compat; auto with zarith.
+apply Zmult_le_compat.
+3,4: auto with zarith.
* apply Z.sgn_nonneg. auto with zarith.
* apply Z_div_pos; auto. apply Z.lt_gt. apply Z.abs_pos. auto with zarith.
Qed.
@@ -231,19 +232,14 @@ Qed.
Lemma ZEuclid_div_ge : forall x y, y > 0 -> x >= 0 -> x - ZEuclid.div x y >= 0.
intros.
unfold ZEuclid.div.
-rewrite Z.sgn_pos; auto with zarith.
+rewrite Z.sgn_pos. 2: solve [ auto with zarith ].
rewrite Z.mul_1_l.
apply Z.le_ge.
apply Zle_minus_le_0.
apply Z.div_le_upper_bound.
* apply Z.abs_pos. auto with zarith.
* rewrite Z.mul_comm.
- assert (0 < Z.abs y). {
- apply Z.abs_pos.
- omega.
- }
- revert H1.
- generalize (Z.abs y). intros. nia.
+ nia.
Qed.
Lemma ZEuclid_div_mod0 : forall x y, y <> 0 ->
@@ -841,7 +837,7 @@ refine
end).
exfalso. inversion H.
exfalso. inversion H.
-simpl in H. omega.
+simpl in H. lia.
Defined.
Lemma nth_in_range_is_nth : forall A n (l : list A) d (H : n < length l),
@@ -863,17 +859,6 @@ rewrite Nat2Z.id in bounded.
assumption.
Qed.
-(*
-Lemma nth_top_aux {A} {n} {xs : list A} : Z.to_nat n < length xs -> let top := ((length_list xs) - 1)%Z in Z.to_nat (top - n)%Z < length xs.
-unfold length_list.
-generalize (length xs).
-intro n0.
-rewrite <- (Nat2Z.id n0).
-intro H.
-apply Z2Nat.inj_lt.
-* omega.
-*)
-
Close Scope nat.
(*val access_list_inc : forall a. list a -> Z -> a*)
@@ -890,8 +875,8 @@ Definition access_list_dec {A} (xs : list A) n `{H1:ArithFact (0 <=? n)} `{H2:Ar
refine (
let top := (length_list xs) - 1 in
@access_list_inc A xs (top - n) _ _).
-abstract (constructor; apply use_ArithFact, Z.leb_le in H1; apply use_ArithFact, Z.ltb_lt in H2; apply Z.leb_le; omega).
-abstract (constructor; apply use_ArithFact, Z.leb_le in H1; apply use_ArithFact, Z.ltb_lt in H2; apply Z.ltb_lt; omega).
+abstract (constructor; apply use_ArithFact, Z.leb_le in H1; apply use_ArithFact, Z.ltb_lt in H2; apply Z.leb_le; lia).
+abstract (constructor; apply use_ArithFact, Z.leb_le in H1; apply use_ArithFact, Z.ltb_lt in H2; apply Z.ltb_lt; lia).
Defined.
(*val access_list : forall a. bool -> list a -> Z -> a*)
@@ -1152,9 +1137,9 @@ Qed.
Lemma ArithFact_mword (a : Z) (w : mword a) : ArithFact (a >=? 0).
constructor.
destruct a.
-auto with zarith.
-auto using Z.le_ge, Zle_0_pos.
-destruct w.
+* auto with zarith.
+* auto using Z.le_ge, Zle_0_pos.
+* destruct w.
Qed.
(* Remove constructor from ArithFact(P)s and if they're used elsewhere
in the context create a copy that rewrites will work on. *)
@@ -1514,10 +1499,6 @@ Ltac clean_up_props :=
| H1:?P, H2:?R <-> ?Q |- _ => constr_eq P Q; apply (iff_known_r H1) in H2
| H:context[_ \/ False] |- _ => rewrite or_False_r in H
| H:context[False \/ _] |- _ => rewrite or_False_l in H
- (* omega doesn't cope well with extra "True"s in the goal.
- Check that they actually appear because setoid_rewrite can fill in evars. *)
- | |- context[True /\ _] => setoid_rewrite True_left
- | |- context[_ /\ True] => setoid_rewrite True_right
end;
remove_unnecessary_casesplit.
@@ -1526,7 +1507,7 @@ Ltac prepare_for_solver :=
generalize_embedded_proofs;
clear_irrelevant_defns;
clear_non_Z_bool_defns;
- autounfold with sail in * |- *; (* You can add Hint Unfold ... : sail to let omega see through fns *)
+ autounfold with sail in * |- *; (* You can add Hint Unfold ... : sail to let lia see through fns *)
split_cases;
extract_properties;
repeat match goal with w:mword ?n |- _ => apply ArithFact_mword in w end;
@@ -1612,7 +1593,7 @@ destruct x; compute; split; congruence.
Qed.
Lemma b2z_tf x : 0 <= Z.b2z x <= 1.
-destruct x; simpl; omega.
+destruct x; simpl; lia.
Qed.
Lemma b2z_andb a b :
@@ -1685,7 +1666,7 @@ Ltac guess_ex_solver :=
| |- @ex bool _ => exists true; guess_ex_solver
| |- @ex bool _ => exists false; guess_ex_solver
| x : ?ty |- @ex ?ty _ => exists x; guess_ex_solver
- | _ => solve [tauto | eauto 3 with zarith sail | solve_bool_with_Z | omega]
+ | _ => solve [tauto | eauto 3 with zarith sail | solve_bool_with_Z | lia]
end.
(* A straightforward solver for simple problems like
@@ -1814,7 +1795,7 @@ Ltac ex_iff_solve :=
match goal with
| |- @ex _ _ => eexists; ex_iff_solve
(* Range constraints are attached to the right *)
- | |- _ /\ _ => split; [ex_iff_solve | omega]
+ | |- _ /\ _ => split; [ex_iff_solve | lia]
| |- _ <-> _ => conjuncts_iff_solve || (symmetry; conjuncts_iff_solve)
end.
@@ -1896,7 +1877,7 @@ in
remaining evar with left over. TODO: apply to goals without an evar clause *)
match goal with
| |- @ex _ _ => eexists; clause_matching_bool_solver
- | |- _ = _ /\ _ <= _ <= _ => split; [clause_matching_bool_solver | omega]
+ | |- _ = _ /\ _ <= _ <= _ => split; [clause_matching_bool_solver | lia]
| |- ?l = ?r =>
let rec clause l r :=
match l with
@@ -1920,7 +1901,7 @@ Ltac main_solver :=
solve
[ apply ArithFact_mword; assumption
| z_comparisons
- | omega with Z
+ | lia
(* Try sail hints before dropping the existential *)
| subst; eauto 3 with zarith sail
(* The datatypes hints give us some list handling, esp In *)
@@ -1998,7 +1979,7 @@ Ltac main_solver :=
Ltac simple_omega :=
repeat match goal with
H := projT1 _ |- _ => clearbody H
- end; omega.
+ end; lia.
Ltac solve_unknown :=
match goal with
@@ -2205,9 +2186,9 @@ Hint Unfold neq_atom : sail.
Lemma ReasonableSize_witness (a : Z) (w : mword a) : ReasonableSize a.
constructor.
destruct a.
-auto with zarith.
-auto using Z.le_ge, Zle_0_pos.
-destruct w.
+* auto with zarith.
+* auto using Z.le_ge, Zle_0_pos.
+* destruct w.
Qed.
Hint Extern 0 (ReasonableSize ?A) => (unwrap_ArithFacts; solve [apply ReasonableSize_witness; assumption | constructor; auto with zarith]) : typeclass_instances.
@@ -2547,21 +2528,30 @@ Fixpoint foreach_Z' {Vars} from to step n (vars : Vars) (body : Z -> Vars -> Var
Definition foreach_Z {Vars} from to step vars body :=
foreach_Z' (Vars := Vars) from to step (S (Z.abs_nat (from - to))) vars body.
-Fixpoint foreach_Z_up' {Vars} (from to step off : Z) (n:nat) `{ArithFact (0 <? step)} `{ArithFact (0 <=? off)} (vars : Vars) (body : forall (z : Z) `(ArithFact ((from <=? z <=? to))), Vars -> Vars) {struct n} : Vars :=
+(* Define these in proof mode to avoid anomalies related to abstract.
+ (See https://github.com/coq/coq/issues/10959) *)
+
+Fixpoint foreach_Z_up' {Vars} (from to step off : Z) (n:nat) `{ArithFact (0 <? step)} `{ArithFact (0 <=? off)} (vars : Vars) (body : forall (z : Z) `(ArithFact ((from <=? z <=? to))), Vars -> Vars) {struct n} : Vars.
+refine (
if sumbool_of_bool (from + off <=? to) then
match n with
| O => vars
- | S n => let vars := body (from + off) _ vars in foreach_Z_up' from to step (off + step) n vars body
+ | S n => let vars := body (from + off) _ vars in foreach_Z_up' _ from to step (off + step) n _ _ vars body
end
- else vars.
+ else vars
+).
+Defined.
-Fixpoint foreach_Z_down' {Vars} from to step off n `{ArithFact (0 <? step)} `{ArithFact (off <=? 0)} (vars : Vars) (body : forall (z : Z) `(ArithFact ((to <=? z <=? from))), Vars -> Vars) {struct n} : Vars :=
+Fixpoint foreach_Z_down' {Vars} from to step off (n:nat) `{ArithFact (0 <? step)} `{ArithFact (off <=? 0)} (vars : Vars) (body : forall (z : Z) `(ArithFact ((to <=? z <=? from))), Vars -> Vars) {struct n} : Vars.
+refine (
if sumbool_of_bool (to <=? from + off) then
match n with
| O => vars
- | S n => let vars := body (from + off) _ vars in foreach_Z_down' from to step (off - step) n vars body
+ | S n => let vars := body (from + off) _ vars in foreach_Z_down' _ from to step (off - step) n _ _ vars body
end
- else vars.
+ else vars
+).
+Defined.
Definition foreach_Z_up {Vars} from to step vars body `{ArithFact (0 <? step)} :=
foreach_Z_up' (Vars := Vars) from to step 0 (S (Z.abs_nat (from - to))) vars body.
@@ -2739,10 +2729,10 @@ assert ((0 <= Z.to_nat m < Datatypes.length l)%nat).
apply Z2Nat.inj_lt; auto with zarith.
}
rewrite app_length.
-rewrite firstn_length_le; only 2:omega.
+rewrite firstn_length_le; only 2:lia.
cbn -[skipn].
rewrite skipn_length;
-omega.
+lia.
Qed.
Program Definition vec_update_dec {T n} (v : vec T n) m t `{ArithFact (0 <=? m <? n)} : vec T n := existT _ (update_list_dec (projT1 v) m t) _.
@@ -2754,7 +2744,7 @@ rewrite update_list_inc_length.
+ destruct H as [H].
unbool_comparisons.
destruct v. simpl (projT1 _). rewrite e.
- omega.
+ lia.
Qed.
Program Definition vec_update_inc {T n} (v : vec T n) m t `{ArithFact (0 <=? m <? n)} : vec T n := existT _ (update_list_inc (projT1 v) m t) _.
@@ -2765,7 +2755,7 @@ rewrite update_list_inc_length.
+ destruct H.
unbool_comparisons.
destruct v. simpl (projT1 _). rewrite e.
- omega.
+ auto.
Qed.
Program Definition vec_map {S T} (f : S -> T) {n} (v : vec S n) : vec T n := existT _ (List.map f (projT1 v)) _.
@@ -2840,7 +2830,7 @@ refine (existT _ (shl_int x y) _).
destruct HE as [HE].
destruct HR as [HR].
unbool_comparisons.
-assert (y = 0 \/ y = 1 \/ y = 2 \/ y = 3) by omega.
+assert (y = 0 \/ y = 1 \/ y = 2 \/ y = 3) by lia.
constructor.
intuition (subst; compute; auto).
Defined.
@@ -2850,7 +2840,7 @@ refine (existT _ (shl_int x y) _).
destruct HE as [HE].
destruct HR as [HR].
unbool_comparisons.
-assert (y = 0 \/ y = 1 \/ y = 2 \/ y = 3) by omega.
+assert (y = 0 \/ y = 1 \/ y = 2 \/ y = 3) by lia.
constructor.
intuition (subst; compute; auto).
Defined.
@@ -2890,7 +2880,7 @@ Lemma shl_8_ge_0 {n} : shl_int 8 n >= 0.
unfold shl_int.
apply Z.le_ge.
apply <- Z.shiftl_nonneg.
-omega.
+lia.
Qed.
Hint Resolve shl_8_ge_0 : sail.
@@ -2899,6 +2889,6 @@ Hint Resolve shl_8_ge_0 : sail.
Lemma sail_lt_ge (x y : Z) :
x < y <-> y >= x +1.
-omega.
+lia.
Qed.
Hint Resolve sail_lt_ge : sail.
diff --git a/prover_snapshots/coq/lib/sail/_CoqProject b/prover_snapshots/coq/lib/sail/_CoqProject
index bef6a4d..fbefc69 100644
--- a/prover_snapshots/coq/lib/sail/_CoqProject
+++ b/prover_snapshots/coq/lib/sail/_CoqProject
@@ -1 +1,2 @@
-Q . Sail
+-Q ../../../bbv/theories bbv